Using keytouch with multiple sessions and XGL

Help
2008-05-03
2013-04-17
  • Kevin Milburn
    Kevin Milburn
    2008-05-03

    Keytouch does a great job of getting multimedia keys to work, but there are limitations with multiple sessions and XGL.

    To get around this, and also allow the keys to work directly in the desktop environments, there are two steps that need to be taken.

    Firstly, one you've got the keyboard working, stop keytouchd, and prevent it from loading by modifying (or removing) /etc/X11/xinit/xinitrc.d/92keytouchd_launch. 
    Note : using keytouch to modify the keyboard will restart keytouchd, and there is no need to assign actions in keytouch as they will not be used.

    Secondly, use xev to get the keycodes, and use xmodmap to load the appropriate mappings from keycode to XF86 symbols.

    E.g. add lines like the following to ~/.Xmodmap,  and call 'xmodmap ~/.Xmodmap' to load the mappings.
    keycode 220 = XF86ZoomIn
    keycode 204 = XF86Eject

    see http://gentoo-wiki.com/HOWTO_Use_Multimedia_Keys#Setting_up_xmodmap for more info

    Once this has been done, the keys should be recognized by X, and are usable by KDE, etc.  In KDE, use the Menu editor, or control center (regional & accessibility -> Input Actions or Keyboard Shortcuts) to assign the keys to someting  useful,  XMMS, Amarok, etc should also recognise the keys.

    For the more adventurous, it is also possible to get the keytouch working using the xkb system  (I can elaborate if desired)