出自 Arch Linux 中文维基

GPM(General Purpose Mouse,通用滑鼠)是為 Linux 虛擬控制台(TTY)提供滑鼠支持的守護進程。

安裝

安裝 gpm 軟體包。有關筆記本電腦上的觸摸板支持,請參閱筆記本電腦#觸摸板

配置

-m 參數用於聲明要使用的滑鼠。-t 參數用於定義滑鼠類型。要獲取 -t 選項的可用類型列表,請使用 -t help 運行 gpm

# gpm -m /dev/input/mice -t help

gpm 軟體包需要使用一些參數啟動。這些參數可以通過創建文件 /etc/conf.d/gpm 記錄,也可以在直接運行 gpm 時使用。gpm.service 默認包含 USB 滑鼠的參數(ExecStart=/usr/bin/gpm -m /dev/input/mice -t imps2)。

顯然,如果需要為其他滑鼠類型使用該服務,應該對其進行編輯,最好以 systemd 友好的方式

  • PS/2 滑鼠:
    -m /dev/psaux -t ps2
  • IBM Trackpoint(「小紅點」):
    -m /dev/input/mice -t ps2
注意: 如果滑鼠只有 2 個按鈕(無中鍵),則將 -2 傳遞給 GPM_ARGS,第二個按鈕將執行粘貼功能。

找到合適的配置後,啟動啟用 gpm.service

更多信息見 gpm(8)

QEMU 或 VirtualBox

QEMU 和 VirtualBox 默認模擬的滑鼠在使用 gpm 和 X 時存在嚴重的定位和點擊問題。滑鼠的定位與主機失去同步,因此無法在不反覆退出並重新進入窗口的情況下懸停於某些區域。點擊的位置與光標顯示的位置不符。

QEMU 和 VirtualBox 通過提供 USB 平板設備的模擬來解決此問題,該模擬提供了絕對定位功能。(libvirt 自動使用這種方式。)

然而,gpm 只知道如何以相對定位模式使用模擬的滑鼠,因此這些問題依然存在。嘗試通過 -t 使用其他類型也均無法正確工作。

gpm-vmAUR 包含了一個已有數年的拉取請求,用於添加 VirtualBox 的 USB 平板支持(在 QEMU 下也能工作),並修改了 gpm.service 文件以默認啟用它。

你可能需要更改所使用的事件。給 gpm 原始的 -m /dev/input/mice 不會起作用。默認情況下:

/etc/gpm-vm.conf
event="/dev/input/event2"

你可以通過安裝 evtest 並運行以下命令來確定要使用的事件:

# evtest
...
/dev/input/event2:      QEMU QEMU USB Tablet
...

如果需要給 gpm 添加額外的選項,可以在 /etc/gpm-vm.conf 中設置 additional_args

一旦找到合適的配置,啟動啟用 gpm.service

參見