Как ядро Linux 4.x / 5.x и udev отображают события нажатия кнопок на гарнитурах Bluetooth?

#bluetooth #linux-kernel #bluetooth-lowenergy #linux-device-driver #udev

#bluetooth #linux-ядро #bluetooth-низкое энергопотребление #linux-драйвер устройства #udev

Вопрос:

У меня есть Bluetooth-гарнитура Plantronics M70, которая, как и большинство гарнитур, включает кнопку «функция». При подключении к смартфону это обычно используется для инициирования вызова. Я хочу использовать это для инициализации короткой аудиозаписи, например, для создания заметки. Есть ли способ создать правило udev, которое свяжет событие нажатия кнопки со сценарием? Гарнитура выдаст двойной звуковой сигнал, если удерживать кнопку нажатой дольше; может ли это использоваться для запуска второй функции?

Я могу наблюдать трафик Wireshark при нажатии кнопки, когда устройство используется в качестве аудиопотока высокой точности A2DP, но я не могу заставить «udevadm monitor» наблюдать за событием.

Предложения, разработка?

Комментарии:

1. Можете ли вы попробовать запустить «btmon» и посмотреть, запускаются ли события HCI при нажатии кнопки? Вы также можете увидеть, есть ли разница между коротким нажатием и длительным нажатием с точки зрения отправляемых сообщений HCI.

2. Можете ли вы найти какие-либо устройства ввода, связанные с Bluetooth, в разделе /dev/input ?