Bluetooth input devices
This article describes the setup of Bluetooth input devices, for example a bluetooth mouse, on a Linux system.
Installation
Kernel
Both Bluetooth and evdev support is necessary in the kernel. The following options are also required.
It is important to note that some hardware may require a special driver for the input device. Look under Special HID devices as necessary.
Device Drivers --->
[*] HID Devices --->
Special HID drivers --->
<*> ...
[*] Networking support --->
<*> Bluetooth subsystem support --->
<*> L2CAP protocol support
<*> HIDP protocol support
BlueZ settings
Change the value of UserspaceHID to true
in /etc/bluetooth/input.conf to enable user-space HID support:
# Enable HID protocol handling in userspace input profile
# Defaults to false (HIDP handled in HIDP kernel module)
UserspaceHID=true
User-space HID support also requires the User-space I/O driver for HID input devices (CONFIG_UHID) to be enabled:
Device Drivers --->
HID support --->
<*> User-space I/O driver support for HID subsystem
Configuration
To configure the input devices use the specialized desktop management tools:
- net-wireless/gnome-bluetooth for GNOME
- kde-plasma/bluedevil for KDE
- net-wireless/blueman is a generic GTK client (i.e. for use with Openbox/i3, etc)
Some Bluetooth input devices are initially not in HID mode, but in HCI mode. This is handled by udev in /lib/udev/rules.d/97-hid2hci.rules. Additional devices can be added in a custom rule file which needs to be placed in /etc/udev/rules.d. Refer to the udev article for more details.
See also
- Bluetooth — describes the configuration and usage of Bluetooth controllers and devices.