我用的是MS键盘在我的 Debian 机器上。问题是微软没有为我们提供配置软件,并且触摸板的默认滚动方向是相反的(它使用自然滚动)。
我想知道是否可以以某种方式调整特定输入设备的输入,使其表现“正常”。即我想替换scroll-up
和scroll-down
命令。
答案1
您可以使用以下命令控制输入设备的某些设置xinput
。运行xinput list
以列出设备。每个设备都有一个名称和一个数字 ID。您可以使用此名称或此 ID 来列出相应设备的属性。设备 ID 可能取决于检测到设备的顺序,因此要定位特定设备,请使用其名称。例如,我有一个鼠标作为设备8;这是其属性的摘录:
$ xinput list-props 8
…
Evdev Axis Inversion (272): 0, 0
Evdev Axes Swap (274): 0
…
当我向左移动鼠标时,以下任一命令都会使光标向右移动,向下移动时使光标向上移动:
xinput set-prop 8 272 1 1
xinput set-prop 8 'Evdev Axis Inversion' 1 1
如果您想交换车轮模拟的方向,可以使用以下属性:Evdev Wheel Emulation Axes
从更改6 7 4 5
为7 6 5 4
。
答案2
在@Gilles 的一番指点之后,xinput
我能够使用该set-button-map
命令交换滚动方向。
首先,您应该使用命令查找设备 ID 或名称list
,然后像这样重新映射滚轮按钮xinput set-button-map id 1 2 3 5 4 7 6
。
发表了一个小脚本它会自动执行此操作。
答案3
使用 xinput 和 .xsessionrc 重新映射单个设备
我遇到了类似的问题,我想在一台设备上反向滚动。该 ID 对我不起作用,因为它随着每次启动而改变。使用设备名称确实有效。
在终端中键入以下行以查找设备的名称:
xinput list
然后使用文本编辑器编辑或写入主目录中的.xsessionrc。例子:
vim ~/.xsessionrc
注意:如果文件已经存在,我建议输入“sudo vim ~/.xsessionrc”来简化写入权限问题,就像在审查之前的初始示例中一样。
然后添加以下行,.xsessionrc
将“名称”替换为“设备名称来自xinput list
”。保留引号。
xinput set-button-map "name" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
例如,我想在“Microsoft Wedge Touch Mouse”上反转垂直滚动 (4 5) 和水平滚动 (6 7)。
xinput list
给我:
⎜ ↳ Microsoft Wedge Touch Mouse id=15 [slave pointer (2)]
所以我添加了以下行.xsessionrc
xinput set-button-map "Microsoft Wedge Touch Mouse" 1 2 3 5 4 7 6
最后,注销并重新登录。
这适用于薄荷肉桂 17.3