通用鼠标

来自 ArchWiki

GPM,是 General Purpose Mouse(通用鼠标)的缩写,是一个为 Linux 虚拟控制台提供鼠标支持的守护进程。

安装

安装 gpm 软件包。对于笔记本电脑上的触摸板支持,请参阅 Laptop#Touchpad

配置

`-m` 参数位于要使用的鼠标声明之前。 `-t` 参数位于鼠标类型之前。 要获取 `-t` 选项的可用类型列表,请运行 `gpm` 并加上 `-t help`。

# 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 Trackpoints 需要
    -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 包含一个几年前的 pull request,用于为 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`。

参见