通用鼠标

出自 ArchWiki
(重定向自控制台鼠标支持

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

安装

安装 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 包括一个几年前的 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

参见