鼠标滚轮反向滚动。我进入系统设置 > 鼠标和触摸板 > 自然滚动,但无论我选择哪个选项,它仍然会朝着错误的方向滚动。
我做了一些其他步骤,比如.map*
在我的主目录中编辑文件,但它也不起作用。
我确实重新启动了整个笔记本电脑,所以也许有东西会粘在里面,但不,它仍然向另一个方向滚动。
答案1
您必须使用 xinput 来禁用自然滚动。
打开终端:
~$ xinput list
输出应该是这样的:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ USB Keyboard id=10 [slave pointer (2)]
⎜ ↳ ImPS/2 BYD TouchPad id=11 [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)]
↳ Power Button id=8 [slave keyboard (3)]
↳ USB Keyboard id=9 [slave keyboard (3)]
↳ USB Keyboard id=12 [slave keyboard (3)]
看,TouchPad id =11。
~$ xinput list-props 11
输出应该是这样的:
Device 'ImPS/2 BYD TouchPad':
Device Enabled (135): 1
Coordinate Transformation Matrix (137): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (274): 0.000000
libinput Accel Speed Default (275): 0.000000
libinput Accel Profiles Available (276): 1, 1
libinput Accel Profile Enabled (277): 1, 0
libinput Accel Profile Enabled Default (278): 1, 0
libinput Natural Scrolling Enabled (271): 1
libinput Natural Scrolling Enabled Default (272): 0
libinput Send Events Modes Available (255): 1, 0
libinput Send Events Mode Enabled (256): 0, 0
libinput Send Events Mode Enabled Default (257): 0, 0
libinput Left Handed Enabled (279): 0
libinput Left Handed Enabled Default (280): 0
libinput Scroll Methods Available (281): 0, 0, 1
...
看这个,libinput 自然滚动启用(271):1。
您需要将其设置为 0。
xinput set-prop 11 271 0
答案2
这个答案主要基于格里索托的答案它可以工作,但是在我的计算机重启后无法继续工作。
这几乎使整个过程自动化:
获取指针设备名称:
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ VirtualBox mouse integration id=9 [slave pointer (2)]
⎜ ↳ ImExPS/2 BYD TouchPad id=11 [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)]
↳ Sleep Button id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
在我的情况下,ImExPS/2 BYD TouchPad
虽然它是一只老鼠。接下来获取的属性 id libinput Natural Scrolling Enabled
:
$ xinput list-props 11 # use the id or the name of the pointer device
Device 'ImExPS/2 BYD TouchPad':
Device Enabled (119): 1
Coordinate Transformation Matrix (121): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Accel Speed (271): 0.000000
libinput Accel Speed Default (272): 0.000000
libinput Accel Profiles Available (273): 1, 1
libinput Accel Profile Enabled (274): 1, 0
libinput Accel Profile Enabled Default (275): 1, 0
libinput Natural Scrolling Enabled (261): 0
libinput Natural Scrolling Enabled Default (262): 0
libinput Send Events Modes Available (241): 1, 0
[snip]
这里是261
。现在使用您的指针设备名称(因为 id 可能会在重新启动时更改)和属性 id(保持不变)并将这些行放入您的~/.bashrc
。在我的情况下是:
device=$(xinput list --id-only 'ImExPS/2 BYD TouchPad')
xinput set-prop $device 261 0
我仍然必须在每次启动时打开和关闭一个终端,因为我的终端.bashrc
在启动时没有被读取并且不起作用,.profile
但这只是三次点击。
答案3
就我而言,没有Natural Scrolling
设置,而是Evdev Scrolling Distance
。
首先:找出设备:
xinput list
由于每次启动时它都会发生变化(参见 robsn 的回答),通过名称获取 id 并将其存储到 var 中:
device=$(xinput list --id-only 'Logitech USB Laser Mouse')
仔细检查您是否确实拥有财产Edev Scrolling Distance
:
xinput list-props $device
然后使用以下命令进行设置:
xinput set-prop $device "Edev Scrolling Distance" -1 1 1
要在每次启动时启用此功能,请将device=
和set-prop
命令添加到您的~/.xsessionrc
文件中。
答案4
我也用 xinput 来反转方向。我的电脑上方向盘的属性是Evdev Scrolling Distance (272)
。此外,你可能需要退出 nautilus 并重新启动 nautilus:
nautilus -q
nautilus -n
保存此更改。