shithub: evdump

ref: 4aab52143cce6e8105b4fd50311b21628c61cb3f
dir: /README.md/

View raw version
# aux/kbfind

Finds the correct `/dev/kbmap` entry for a non-working key on your
keyboard, in 9front.

## Process

1) after installing (`mk install`) run `aux/kbfind`.
2) press the non-working key _once_
3) press any other _working_ key _once_ (or Delete to exit)
4) go to step 2

If the key was not mapped before and is producing scancodes,
eventually the program will print out the needed entry that needs to
be put into `/dev/kbmap` for the key to work.  Replace the last `0` of
that entry to whichever Rune you want your key to produce, converted
to a number, see `/sys/include/keyboard.h` for some of the existing
"special" keys.

## How does this work

Unmapped entries in `/dev/kbmap` have the Rune (third number) set to
0.  `aux/kbfind` sets those entries to a custom Rune and awaits for
key presses to be available on `/dev/kbd`.  If the custom Rune was
found the entries currently enabled are cut into half to see whether
the key would still produce the rune.  If not, the other half is
enabled instead and the process is repeated, cutting the number of
keys to test in half every time.