[Follow-up] Xmodmap and GNOME FC3

Malcolm Cowe malk at bruhaha.co.uk
Fri Dec 10 22:42:34 UTC 2004


I've finally managed to sit down and spend a little time with XKB in
order to wean myself off Xmodmap and get control of my keyboard back
under GNOME.

Since I have been reading elsewhere that other people have had issues
with Xmodmap and GNOME interoperability and since I have previously
posted about this on fedora-list, I thought I'd write a quick note on
the, let's call it technique, I employed. It's actually quite similar to
the method I originally used to set up my Xmodmap file.

Launch xev from a terminal window. While the xev target window
has focus, I press all of the keys which need to be configured. The
output is quite verbose. The following example is for the eject key on a
UK Macintosh keyboard:

KeyPress event, serial 25, synthetic NO, window 0x3000001,
     root 0x8d, subw 0x0, time 3056554, (-600,696), root:(492,745),
     state 0x0, keycode 204 (keysym 0x0, NoSymbol), same_screen YES,
     XLookupString gives 0 bytes:
     XmbLookupString gives 0 bytes:
     XFilterEvent returns: False

KeyRelease event, serial 25, synthetic NO, window 0x3000001,
     root 0x8d, subw 0x0, time 3056554, (-600,696), root:(492,745),
     state 0x0, keycode 204 (keysym 0x0, NoSymbol), same_screen YES,
     XLookupString gives 0 bytes:

Take a note of the keycode (204 in this example). What I did next was to
look up this keycode in /usr/X11R6/lib/X11/xkb/keycodes/xfree86, which
returned the following entry:

xfree86:    <K6C> =   204;              // <I4C>

Finally, I added this entry into the symbols file for my keyboard. For a
UK Macintosh keyboard, the file is:

/usr/X11R6/lib/X11/xkb/symbols/macintosh

Within the section xkb_symbols "basic", add the following:

     key <K6C>  {        [ XF86Eject                     ]       };

Repeat the process for all other keys.

I also added in the following line to this section:

     include "srvr_ctrl(xfree86)"

This is necessary in order to be able to switch to a virtual console from X.

There are a couple of gotchas:

1. <KPEQ> does not match the UK Macintosh keypad equals sign. I had to
use <K59>. Similarly, the ~` key at the bottom left was matched against
<LSGT>.

2. I still cannot select a thread in thunderbird with shift-control-a, 
even under the failsafe session.

3. Under GNOME, I cannot assign a shortcut key to "Log Out". That is to 
say, I can make the assignment using the "Preferences->Keyboard 
Shortcuts" dialog, but when I try to use the key nothing happens. 
Assigning the same key to a different shortcut works though. Guess I'll 
just have to stick with control-alt-delete.


Regards,

Malcolm.




More information about the fedora-list mailing list