gpm
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
传递给 GPM_ARGS
,第二个按钮将执行粘贴功能。更多信息见 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
。
参见[编辑 | 编辑源代码]
- Gentoo:GPM
- consolationAUR 基于 libinput 的替代品