linkDocumentation


linkDebugging


linkLicense


linkConfig options

Beget by gnome I believe?

Ubuntu: pointer speed, natural scrolling, two finger scrolling, edge scrolling, tap to click

Find settings in /usr/share/X11/xorg.conf.d/ or /etc/X11/xorg.conf.d/


linkWhat is the driver responsible for in Linux?

All the stuff touchpad.c does, and

Graphical interface to modify options

Mechanism: uncertain. Does it just insert events into an output stream? Or does it translate events to some other format?


linkProject structure

libinput.c: 4000 lines. 😱 Seen considerably less action than quirks.c over the past year.

evdev.c: 3000 lines. Moderate activity. Commit messages reminiscent of quirks (e.g., device-specific)

quirks.c: 1500 lines. Reasonably active file, with shared purpose not very clear, but possibly to implement one-off features for certain input devices?

Less than 1000: evdev-debounce.c, libinput-util.c, evdev-middle-button.c,

Less than 500: timer.c, path-seat.c, filter-tablet.c,


linkEvdev

Seems used to connect kernel to libinput


linkevdev-mt-touchpad.c sez:

Touchpad.c (3500 lines, of which ~1200 were skimmed to compile these lists) as implemented by by libinput implies the scope as:

Detect "fake finger" presses, palm detection

Decide when a touch is ended/started

Abstract away cursor jitter (tp_detect_wobbling)

Process "finger sets", aka multitouch

Trackpoint triggering (i.e., two finger scrolling?)

tp_palm_detect_move_out_of_edge


Weird shit

tp_restore_synaptics_touches

tp_process_fake_touches

tp_unpin_finger

tp_palm_was_in_side_edge

tp_palm_tap_is_palm


Misc