5

My laptop came with a PrintScreen key (on the right hand side of KB between to the Alt_R and Control_R). In Xorg, I've been using xmodmap to swap the printscreen with a menu key:

/usr/bin/xmodmap -e "keycode 107 = Menu"

Problem is that xmodmap, xdotool and anything else that relies on intercepting and injecting keystrokes doesn't work anymore on Wayland due to security restrictions. gnome-tweak-tool had (out of the box) a few nifty xkb based modifications that allowed swapping out some specific keys (like capslock with escape) but it didn't have the modification I was looking for.

I was wondering if there was a way of swapping the printscr for a menu key by modifying the keyboard layout files? Are they text files or are they binary files that I'd have to re-compile?

There's setkeycodes and getkeycodes in /usr/bin, does anyone know what these commands do?

1 Answer 1

3

Yes, it's possible to modify XKB files. I'd guess that the bottom of the /usr/share/X11/xkb/symbols/altwin file may give you a hint for your case - unless the XKB option altwin:prtsc_rwin does what you want.

Additional Info

In terminal, enter:

sudo su
nano /usr/share/X11/xkb/symbols/altwin

At the bottom of the file you will find:

// Win is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
    replace key <PRSC> { [ Super_R, Super_R ] };
    modifier_map Mod4 { <PRSC>, <RWIN> };
};

Delete this section and replace it with this:

// Menu is mapped to the PrtSc key (and the usual Win key).
partial modifier_keys
xkb_symbols "prtsc_rwin" {
     replace key <PRSC> { [ Menu, Menu ] };
     modifier_map Mod4 { <PRSC>, <MENU> };
};

To delete in nano, use backspace key (highlighting and deleting doesn't work). To paste, use shift-ctrl-v. To exit and save, press ctrl-x, select yes to overwrite and press enter.

Reboot. In Gnome/Ubuntu Go to gnome-tweak-tools In tweak tools go to Keyboard & Mouse section, press the Additional Layout Options button and expand Alt/Win key behavior. Selecting the option on the very bottom: Win is mapped to printscr (remember that we've modified just this behavior to swap print and Menu instead of print and Win). (I'm sure there is a way of turning on the modded xkb option in KDE but I don't use it, so I can't give you the exact procedure).

2
  • 2
    @thebunnyrules be aware this edit is to a system file, and will be overwritten by updates of the xkb-data package. keep a backup handy!
    – quixotic
    Jan 4, 2018 at 7:57
  • @quixotic: Thanks for mentioning that. Because many users edit files belonging to xkb-data, we avoid to update that package in stable releases. But in connection with upgrades to a newer Ubuntu release you need to redo it more often than not. Jan 4, 2018 at 14:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .