• Home
Name Date Size #Lines LOC

..--

10-generic-keyboard.quirksD12-May-2024245 129

10-generic-lid.quirksD12-May-2024268 129

10-generic-trackball.quirksD12-May-2024110 64

30-vendor-aiptek.quirksD12-May-2024312 1512

30-vendor-alps.quirksD12-May-2024894 4337

30-vendor-contour.quirksD12-May-2024461 2420

30-vendor-cypress.quirksD12-May-2024272 129

30-vendor-elantech.quirksD12-May-2024250 129

30-vendor-ibm.quirksD12-May-20241.1 KiB4839

30-vendor-kensington.quirksD12-May-2024193 87

30-vendor-logitech.quirksD12-May-20241.9 KiB9783

30-vendor-madcatz.quirksD12-May-20241.9 KiB4138

30-vendor-microsoft.quirksD12-May-2024522 1915

30-vendor-razer.quirksD12-May-2024447 2117

30-vendor-synaptics.quirksD12-May-2024194 97

30-vendor-trust.quirksD12-May-2024120 76

30-vendor-vmware.quirksD12-May-2024246 117

30-vendor-wacom.quirksD12-May-2024414 2218

50-system-acer.quirksD12-May-2024265 98

50-system-apple.quirksD12-May-20242.2 KiB9280

50-system-asus.quirksD12-May-2024976 2722

50-system-chicony.quirksD12-May-2024424 1815

50-system-cyborg.quirksD12-May-20241.5 KiB3230

50-system-dell.quirksD12-May-20241.9 KiB7662

50-system-google.quirksD12-May-20242.2 KiB9780

50-system-hp.quirksD12-May-20242.6 KiB7967

50-system-lenovo.quirksD12-May-20245.9 KiB194161

50-system-sony.quirksD12-May-2024247 96

50-system-system76.quirksD12-May-2024575 2217

50-system-toshiba.quirksD12-May-2024149 44

README.mdD12-May-20242.4 KiB7856

README.md

1= libinput data file format =
2
3This directory contains hardware quirks used by libinput to work around bugs
4in the hardware, device behavior and to supply information not obtained
5through the kernel device.
6
7**THIS IS NOT STABLE API**
8
9The data format may change at any time. If your data file is not part of the
10libinput git tree, do not expect it to work after an update. Absolutely no
11guarantees are made for backwards-compatibility.
12
13**THIS IS NOT A CONFIGURATION API**
14
15Use the `libinput_device_config_foo()` functions for device configuration.
16The quirks are hardware quirks only.
17
18== Data file naming ==
19
20Data files are read in versionsort order, read order determines how values
21override each other. A values read later override previously values. The
22current structure is 10-generic-foo.quirks for generic settings,
2330-vendor-foo.quirks for vendor-specific settings and 50-system-foo.quirks
24for system vendors. This is not a fixed naming scheme and may change at any
25time. It's an approximation only because some vendors are also system
26vendors, e.g. Microsoft makes devices and laptops.
27
28Laptop-specific quirks should always go into the laptop vendor's file.
29
30== Sections, matches and values ==
31
32A data file must contain at least one section, each section must have at
33least one `Match` tag and at least one of either `Attr` or `Model`. Section
34names are free-form and may contain spaces.
35
36```
37# This is a comment
38[Some touchpad]
39MatchBus=usb
40# No quotes around strings
41MatchName=*Synaptics Touchpad*
42AttrSizeHint=50x50
43ModelSynapticsTouchpad=1
44
45[Apple touchpad]
46MatchVendor=0x5AC
47MatchProduct=0x123
48ModelAppleTouchpad=1
49```
50
51Comments are lines starting with `#`.
52
53All `Model` tags take a value of either `1` or `0`.
54
55All `Attr` tag values are specific to that attribute.
56
57== Parser errors ==
58
59The following will cause parser errors and are considered invalid data
60files:
61
62* Whitespace at the beginning of the line
63* Sections without at least one `Match*` entry
64* Sections with the same `Match*` entry repeated
65* Sections without at least one of `Model*` or `Attr` entries
66* A `Model` tag with a value other than `1` or `0`
67* A string property with enclosing quotes
68
69== Debugging ==
70
71When modifying a data file, use the `libinput list-quirks` tool to
72verify the changes. The tool can be pointed at the data directory to
73analyse, use `--verbose` to get more info. For example:
74
75```
76libinput list-quirks --data-dir /path/to/git/repo/data/ --verbose /dev/input/event0
77```
78