setkeycodes Command in Linux with Examples

This tutorial explains Linux “setkeycodes” command, options and its usage with examples.

setkeycodes – load kernel scancode-to-keycode mapping table entries

DESCRIPTION

The setkeycodes command reads its arguments two at a time, each pair of arguments consisting of a scancode (given in hexadecimal) and a keycode (given in decimal). For each such pair, it tells the kernel keyboard driver to map the specified scancode to the specified keycode.

This command is useful only for people with slightly unusual keyboards, that have a few keys which produce scancodes that the kernel does not recognize.

SYNOPSIS

advertisement
advertisement

setkeycodes scancode keycode

THEORY

The usual PC keyboard produces a series of scancodes for each key press and key release. (Scancodes are shown by showkey -s command.) The kernel parses this stream of scancodes, and converts it to a stream of keycodes (key press/release events). (Keycodes are shown by showkey.) Apart from a few scancodes with special meaning, and apart from the sequence produced by the Pause key, and apart from shiftstate related scancodes, and apart from the key up/down bit, the stream of scancodes consists of unescaped scancodes xx (7 bits) and escaped scancodes e0 xx (8+7 bits). It is hardwired in the current kernel that in the range 1-88 (0x01-0x58) keycode equals scancode. For the remaining scancodes (0x59-0x7f) or scancode pairs (0xe0 0x00 – 0xe0 0x7f) a corresponding keycode can be assigned (in the range 1-127).

Sanfoundry Certification Contest of the Month is Live. 100+ Subjects. Participate Now!

EXAMPLE

If you have a Macro key that produces e0 6f according to showkey, the command

# setkeycodes e06f 112

will assign the keycode 112 to it, and then loadkeys can be used to define the function of this key.

advertisement

Sanfoundry Global Education & Learning Series – 1000 Linux Tutorials.

If you wish to look at all Linux commands and their usage examples, go to Linux Commands Tutorial.

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.