How to disable keys from the keyboard?

I have a laptop with a full keyboard (it has numpad), but the laptop is not that big, and because of that the keys are relatively small, which means I am constantly finding myself pressing keys accidentally on the numpad part.

Is there a way to disable specific keys that I simply don't want?


Solution 1:

I have the Menu key very close to the Ctrl and left-arrow keys.

xmodmap -e 'keycode 135 = 0x0000' 

To get a first impression what keycodes are mapped to which keys, just type:

xmodmap -pke

which gives you a list of all mappings. For example, the line

keycode  57 = n N

means that the keycode 57 is mapped to a lowercase "n" if no extra key is pressed, and an uppercase "N" if Shift is held.

Some references to get around with things.

  1. xev will let you identify the keycode for your key of interest.
    Look at its man page, This is a good quick reference too,
    Mediakeys with .Xmodmap HOWTO
  2. ArchWiki has a good description for xmodmap

Solution 2:

Example to disable/enable backspace:

# Disable
$ xmodmap -e 'keycode 22 = '

# Enable
$ xmodmap -e 'keycode 22 = BackSpace'

where 22 needs to be replaced by the output of xev while pressing backspace.