我想连接一个或多个 Wii 遥控器来读取它们的输入。从 的输出中,cat /proc/bus/input/devices
我可以从 中提取数据,例如Sysfs
和 输入Handlers
。Handers
我使用这些信息从相应的输入设备(例如 )读取/dev/input/event17
。我的问题是:如何获取相应的 MAC 地址?
一个遥控器的输出如下:
N: Name="Nintendo Wii Remote"
P: Phys=
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/bluetooth/hci0/hci0:3/0005:057E:0306.0009/input/input29
U: Uniq=
H: Handlers=kbd event17 js0
B: PROP=0
B: EV=200003
B: KEY=10800000 0 1003000000000006 0 0 168000000000 0
B: FF=107030000 0
(一旦遥控器暂时处于非活动状态,我想通过断开它bluetoothctl disconnect {MAC-address}
,但我需要区分多个遥控器......并且我不想断开错误的遥控器......)
好的,我刚刚自己偶然发现了一个解决方案:在
Sysfs
目录的父路径中(在我的情况下/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/bluetooth/hci0/hci0:3/0005:057E:0306.0009/
)有一个文件uevent
包含以下行HID_UNIQ=XX:XX:XX:XX:XX:XX
我正在搜索的 MAC 地址!