背景:
我在电脑上使用蓝牙鼠标。我是左撇子,我需要运行以下命令:
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
得到idVendor
和idProduct
,然后将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 脚本中使用记录器将消息写入系统日志。
从这里