Skip to content
choco-technologiesPublic

About

inputd service for handling input devices

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

dminput

License CI

Where the inputs of the system come together.

driver --(node)--> inputd (one per device) --> libinput --> reader (dmview, ...)
Module What it is
libinput The library: devices, the translation of keys into characters (a keymap), one queue of all the events for every reader.
inputd The service, one instance per input device, started by a libsystemd rule for the input class dmdevfs reports. It is the thread of its device: it calls libinput_run() with the path of the node, and libinput does the rest.

A driver reports raw events (which key went down or up, the state of a touch panel) and nothing of what they mean. libinput interprets them and mixes the devices into one stream; a reader only asks for events and gets each with its source (touch, keyboard, buttons, mouse).

See docs/libinput.md for the API and the rules of the queues, docs/keymap.md for the layouts of keyboards (one per kind of keyboard, named by its driver) and the languages.

Not here yet

  • Touch is passed through as the state the driver gives (LIBINPUT_EVENT_STATE): how it is turned into events is still to be decided.
  • Auto-repeat of a held key.
  • Gestures are not recognised here: touch is passed through as the raw state, dmview turns it into scrolling and taps. Mouse acceleration.

About

inputd service for handling input devices

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages