鼠标滚轮反向滚动

鼠标滚轮反向滚动

鼠标滚轮反向滚动。我进入系统设置 > 鼠标和触摸板 > 自然滚动,但无论我选择哪个选项,它仍然会朝着错误的方向滚动。

我做了一些其他步骤,比如.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

保存此更改。

相关内容