home of the madduck/ docs/ extending-xkb/
discussion

Meta: have you considered a comments plugin for ikiwiki? There exists one somewhere, I've seen someone using it.

Yes. I simply don't have the time. Anyway, I found IkiWiki not to scale to my needs, so I will be looking elsewhere (Django) once I do find the time.

I'm a bit curious about the VoidSymbol. Traditionally, I believe, the key associated with Mod4 has the Super_L (or Super_R) keysym assigned to it. I don't think any apps actually use that keysym, so maybe it's just pointless tradition. Although other modifiers (such as Ctrl, Alt or Shift) do have keysyms assigned.

I've added a note about this to the main text.

Regarding xev: it does show you the state of the modifiers, as a set of bits in hex. You'll see "state 0x40" for all events while Mod4 is down, excluding the initial KeyPress.

Unfortunately, I cannot verify that. I press e.g. caps lock, which generates mod4, and yet:

KeyPress event, serial 26, synthetic NO, window 0x1e00001,
    root 0x9a, subw 0x0, time 209384505, (144,90), root:(145,91),
    state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

I meant exactly this when I said "excluding the initial KeyPress". Look at the KeyRelease event, or press any other key while holding down Mod4, and then look at the state field. You should see 0x50 --- 0x40 for Mod4 + 0x10 for NumLock that I see in the above.

Excellent, now I understand. Thanks!

-- Marius Gedminas (marius@gedmin.as)