如何在连接到蓝牙设备时自动运行命令?

如何在连接到蓝牙设备时自动运行命令?

背景

我在电脑上使用蓝牙鼠标。我是左撇子,我需要运行以下命令:

xinput set-button-map 'RAPOO BT3.0 Mouse' 3 2 1

每次连接时,因为它会因为某种原因重置为默认按钮。我已将此命令别名为left。有时我必须使用 手动连接到鼠标bluetoothctl,如下所示:

alias mouse="bluetoothctl power on && bluetoothctl connect B4:EE:25:C2:0E:04"

在这种情况下,将其添加到别名中应该很容易:

alias mouse="bluetoothctl power on && bluetoothctl connect B4:EE:25:C2:0E:04 && sleep 3 && left"

但是,有时鼠标会自动连接到我的电脑,在这种情况下,我想要运行该left命令。

问题

每次特定的蓝牙设备连接到计算机时,是否可以自动运行命令?

答案1

使用命令制作脚本。

然后使用:

sudo tail -f /var/log/syslog 

得到idVendoridProduct,然后将udev规则写入/etc/udev/rules.d/50-my_bluetooth_rule.rules如下:

ACTION=="add" , SUBSYSTEM=="usb", ATTR{idVendor}=="xxx", ATTR{idProduct}=="yyy", RUN+="/home/myhome/my_script"

跑步:

sudo service udev restart
sudo tail -f /var/log/syslog

重新连接您的蓝牙设备。您可以在 bash 脚本中使用记录器将消息写入系统日志。


这里

相关内容