Bug 11908 - Adjust keyboard layout to fit the one in IBM/Lenovo Thinkpad T60
Summary: Adjust keyboard layout to fit the one in IBM/Lenovo Thinkpad T60
Status: RESOLVED FIXED
Alias: None
Product: xkeyboard-config
Classification: Unclassified
Component: General (show other bugs)
Version: unspecified
Hardware: All All
: medium normal
Assignee: xkb
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 28874 28875
  Show dependency treegraph
 
Reported: 2007-08-08 20:10 UTC by Piter PUNK
Modified: 2010-07-01 14:21 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
Includes ABNT2 Thinkpad variant (936 bytes, patch)
2007-08-08 20:14 UTC, Piter PUNK
Details | Splinter Review

Description Piter PUNK 2007-08-08 20:10:53 UTC
ABNT2 keyboards have one extra key. That key is mapped to "slash question". Many notebook makers doesn't put the extra key in the right place; some put slash in AltGr+q (and question in AltGr+w). IBM/Lenovo print "slash question" in the right control key. The key itselfs send the right control code, but is with "slash question" engraved on top.

The patch i will send fix that, creating a new variant under "br" layout, named "thinkpad".
Comment 1 Piter PUNK 2007-08-08 20:14:36 UTC
Created attachment 11051 [details] [review]
Includes ABNT2 Thinkpad variant

This patch includes the "thinkpad" variant to "br" layout.
Only one key is changed.
Comment 2 Sergey V. Udaltsov 2007-08-09 08:18:49 UTC
Sorry. I am a bit confused. How happend that RCTL is used for usual characters? Do you have a picture displaying engraving on that keyboard?

Also, would it make sense to add the rule like "if the layout is Brazillian and the model is Thinkpad, use br(thinkpad) by default"?
Comment 3 Piter PUNK 2007-08-09 18:59:35 UTC
(In reply to comment #2)
> Sorry. I am a bit confused. How happend that RCTL is used for usual 
> characters?
> Do you have a picture displaying engraving on that keyboard?

I am not with the thinkpad with me now. The engraving is "/ ?" (slash 
question degree). How happened RCTL to be used for usual caracteres?
well... i think some manager at IBM/Lenovo thinks one extra key is very
expensive. Something like:

MANAGER1: "Damn! ABNT2 keyboard needs an extra-key! What i do now?"
MANAGER2: "Hey! This keyboard have two controls! Who need both?"
MANAGER1: "Great idea! We can use that second control to be the extra key" 

> Also, would it make sense to add the rule like "if the layout is Brazillian 
> and
> the model is Thinkpad, use br(thinkpad) by default"?

Yes. this is the correct. ABNT2+thinkpad=br(thinkpad)
More questions? -;)

Comment 4 Sergey V. Udaltsov 2007-08-10 02:07:46 UTC
Ok. Kind of strange, but that's life. Committed, thanks.
Comment 5 Simos Xenitellis 2010-07-01 11:06:36 UTC
Sergey, the committed patch needs the following update,

diff --git a/symbols/br b/symbols/br
index 75ec082..8e06eac 100644
--- a/symbols/br
+++ b/symbols/br
@@ -72,7 +72,7 @@ partial alphanumeric_keys
 xkb_symbols "thinkpad" {
 
     include "br(abnt2)" // for consistent naming
-    name[Group1]="Brazil";
+    name[Group1]="Brazil - Thinkpad";
 
     key <RCTL> { [     slash,   question,       degree, questiondown ] };
 };

Without the name 'Brazil - Thinkpad', the entry does not appear in the Keyboard settings, and users end up having to configure the layout with either gconf or through xorg.conf.

See also
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-keyboard/+bug/359719
Comment 6 Sergey V. Udaltsov 2010-07-01 11:43:52 UTC
The fix is incorrect. The name in symbols/br does not affect layout configuration tools - it is base.xml.in that is used. But I do not want to have it there, I'll tell you why. If user chooses one of thinkpad xkb models, the default layout should automatically become br(thinkpad). That's the way rules should work.

setxkbmap -model thinkpad -layout br -print -option ''
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete"	};
	xkb_symbols   { include "pc+br(thinkpad)+inet(evdev)"	};
	xkb_geometry  { include "thinkpad(intl)"	};
};


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.