我想在 Linux 上使用多个蓝牙输入设备作为
/dev/input
并编写一个程序来处理它们的输入事件,但需要根据源外设改变其行为。如何识别哪个外设发起接收到的输入事件?
/dev/input/event*
提供 PHYS
(物理拓扑)字符串值以响应 EVIOCGPHYS
ioctl 请求。对于蓝牙,PHYS 代表底层设备的唯一 MAC 地址。
我们可以通过使用python-evdev轻松获取Python中的值:
>>> import evdev
>>> dev = evdev.InputDevice('/dev/input/event1')
>>> dev.name
'BT Shutter Keyboard'
>>> dev.info
DeviceInfo(bustype=5, vendor=9354, product=33382, version=1)
>>> dev.phys
'xx:xx:xx:xx:xx:xx'