How do I map key "Super" so, when combined with Left/Right, it produces keycode Home/End?
My current setxkbmap:
setxkbmap \ -model pc105 \ -layout 'us(dvorak-intl),us(alt-intl)' \ -option \ -option grp:lctrl_lshift_toggle \ -option compose:rwin
You can't do it with just a setkxbmap option, as no default option does what you want.
But you can do it by defining key behaviour at a lower level.
The page http://madduck.net/docs/extending-xkb/ helped me to understand and find a way to do it.
Create a file ~/.xkb/keymap/mykbd where you put the output of setxkbmap, it will be your base keyboard definition; eg:
then we will create a ~/.xkb/types/mytypes and ~/.xkb/symbols/mysymbols files. in the mytypes one put the following:
it defines a type SUPER_LEVEL2 that will allow to easily define symbols sent when a key is pressed with Super.
then, in the mysybols put the following lines:
(note the use of the "SUPER_LEVEL2 type we defined, it means that the second (level 2) symbol on the symbols line is triggered when pressing Super key (instead of Shift key).
now, edit the ~/.xkb/keymap/mykbd file to load the snippets we wrote; in the xkb_types line add "+mytypes(super_level2)", and change the xkb_symbols line to add "+mysymbols(super_arrows_home_end)"
finally, you can load it with
Now, test your left/right keys, they should work as you wanted. Enjoy.