gpm

来自 Arch Linux 中文维基
(重定向自Console mouse support

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

参见[编辑 | 编辑源代码]