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

dav*_*ode 11 touchpad gnome scrolling

我已经在 ubuntu 17.04 上安装了 gnome-shell 并且它运行良好,但是我很难尝试使用触控板启用自然滚动。它在统一中完美地开箱即用,但在 gnome 中,尽管我在系统设置中激活了自然滚动,但它不起作用。我还在我的主文件夹中创建了文件“.Xmodmap”:

pointer = 1 2 3 5 4 6 7 8 9 10 11 12
Run Code Online (Sandbox Code Playgroud)

进而:

xmodmap .Xmodmap
Run Code Online (Sandbox Code Playgroud)

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

sudo add-apt-repository ppa:zedtux/naturalscrolling
sudo apt-get install naturalscrolling
Run Code Online (Sandbox Code Playgroud)

但我得到:

E: Unable to locate package naturalscrolling
Run Code Online (Sandbox Code Playgroud)

任何的想法?

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

更新:

通过运行xinput list我看到这个:

? DLL07BE:01 06CB:7A13 Touchpad             id=12   [slave  pointer  (2)]
?   ? SynPS/2 Synaptics TouchPad                id=15   [slave  pointer  (2)]
Run Code Online (Sandbox Code Playgroud)

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

$ /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
Run Code Online (Sandbox Code Playgroud)

更新 2:

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

更新 3

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

ami*_*r27 20

我在 Dell XPS 15 9530 上运行 Ubuntu Gnome 17.04,这对我有用:

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


小智 8

有同样的问题。解决了:

sudo apt install xserver-xorg-input-libinput
sudo apt purge xserver-xorg-input-synaptics
Run Code Online (Sandbox Code Playgroud)

然后重启


小智 6

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

找到您的鼠标 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)]
Run Code Online (Sandbox Code Playgroud)

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

$ 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
Run Code Online (Sandbox Code Playgroud)

如您所见,我的鼠标有一个名为“libinput Natural Scrolling Enabled”的属性,在我的例子中它的编号为 278。

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

$ xinput set-prop 10 278 1
Run Code Online (Sandbox Code Playgroud)


Rin*_*ind 0

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

\n\n
/usr/bin/xinput set-prop 14 "libinput Scroll Method Enabled" 0, 1, 0 \n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
\n\n

14 是触摸板的代码。您可以通过...找到您的

\n\n
$ xinput list\n\xe2\x8e\xa1 Virtual core pointer                      id=2    [master pointer  (3)]\n\xe2\x8e\x9c   \xe2\x86\xb3 Virtual core XTEST pointer                id=4    [slave  pointer  (2)]\n\xe2\x8e\x9c   \xe2\x86\xb3 ETPS/2 Elantech Touchpad                  id=14   [slave  pointer  (2)]\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

ppa:zedtux/naturalscrolling仅支持最高 14.04。

\n