如何使用中键滚动屏幕?


31

在Windows上,大多数带有大型可滚动文本容器的程序(例如,所有浏览器,大多数文字处理器和IDE)都允许您按下鼠标中键,然后移动鼠标进行滚动。这种滚动是平滑的,并允许您仅使用鼠标即可快速滚动。

当我在笔记本电脑上使用Linux时,两指滚动执行的功能大致相同。快速向下滚动页面很容易(比滚动鼠标滚轮快得多),但滚动仍然足够平滑,可以精确定位。

我不确定用鼠标在桌面上运行Linux时如何实现相同的目的。据我所知,经过一番谷歌搜索,既没有应用程序特定的设置可以交换到Windows样式的鼠标中键行为,也没有任何系统范围的设置可以达到相同的效果。

只是为了具体说明一下,如果要说的话(如果相关的话),我是在Firefox,Google Chrome,Gedit和Eclipse的背景下询问Mint(我在家里使用的)或Ubuntu(我使用的最新版本)的情况工作中)。我怀疑这是一个与发行版和应用程序无关的问题。

据我所知,我的滚动选项是:

  • 用鼠标滚轮滚动-慢!
  • 使用PgUp / PgDn键-一次跳跃很大的距离,因此无法用于精确定位,并且不如使用鼠标舒适
  • 像在以前使用两键鼠标的旧Windows PC上一样,上下拖动屏幕右侧的滚动条。这是我在实践中所做的,但是,它显然不如Windows风格的鼠标中键滚动舒适。在一个巨大的宽屏上,我花了大部分时间才将光标从屏幕中间移至滚动条,又花了大部分时间再次将其移回,所以我不得不将目光从内容上移开实际上正在滚动以执行此操作。

这些都不满足我!UI问题是一件事,它使我在台式机上使用Linux失去了乐趣,几乎使我希望我使用的是笔记本电脑触摸板而不是鼠标。我很生气,以至于我得出结论,我缺少解决该问题的一些基本Linux UI功能,或者我只是一个过于敏感的怪胎,它甚至不会打扰其他任何人-但我不确定哪个。

所以我的问题是:

  1. Windows风格的鼠标中键滚动在Linux世界中是否存在,或者它真的纯粹是Windows?特别是,是否有任何Linux Web浏览器允许您使用Windows风格的滚动?
  2. 在Linux中是否存在任何可滚动页面的机制,但Windows中不存在,特别是那些执行我所描述的角色的机制?
  3. 我还缺少其他解决方案吗?

1
您称“按住鼠标中键并移动鼠标”为“ Windows样式”滚动,但我从不知道有任何Windows特定的功能。在仔细阅读您的问题之前,我实际上不知道您所说的“ Windows风格”是什么意思。您可能需要编辑问题以使用更具启发性的术语,因为我怀疑此网站上的许多其他人都知道您的意思。据我所记得,即使在Linux上,这也是相当标准的行为-这可能只是鼠标配置以及是否按住鼠标滚轮注册为鼠标中键的问题。
jw013

1
@ jw013我从未见过存在此行为的Linux安装。鼠标中键似乎始终只是“粘贴”,而Googling建议无法关闭鼠标中键的行为(对我而言,这意味着无法打开鼠标中键的行为-但我不确定,这是为什么我在这里问)。
Mark Amery 2012年

1
@ jw013顺便说一句,如果您可以提出一个更具启发性的术语,我会用它,但据我所知,这种行为没有适当/正式的名称,我想不出简洁明了的名称-这是为什么我在第一段中仔细地描述了它。
马克·阿默里

实际上,我前一阵子改用了无滚轮的轨迹球鼠标,所以所有这些都是回忆。我可能会称其为“鼠标中键滚动”。如果我没记错的话,粘贴只会在单击时触发,如果按住按钮并移动鼠标,则会发生滚动。我可能在其中设置了一些有用的设置xorg.conf(我倾向于将旧的xorg.conf自定义项复制到新的安装中,因此我不记得确切了)。如果您使用的是GNOME,请尝试浏览鼠标的首选项,然后查看是否有任何东西。
jw013

