使用 gnome-shell 在 ubuntu 17.04 上启用自然滚动

使用 gnome-shell 在 ubuntu 17.04 上启用自然滚动

我在 ubuntu 17.04 上安装了 gnome-shell,它运行良好,但我在尝试使用触控板启用自然滚动时遇到了困难。它在 Unity 中开箱即用,但在 gnome 中,尽管我在系统设置中激活了自然滚动,但它不起作用。我还在我的主文件夹中创建了文件“.Xmodmap”,使用以下命令:

pointer = 1 2 3 5 4 6 7 8 9 10 11 12

进而:

xmodmap .Xmodmap

我也尝试过注销/登录,但自然滚动仍然被禁用。最后,我尝试安装“naturalscrolling”包:

sudo add-apt-repository ppa:zedtux/naturalscrolling
sudo apt-get install naturalscrolling

但我得到:

E: Unable to locate package naturalscrolling

任何想法?

附言:我的机器是戴尔 XPS 15' 9560

更新:

通过运行xinput list我看到了这一点:

↳ DLL07BE:01 06CB:7A13 Touchpad             id=12   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]

为什么有两个不同的触摸板?

$ /usr/bin/xinput set-prop 15 "libinput Scroll Method Enabled" 0, 1, 0
property 'libinput Scroll Method Enabled' doesn't exist, you need to specify its type and format

更新2:

我注意到自然滚动实际上在 Pycharm(基于 Java 的 IDE)中起作用,但 Chrome、“文件”和其他应用程序仍可正常滚动 :(

更新 3

我通过全新安装 Ubuntu GNOME(支持开箱即用的自然滚动)“解决”了这个问题

答案1

我在 Dell XPS 15 9530 上运行 Ubuntu Gnome 17.04,以下是对我有用的:

解决方案是保留xserver-xorg-input-libinput安装,然后删除xserver-xorg-input-synaptics,然后重新启动。升级似乎安装了两者,并且默认选择了 synaptic,而后者似乎没有自然滚动选项。

答案2

有同样的问题。已解决:

sudo apt install xserver-xorg-input-libinput
sudo apt purge xserver-xorg-input-synaptics

然后重新启动

答案3

也许您的鼠标需要设置不同的属性。请尝试以下操作:

找到你的鼠标 ID(我的是下面的 10):

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=10   [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)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=8    [slave  keyboard (3)]
    ↳   USB Keyboard                            id=9    [slave  keyboard (3)]

列出鼠标的可用属性(将 10 替换为您的鼠标的 ID):

$ xinput list-props 10
Device 'Logitech USB-PS/2 Optical Mouse':
    Device Enabled (136):   1
    Coordinate Transformation Matrix (138): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Accel Speed (273): 0.000000
    libinput Accel Speed Default (274): 0.000000
    libinput Accel Profiles Available (275):    1, 1
    libinput Accel Profile Enabled (276):   1, 0
    libinput Accel Profile Enabled Default (277):   1, 0
    libinput Natural Scrolling Enabled (278):   1
    libinput Natural Scrolling Enabled Default (279):   0
    libinput Send Events Modes Available (258): 1, 0
    libinput Send Events Mode Enabled (259):    0, 0
    libinput Send Events Mode Enabled Default (260):    0, 0
    libinput Left Handed Enabled (280): 0
    libinput Left Handed Enabled Default (281): 0
    libinput Scroll Methods Available (282):    0, 0, 1
    libinput Scroll Method Enabled (283):   0, 0, 0
    libinput Scroll Method Enabled Default (284):   0, 0, 0
    libinput Button Scrolling Button (285): 2
    libinput Button Scrolling Button Default (286): 2
    libinput Middle Emulation Enabled (287):    0
    libinput Middle Emulation Enabled Default (288):    0
    Device Node (261):  "/dev/input/event2"
    Device Product ID (262):    1133, 49215
    libinput Drag Lock Buttons (289):   <no items>
    libinput Horizontal Scroll Enabled (290):   1

如您所见,我的鼠标有一个名为“libinput Natural Scrolling Enabled”的属性,在我的情况下其数字为 278。

将其设置为 1,自然滚动就可以启用了(将 10 替换为你的鼠标 ID,将 278 替换为你的属性实际编号):

$ xinput set-prop 10 278 1

答案4

我在启动应用程序中有以下内容:

/usr/bin/xinput set-prop 14 "libinput Scroll Method Enabled" 0, 1, 0 

并将其命名为“边缘滚动解决方法”。然后,您还可以从“设置”本身反转滚动的顺序(就像我们在 Unity 中所做的那样)。


14 是触摸板的代码。您可以使用以下代码找到您的触摸板...

$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=14   [slave  pointer  (2)]

ppa:zedtux/naturalscrolling仅支持至版本 14.04。

相关内容