hidquirk
— HID
quirks module
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):
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.
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 matching BusId
and
VendorId
and ProductId
which have a hardware revision between and including
LowRevision
and
HighRevision
.
BusId
,
VendorId
, ProductId
,
LowRevision
and
HighRevision
are all 16 bits numbers which can
be decimal or hexadecimal based.
A maximum of 100 variables hw.hid.quirk.0,
.1, ..., .99
can 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.N
variables starting at
N = 0
and stops at N =
99
or the first non-existing one.
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"
The hidquirk
module appeared in
FreeBSD 13.0.