我想禁用鼠标加速,并想通过使用命令libinput Accel Profile Enabled Default
将 from的值更改为1, 0
to 来更改它,但这会返回错误:0, 1
xinput --set-prop [ID] [id of the value] 0, 1
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 131 (XInputExtension)
Minor opcode of failed request: 57 ()
Serial number of failed request: 19
Current serial number in output stream: 20
我无法创建启动应用程序,因为我的鼠标 ID 会无缘无故地不断变化。我也无法更改变量的全局值,因为我需要为触摸板启用指针加速。
答案1
編輯:
我修改了我的答案以显示一种更简单的方法。您可以使用设备type:name
代替它,ID
如下所示:
xinput set-prop "keyboard:Logitech K400 Plus" "libinput Middle Emulation Enabled" 1
这避免了必须了解易失性ID
字段。
旧答案:
我还没有找到改变 Xinput 默认值的方法,但您可以使用 bash 管道动态获取 ID 并在启动应用程序中使用它。
由于我不清楚您的设备的具体情况,因此我以我的个人案例为例。我想更改 K400+ 键盘的一些 Xinput 属性。
首先你必须找到明确地标识您设备的 Xinput 行。
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech K400 Plus id=6 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Logitech K400 Plus id=7 [slave keyboard (3)]
因此我可以使用简单的正则表达式K400.*keyboard
来获取最后一行(不是指针行)。接下来我将grep
这个正则表达式放入管道中,通过实用程序隔离 id cut
。
$ xinput | grep K400.*keyboard | cut -f2 | cut -c4-
7
最后我用它来改变我想要的任何属性。在本例中,我感兴趣的是libinput Middle Emulation Enabled
。执行此操作的完整命令是:
xinput | grep K400.*keyboard | cut -f2 | cut -c4- |
xargs -I{} xinput set-prop {} "libinput Middle Emulation Enabled" 1
现在您可以将其用作启动应用程序。