System wide key remapping in Ubuntu

By | 20 Jan 2017

On my hp Spectre x360, the Ins key is only reachable via the Fn key as in Fn+PrtScr.

So I wanted to swap both keys. System-wide – so not only in X (using xev).

I finally found this which suggested the following procedure:

  1. Dump the current keyboard layout:
    sudo dumpkeys > backup.kmap
  2. Check the keycodes you want to change (Ins = 110, PrtScr = 99):
    sudo showkey
    (When you’re done, wait 10 seconds for it to exit automatically.)
  3. Copy the dumped keyboard layout:
    cp backup.kmap ins-prt-swap.kmap
  4. Edit it to swap all occurrences of 99 to 110 and vice versa, e.g. change:
    keycode 99 = ...
    ...
    keycode 110 = Insert.....
    to
    keycode 110 = ...
    ...
    keycode 99 = Insert.....
  5. The suggested sudo setcon --save didn’t work for me, but Ubuntu loads the active keymap from the file /etc/console-setup/cached.kmap.gz. So I gzipped my ins-prt-swap.kmap and copied the resulting ins-prt-swap.kmap.gz to /etc/console-setup/cached.kmap.gz.

Leave a Reply