Quero conectar um ou mais controles remotos Wii para ler suas entradas. Da saída de cat /proc/bus/input/devices
posso extrair dados como Sysfs
e a entrada Handlers
. As Handers
informações que uso para ler do dispositivo de entrada correspondente (por exemplo, de /dev/input/event17
). Minha pergunta: como posso obter os endereços MAC correspondentes?
A saída para um controle remoto se parece com:
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
(Quando um controle remoto fica inativo por um tempo, gosto de desconectá-lo via bluetoothctl disconnect {MAC-address}
, mas preciso distinguir entre vários controles remotos... E não quero desconectar o controle remoto errado...)
Ok, acabei de encontrar uma solução acidentalmente: dentro de um caminho pai do
Sysfs
diretório (no meu caso em/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/
) há um arquivouevent
que contém a linhaHID_UNIQ=XX:XX:XX:XX:XX:XX
com o endereço MAC que eu estava procurando!