From: martin f. krafft Date: Sun, 29 Jun 2008 16:07:21 +0000 (+0200) Subject: use xmodmap for now X-Git-Url: https://git.madduck.net/etc/xsession.git/commitdiff_plain/4c7068183f08a6d7153a6ac85bc9221deb49b449?hp=5cfa61ab264605b5449871c4374b189502d1862b use xmodmap for now --- diff --git a/.xmodmap b/.xmodmap new file mode 100644 index 0000000..c498a43 --- /dev/null +++ b/.xmodmap @@ -0,0 +1,108 @@ +! +! don't make anything but Control_[LR] generate control +clear Control +add Control = Control_L +!use for Mod3 on lapse +!add Control = Control_R + +clear Mod1 +add Mod1 = Alt_L +add Mod1 = Meta_L + +! +! we kill caps lock once and for all and make it generate mod5 +! +clear Lock +keycode 0x42 = Caps_Lock +clear Mod4 +add Mod4 = Caps_Lock + +! +! now for what had me so long baffled. any keycode can generate eight keysyms, +! but only the first four are used. and the way to index into them is by using +! Shift and Mode_switch. my keyboard had no Mode_switch, so I am using that +! bloody Windoze key: +! + +! now we assign the Mode_switch keysym to both Windoze keys +keycode 0x73 = Mode_switch +keycode 0x74 = Mode_switch +!right alt on lapse +keycode 0x71 = Mode_switch + +! ... and tell the Mode_switch keysym to generate the mod4 modifier. +clear Mod5 +add Mod5 = Mode_switch + +! assign Super_R to the Menu key +keycode 0x75 = Super_R +!right control on lapse +keycode 0x6d = Super_R + +! ... and make it generate the mod3 modifier +clear Mod3 +add Mod3 = Super_R + +! +! and now all we need to do is add what we would like to the keys. +! if this approach doesn't work, you'll need to go via keycodes, e.g.: +! +! keycode 0x26 = a A adiaeresis Adiaeresis +! +! however, you'll have to check which keycode is generated by which keypress. +! use xev(1) for that. +! +keysym backslash = backslash bar aring Aring +keysym bracketleft = bracketleft braceleft ae AE +keysym bracketright = bracketright braceright oslash Ooblique +keysym comma = comma less cedilla guillemotleft +keysym equal = equal plus plusminus plusminus +keysym grave = grave asciitilde degree degree +keysym minus = minus underscore division notsign +keysym period = period greater periodcentered guillemotright +keysym slash = slash question exclamdown questiondown +keysym 0 = 0 parenright oacute Oacute +keysym 1 = 1 exclam onesuperior onequarter +keysym 2 = 2 at twosuperior onehalf +keysym 3 = 3 numbersign threesuperior threequarters +keysym 4 = 4 dollar eacute Eacute +keysym 5 = 5 percent EuroSign cent +keysym 6 = 6 asciicircum copyright registered +keysym 7 = 7 ampersand yacute Yacute +keysym 8 = 8 asterisk uacute Uacute +keysym 9 = 9 parenleft iacute Iacute +keysym a = a A adiaeresis Adiaeresis +keysym b = b B otilde Otilde +keysym c = c C ccedilla Ccedilla +keysym d = d D egrave Egrave +keysym e = e E ediaeresis Ediaeresis +keysym f = f F eth Eth +keysym g = g G thorn Thorn +keysym h = h H ucircumflex Ucircumflex +keysym i = i I idiaeresis Idiaeresis +keysym j = j J ugrave Ugrave +keysym k = k K igrave Igrave +keysym l = l L ograve Ograve +keysym m = m M mu mu +keysym n = n N ntilde Ntilde +keysym o = o O odiaeresis Odiaeresis +keysym p = p P ocircumflex Ocircumflex +keysym q = q Q acircumflex Acircumflex +keysym r = r R ecircumflex Ecircumflex +keysym s = s S ssharp section +keysym t = t T icircumflex Icircumflex +keysym u = u U udiaeresis Udiaeresis +keysym v = v V atilde Atilde +keysym w = w W aacute Aacute +keysym x = x X multiply multiply +keysym y = y Y ydiaeresis ydiaeresis +keysym z = z Z agrave Agrave + +! Thinkpad stuff +! http://www.thinkwiki.org/wiki/Installing_OpenSUSE_10.0_on_a_ThinkPad_X41#Numlock_and_Browse_keys +keycode 77 = Num_Lock +keycode 233 = XF86Forward +keycode 234 = XF86Back + +! the AccessIBM key +keycode 159 = XF86Excel diff --git a/.xsession.d/01-xkb b/.xsession.d/01-xkb index 557ee0b..7ff8667 100644 --- a/.xsession.d/01-xkb +++ b/.xsession.d/01-xkb @@ -1,2 +1,5 @@ # load the keyboard definitions -xkbcomp $HOME/.xkb ${DISPLAY%%.*} +# DISABLED in favour of 01-xmodmap for now, until +# http://lists.freedesktop.org/archives/xorg/2008-June/036340.html +# is answered +#xkbcomp $HOME/.xkb ${DISPLAY%%.*} diff --git a/.xsession.d/01-xmodmap b/.xsession.d/01-xmodmap new file mode 100644 index 0000000..7c258ca --- /dev/null +++ b/.xsession.d/01-xmodmap @@ -0,0 +1,2 @@ +# load the xmodmap +xmodmap $HOME/.xmodmap