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

Your email address will not be published. Required fields are marked *

Your post must include a link to this post.

How does this work?
Write a response on your own website and include a link to this post. Then submit your response’s URL here. Your response may appear here after moderation. To update or remove it, edit or delete your original post and submit the same URL again. Learn more about Webmentions.