hidquirk4
Hid quirks module
Usage
To compile this module into the kernel, place the following line in your kernel configuration file:
device hid
Alternatively, to load the module at boot time, place the following line in loader.conf(5):
hidquirk_load="YES"
Overview
The hidquirk module provides support for adding quirks for HID devices
- HQ_HID_IGNORE
-
device should be ignored by hid class
- HQ_KBD_BOOTPROTO
-
device should set the boot protocol
- HQ_MS_BOOTPROTO
-
device should set the boot protocol
- HQ_MS_BAD_CLASS
-
doesn't identify properly
- HQ_MS_LEADING_BYTE
-
mouse sends an unknown leading byte
- HQ_MS_REVZ
-
mouse has Z-axis reversed
- HQ_MS_VENDOR_BTN
-
mouse has buttons in vendor usage page
- HQ_SPUR_BUT_UP
-
spurious mouse button up events
- HQ_MT_TIMESTAMP
-
Multitouch device exports HW timestamps 0x1b5a01
See /sys/dev/hid/hidquirk.h for the complete list of supported quirks.
Loader tunable
The following tunable can be set at the loader(8) prompt before booting the kernel, or stored in loader.conf(5).
- hw.hid.quirk.%d
-
The value is a string whose format is:
"BusId VendorId ProductId LowRevision HighRevision HQ_QUIRK,..."
Installs the quirks
HQ_QUIRK,...for all HID devices matchingBusIdandVendorIdandProductIdwhich have a hardware revision between and includingLowRevisionandHighRevision.BusId,VendorId,ProductId,LowRevisionandHighRevisionare all 16 bits numbers which can be decimal or hexadecimal based.A maximum of 100 variables
hw.hid.quirk.0,.1,...,.99can be defined.If a matching entry is found in the kernel's internal quirks table, it is replaced by the new definition.
Else a new entry is created given that the quirk table is not full.
The kernel iterates over the
hw.hid.quirk.Nvariables starting at N =0and stops at N =99or the first non-existing one.
Examples
To install a quirk at boot time, place one or several lines like the following in loader.conf(5):
hw.hid.quirk.0="0x18 0x6cb 0x1941 0 0xffff HQ_MT_TIMESTAMP"
Releases
15 releases since FreeBSD 13.0-RELEASE; the text changed 2 times.