All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
2 ! don't make anything but Control_[LR] generate control
4 add Control = Control_L
6 !add Control = Control_R
13 ! we kill caps lock once and for all and make it generate mod5
16 keycode 0x42 = Caps_Lock
21 ! now for what had me so long baffled. any keycode can generate eight keysyms,
22 ! but only the first four are used. and the way to index into them is by using
23 ! Shift and Mode_switch. my keyboard had no Mode_switch, so I am using that
27 ! now we assign the Mode_switch keysym to both Windoze keys
28 keycode 0x73 = Mode_switch
29 keycode 0x74 = Mode_switch
31 keycode 0x71 = Mode_switch
33 ! ... and tell the Mode_switch keysym to generate the mod4 modifier.
35 add Mod5 = Mode_switch
37 ! assign Super_R to the Menu key
38 keycode 0x75 = Super_R
39 !right control on lapse
40 keycode 0x6d = Super_R
42 ! ... and make it generate the mod3 modifier
47 ! and now all we need to do is add what we would like to the keys.
48 ! if this approach doesn't work, you'll need to go via keycodes, e.g.:
50 ! keycode 0x26 = a A adiaeresis Adiaeresis
52 ! however, you'll have to check which keycode is generated by which keypress.
53 ! use xev(1) for that.
55 keysym backslash = backslash bar aring Aring
56 keysym bracketleft = bracketleft braceleft ae AE
57 keysym bracketright = bracketright braceright oslash Ooblique
58 keysym comma = comma less cedilla guillemotleft
59 keysym equal = equal plus approximate plusminus
60 keysym grave = grave asciitilde degree infinity
61 keysym minus = minus underscore division notsign
62 keysym period = period greater ellipsis guillemotright
63 keysym slash = slash question exclamdown questiondown
64 keysym apostrophe = apostrophe quotedbl apostrophe quotedbl
65 keysym semicolon = semicolon colon semicolon colon
66 keysym 0 = 0 parenright oacute Oacute
67 keysym 1 = 1 exclam onesuperior onequarter
68 keysym 2 = 2 at twosuperior onehalf
69 keysym 3 = 3 numbersign threesuperior threequarters
70 keysym 4 = 4 dollar eacute Eacute
71 keysym 5 = 5 percent EuroSign cent
72 keysym 6 = 6 asciicircum copyright registered
73 keysym 7 = 7 ampersand yacute Yacute
74 keysym 8 = 8 asterisk uacute Uacute
75 keysym 9 = 9 parenleft iacute Iacute
76 keysym a = a A adiaeresis Adiaeresis
77 keysym b = b B otilde Otilde
78 keysym c = c C ccedilla Ccedilla
79 keysym d = d D egrave Egrave
80 keysym e = e E ediaeresis Ediaeresis
81 keysym f = f F eth Eth
82 keysym g = g G thorn Thorn
83 keysym h = h H ucircumflex Ucircumflex
84 keysym i = i I idiaeresis Idiaeresis
85 keysym j = j J ugrave Ugrave
86 keysym k = k K igrave Igrave
87 keysym l = l L ograve Ograve
89 keysym n = n N ntilde Ntilde
90 keysym o = o O odiaeresis Odiaeresis
91 keysym p = p P ocircumflex Ocircumflex
92 keysym q = q Q acircumflex Acircumflex
93 keysym r = r R ecircumflex Ecircumflex
94 keysym s = s S ssharp section
95 keysym t = t T icircumflex Icircumflex
96 keysym u = u U udiaeresis Udiaeresis
97 keysym v = v V atilde Atilde
98 keysym w = w W aacute Aacute
99 keysym x = x X multiply multiply
100 keysym y = y Y ydiaeresis ydiaeresis
101 keysym z = z Z agrave Agrave
104 ! http://www.thinkwiki.org/wiki/Installing_OpenSUSE_10.0_on_a_ThinkPad_X41#Numlock_and_Browse_keys
105 keycode 77 = Num_Lock
106 keycode 233 = XF86Forward
107 keycode 234 = XF86Back
110 keycode 159 = XF86Excel