xkb "action" keys on keyboard level 3

wettstein509 at solnet.ch wettstein509 at solnet.ch
Wed Feb 8 12:14:42 PST 2012


> GTK+ programs: I can use the remapped arrow keys by pressing Caps and
> use them normally, but when I try to
> select text by pressing (for example) Caps+Shift+J it will just move
> the cursor as if the Shift key wasn't pressed

This is actually correct behaviour.  The reason is that your J key uses
shift to select levels, and the XKB key type you use does not "preserve"
Shift.  In this case, Shift is "consumed", and should not be considered
except for level selection.  But most programms ignore this XKB finesse.

You might find inspiration in the Neo layout (in xkeyboard-config, file
xkb/symbols/de), which also implements navigation keys on a higher level
in the main keyboard area.

However, problems with various programs persist, even for Neo; it is
incredible into how much trouble a slightly unusual keyboard layout can
get you.  My recommendation would be to implement your navigation keys
not on a higher level, but as an XKB overlay, or maybe (more
complicated, but more flexible) with XKB redirect actions.  Both ways,
the idea is to tell applications that you actually pressed the physical
navigation keys, rather than the keys you actually did press.  I tried
both approaches, but my implementations are not exactly didactic (see
https://sites.google.com/site/ausderneowelt/AdNW.sh.gz if you are still
interested and understand some German).  Maybe it is better read a bit
about these topics on Ivan Pascal's XKB page: http://pascal.tsu.ru/en/xkb/

Andreas





More information about the xorg mailing list