madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

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.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

use xmodmap for now
authormartin f. krafft <madduck@madduck.net>
Sun, 29 Jun 2008 16:07:21 +0000 (18:07 +0200)
committermartin f. krafft <madduck@madduck.net>
Sun, 29 Jun 2008 16:07:21 +0000 (18:07 +0200)
.xmodmap [new file with mode: 0644]
.xsession.d/01-xkb
.xsession.d/01-xmodmap [new file with mode: 0644]

diff --git a/.xmodmap b/.xmodmap
new file mode 100644 (file)
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
index 557ee0b..7ff8667 100644 (file)
@@ -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 (file)
index 0000000..7c258ca
--- /dev/null
@@ -0,0 +1,2 @@
+# load the xmodmap
+xmodmap $HOME/.xmodmap