~ft/kbfind

Finds a correct /dev/kbmap entry for a non-working key in 9front

refs

mustard
browse  log 

clone

read-only
https://git.sr.ht/~ft/kbfind
read/write
git@git.sr.ht:~ft/kbfind

You can also use your local clone with git send-email.

#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.