找到输入设备的ID并更改其属性的值
我从这篇文章中了解到,您可以通过以下方式设置鼠标速度:
$ xinput --set-prop 10 "Device Accel Constant Deceleration" 4
其中10
是目标设备的id
,可以通过检查xinput
命令的输出来获得。
但是,我的问题是每次拔掉我的鼠标并重新插上它时,它的id
就会改变。 因此,简单地将上面的行放入mouse.sh
是不够的。 我还需要动态搜索目标设备的当前id
值,即我的鼠标。
悲惨的部分是我对bash脚本一无所知,因此在这里寻求快速解决我的具体问题:
如何编写这个简单的脚本来定位输入设备的
id
,比如说mouse
,并在上面的xinput
行中使用这个id
?
从xinput
手册页 :
device可以是设备名称 ,也可以是设备的XID。
这意味着您只需将鼠标的全名赋予xinput
命令即可。
让我们首先识别您的鼠标设备,在终端中键入xinput
:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=17 [slave pointer (2)] ⎜ ↳ Logitech Logitech Illuminated Keyboard id=11 [slave pointer (2)] ⎜ ↳ ROCCAT ROCCAT Kone Pure Optical id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ HD Pro Webcam C920 id=9 [slave keyboard (3)] ↳ Integrated Camera id=15 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=18 [slave keyboard (3)] ↳ Logitech Logitech Illuminated Keyboard id=10 [slave keyboard (3)] ↳ ROCCAT ROCCAT Kone Pure Optical id=12 [slave keyboard (3)] ↳ No brand 2Port KVMSwicther id=14 [slave keyboard (3)]
在这里,我的鼠标是ROCCAT ROCCAT Kone Pure Optical
但你不能按原样使用它,因为这种类型的鼠标声明了几种设备(游戏鼠标)。
因此,在设备名称前加上’pointer:’,如下所示:
$ xinput --set-prop 'pointer:ROCCAT ROCCAT Kone Pure Optical' "Device Accel Constant Deceleration" 4
调整上面的命令以匹配您自己的设备,您可以将其粘贴到mouse.sh
脚本中。