gpm - Arch Linux 中文维基

跳转到内容

# gpm

来自 Arch Linux 中文维基

翻译状态：

- 本文（或部分内容）译自 General purpose mouse，最近一次同步于 2024-08-04，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

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`。

## 参见

- Gentoo:GPM
- consolationAUR 基于 libinput 的替代品

分类：​

- Linux 控制台
- 鼠标

gpm
添加话题