Skip to content
This repository has been archived by the owner on Dec 30, 2021. It is now read-only.

How it works

ivanjermakov edited this page Sep 13, 2020 · 3 revisions

How it works

KBMAP uses evdev - a Linux input event interface. There is python binding for evdev library: python-evdev.

Algorithm:

  1. Find a target device by name (specified with DEVICE_NAME argument)
  2. Create new uinput device (kind of a virtual input device) with specified name (--name option)
  3. Grab target device (so only KBMAP process receive input events)
  4. Listen for key events from target device
  5. Perform remapping based on config file (specified with CONFIG_PATH argument)
  6. Dispatch events through created uinput device

More about mapping algorithm and KBMAP in Hacking section.

Clone this wiki locally