@MarkAmery以防万一您尚未找到它,请参阅Gilles对类似问题的回答。Gilles所描述的方法将支持在所有X.Org应用程序中进行滚动轮仿真,而不仅仅是Firefox。
2015年

Answers:


31

您正在谈论的功能称为自动滚动。它使您可以按住鼠标中键并移动鼠标以使其平滑滚动。在Linux中,此操作的默认行为(按下鼠标中键)通常用于粘贴文本。

但是,Firefox中有一个首选项设置,以及可用于Chrome / Chromium的扩展程序,该扩展程序使您可以使用鼠标中键滚动并激活此功能。

火狐浏览器

  • 打开“首选项”对话框:Edit菜单>> Preferences
  • 导航到“ Advanced选项卡”,然后导航到“ 选项General卡”。
  • 在下Browsing,您会找到名为的选项Use autoscrolling。在此旁边打勾以激活Firefox中的此功能。

    Firefox首选项

铬/铬

对于Chrome / Chromium,我们可以使用名为AutoScroll的扩展程序(来自kaescripts.blogspot.com)

其他用途

至于其他应用程序,我还没有找到解决方案。无论如何,其高大的网页构成了Firefox和Chrome / Chromium都可以解决的大多数问题。

滚动愉快!


1
太棒了 我明天将在工作中试用扩展,然后接受此答案。到目前为止,我相当确信,对于大多数其他应用程序,根本没有解决方案。
Mark Amery

@MarkAmery:是的...对我来说,这是Linux中最烦人的事...它仍然困扰着我的一个文件夹中,其中包含很多文件...否则,正如我所说,此功能最有用网页,我们将为其提供解决方案... :)
Aditya

2
有用!好极了!:)
Mark Amery

有趣的是,它在某些网站上不起作用https://chrome.google.com/webstore/category/apps?hl=en
dashesy

1
这是更好的答案,应该接受:unix.stackexchange.com/a/421672/115227
jtolds

8

这将与您所有的应用程序一起使用,而无需安装任何程序。

获取您的输入deviceID。就我而言(Logitech M315 / M235)为11。

xinput list

如果需要,请使用列出可用的属性xinput list-props <deviceID>。如果您使用的是libinput(将来/现在),则几乎所有属性都将以libinput开头。在这里evdev检查我的答案

libinput

设置鼠标属性

xinput set-prop 11 "libinput Scroll Method Enabled" 0, 0, 1  # This is button
xinput set-prop 11 "libinput Button Scrolling Button" 2      # This is middle mouse. Already 2 by default

的描述man libinput

  • libinput滚动方法已启用 3个布尔值(8位,0或1),顺序为“两个手指”,“边缘”,“按钮”。指示此设备当前启用了哪种滚动方法。
  • libinput Button滚动按钮 1 32位值。设置用于按钮滚动的按钮编号。此设置与滚动方法无关,要使按钮滚动,必须将方法设置为按钮滚动,并且必须设置有效的按钮。

  • 您可以将其添加到bash脚本中,并在登录时运行它。
  • 像滚轮一样,按相同的动作Ctrl将放大/缩小页面。Ctrl+0重置。
  • 与X一起工作。与Wayland合作可能是另一回事。

“为了evdev[做一件事]。用libinput:[做另一件事]。” 我怎么知道哪些适用于我?在阅读此答案之前,我从未听说过任何一个。
Mark Amery

@MarkAmery我不知道直接的方法,内核模块(modinfo $(lsmod|grep -iE "input" | col1)没有显示它。但是,在获得deviceID和list属性后,如果您正在使用,libinput几乎所有属性都将以该词开头。另外,您还将安装xserver-xorg-input-libinput软件包,libinput-list-devices命令将列出您的设备(一定在/proc/bus/input/devices)。如果使用X,您会在上找到更多信息/usr/share/X11/xorg.conf.d/
Pablo A

2
这是更好的答案,应该接受。
jtolds

我尝试了一下,发现它不仅不能在所有应用程序中都有效,而且在可以运行的应用程序中,它感觉很黑,根本不像Windows。
Marc.2377
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.