按住中鍵時使滑鼠移動滾動
在 Windows 中,我習慣於點擊中心按鈕,它會向上或向下提供“快速滾動”選項。如何在 Linux 上獲得這種行為?它目前似乎在中心點擊時使用後退按鈕。
我在 CentOS 下使用 Gnome。
此 Windows 功能從未真正進入 Unix 世界。在 Unix 世界中,滑鼠中鍵的主要目的是粘貼剪貼板內容(或者更準確地說,是用滑鼠選擇的文本,它是自動複製的)。一些跨平台應用程序,如 Firefox 和 Chrome,在 Windows 下支持 Linux 風格的滑鼠中鍵,反之亦然,但除此之外,大多數應用程序不支持這種細粒度的滾動。
儘管如此,您可以在系統級別相當接近。可以設置滑鼠按鈕,當按下它時,滑鼠移動會轉換為滾輪事件。這與您習慣使用的功能相同,但您可能會發現運動不連貫,因為應用程序接收到滾輪事件,這些事件通常被解釋為滾動一整行或整列。
要使用此配置,請使用xinput程序(我不知道是否有 GUI 前端)。首先,執行以下命令來查看您的指針設備的名稱:
$ xinput --list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Generic USB Mouse id=8 [slave pointer (2)] ⎜ ↳ Macintosh mouse button emulation id=12 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=7 [slave keyboard (3)] ↳ USB Keyboard id=9 [slave keyboard (3)]
例如,在上面的輸出中,指針設備是
Generic USB mouse
. 您可以執行以下命令來列出可以調整的屬性:xinput --list-props 'Generic USB Mouse'
您要查找的屬性集是“Evdev Wheel Emulation”屬性。使用以下設置,當按下滑鼠中鍵(按鈕 2)時,移動滑鼠會發送滾輪事件(4=上,5=下,6=左,7=右)。
xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation' 1 xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Button' 2 xinput --set-prop 'Generic USB Mouse' 'Evdev Wheel Emulation Axes' 6 7 4 5
您可能需要調整其他參數(慣性、超時)。
您可以將這些命令放在腳本中。添加
#!/bin/sh
為第一行,並使腳本文件可執行(例如chmod +x ~/bin/activate-wheel-emulation.sh
)。然後將該腳本添加到會話開始時要執行的命令列表中(gnome-session-properties
讓您對其進行配置)。如果您具有 root 訪問權限並且想要對所有使用者進行更改(在家用電腦上可接受),則通過X.org 伺服器配置文件進行更改會更簡單。以 root 身份創建一個名為包含滑鼠驅動程序
/etc/X11/xorg.conf.d/wheel-emulation.conf
設置的文件。設置相同,但它們的組織方式略有不同。Section "InputClass" Identifier "Wheel Emulation" MatchProduct "Generic USB Mouse" Option "EmulateWheel" "on" Option "EmulateWheelButton" "2" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection