Modify keyboard

Aus Wiki
Zur Navigation springen Zur Suche springen

Manual way, remains until reboot

First, export your keyboard configurations to a file:

 $ xkbcomp -xkb $DISPLAY xkbmap

Modify file xkbmap.

Save and reload keyboard configurations:

 $ xkbcomp -w 0 xkbmap $DISPLAY

So far no root access is required.

For automatic loading at login? [NOT WORKING?]

 $ cp /etc/X11/xinit/xinitrc .xinitrc
 $ chmod 755 .xinitrc

Add the following to .xinitrc

 # CB
 test -f ~/bin/xkbmap && xkbcomp -w 0 ~/bin/xkbmap $DISPLAY
 # Disable 'popup'-key
 xmodmap -e 'keycode 135='

Save compiled keymap to file

 $ xkbcomp -w 0 xkbmap -o xkbmap.xkm

Disable particular key

 $ xmodmap -e 'keycode 135='
 This example disables key with keycode 135. For determining keycode use `xev -event keyboard`.

Links

Example modification

type="FOUR_LEVEL_SEMIALPHABETIC" ensures that AltGR+key works even if ShiftLock is active.

   key <AD02> {
       type= "FOUR_LEVEL_SEMIALPHABETIC",
       symbols[Group1]= [               w,               W,         asciitilde,         Lstroke ]
   };
   ...
   key <AC01> {
       type= "FOUR_LEVEL_SEMIALPHABETIC",
       symbols[Group1]= [               a,               A,           braceleft,              AE ]
   };
   key <AC02> {
       type= "FOUR_LEVEL_SEMIALPHABETIC",
       symbols[Group1]= [               s,               S,           bracketleft,           U1E9E ]
   };
   key <AC03> {
       type= "FOUR_LEVEL_SEMIALPHABETIC",
       symbols[Group1]= [               d,               D,           bracketright,             ETH ]
   };
   key <AC04> {
       type= "FOUR_LEVEL_SEMIALPHABETIC",
       symbols[Group1]= [               f,               F,           braceright,     ordfeminine ]
   };
   key <AC05> {
       type= "FOUR_LEVEL_SEMIALPHABETIC",
       symbols[Group1]= [               g,               G,           backslash,             ENG ]
   };