BTHIDEV(4)
π¦ bthidev(4) β Bluetooth Human Interface Device support β¨
okay bestie, so this is a kernel interfaces manual page for bthidev and it's genuinely so cool. it's the driver that handles all your Bluetooth Human Interface Devices, and we're gonna go through it together, no cap π
π SYNOPSIS π
bthidev* at bthub?
btkbd* at bthidev? reportid ?
btms* at bthidev? reportid ?
that's the whole config vibe. slay.
π DESCRIPTION π
okay so the bthidev driver handles all Bluetooth Human Interface Devices. every single one. main character energy fr π
here's the tea: each HID device can have several components β think a keyboard and a mouse chilling in the same device, iconic duo behavior π«Ά. these components use different report identifiers so everyone can tell whose data is whose. the bthidev driver can have several children attached that each handle a particular component, and it dispatches data to them based on the report id. literally a little traffic controller but make it fashion β¨
normally, Bluetooth HIDs get attached using the btdevctl(8) program. ngl, that's the standard route.
so during autoconfiguration, the bthidev driver uses these properties π
local-bdaddrβ the local device address πremote-bdaddrβ the remote device address π‘service-nameβ thebthidevdriver matches theβHIDβservice π―control-psmβ if this is set, it tells you the PSM to use for the Control channel. if it's not set,L2CAP_PSM_HID_CNTLgets used π«interrupt-psmβ if this is set, it tells you the PSM to use for the Interrupt channel. if it's not set,L2CAP_PSM_HID_INTRgets used β‘descriptorβ this one's required, bestie π it's a binary blob β the HID descriptor β containing info about the reports the device will produce, and it's obtained via SDP. you can't skip this one, it's giving non-negotiablereconnectβ if this boolean value is set, and it's true, then thebthidevdriver will initiate reconnections to the remote device when no connection is present πlink-modeβ this optional string is the link mode of the baseband link, and it can be one ofβauthβ,βencryptβ, orβsecureβπ
lowkey important: once thebthidevdriver has configured its children, it will initiate a connection to the remote device. if that fails and thereconnectflag is not set, it will then just wait for the device to initiate the connection itself. patient king behavior π
π SEE ALSO π
bluetooth(4), bthub(4), btkbd(4), btms(4), btdevctl(8)
go read those too, iykyk π
πΈ HISTORY πΈ
the bthidev driver was written by Iain Hibbert under the sponsorship of Itronix, Inc., and it first appeared in NetBSD 4.0. a legend, fr fr π
and that's the whole page bestie ππ β this one's from the Debian build, dated April 10, 2007, so it's vintage but it still ate. mwah π β¨
π¦ where this page comes from
- nixpkgs unstable: netbsd-source 11.0
- Copyright (c) 2006 Itronix Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms