General purpose mouse (Русский) - ArchWiki

Jump to content
Состояние перевода: На этой странице представлен перевод статьи General purpose mouse. Дата последней синхронизации: 16 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

GPM (General Purpose Mouse) — демон, позволяющий использовать мышь в виртуальных терминалах Linux.

## Установка

Важно: Активная разработка xf86-input-synaptics больше не ведётся. По возможности используйте libinput.

Установите пакет gpm. Для поддержки тачпада на ноутбуке вам, вероятно, понадобится дополнительно установить xf86-input-synaptics.

## Настройка

С помощью опции `-m` определяется файл устройства мыши. Опция `-t` используется для указания типа мыши. Чтобы отобразить список возможных вариантов для опции `-t`, запустите `gpm` с параметром `-t help`:

    # gpm -m /dev/input/mice -t help

Для запуска демона `gpm` необходимо указать некоторые опции. Их можно прописать в файле `/etc/conf.d/gpm`, или использовать при прямом запуске gpm. С 2016 года файл `gpm.service` для systemd содержит опции для USB-мышей.

    /usr/lib/systemd/system/gpm.service

    ExecStart=/usr/bin/gpm -m /dev/input/mice -t imps2

Конечно, это нужно изменить (желательно как принято в systemd), если используется другой тип мыши и gpm запускается как systemd-служба.

- Для PS/2 мышей опции такие:

    -m /dev/psaux -t ps2

- И трекпоинта IBM:

    -m /dev/input/mice -t ps2

Примечание: Если мышь имеет только две кнопки, добавьте опцию `-2` в `GPM_ARGS`, тогда вставка текста будет происходить по нажатию второй кнопки.

После настройки запустите и включите службу `gpm.service`.

Более подробную информацию вы можете получить на странице справочного руководства `gpm (8)`.

### QEMU или VirtualBox

Со стандартной мышью, которую эмулируют QEMU и VirtualBox, есть некоторые проблемы и в gpm, и в X при позиционировании и кликах. Положение курсора не синхронизировано с хостом, так что в виртуальном экране есть области, в которые трудно попасть. Клики срабатывают не там, где отображается курсор.

И QEMU, и VirtualBox позволяют решить эту проблему с помощью эмуляции USB-планшета, который имеет абсолютное позиционирование. (libvirt использует это автоматически.)

Однако gpm умеет использовать виртуальную мышь только в относительном режиме, поэтому проблемы остаются. Использование других типов мышей в опции `-t` тоже не помогает.

Пакет gpm-vmAUR включает в себя старый пулл-реквест, добавляющий поддержку USB-планшетов для VirtualBox (в QEMU тоже работает) и прописывает его использование по умолчанию в `gpm.service`.

Вам может понадобиться изменить используемое event-устройство (стандартный `-m /dev/input/mice` не сработает). По умолчанию:

    /etc/gpm-vm.conf

    event="/dev/input/event2"

Вы можете определить нужный event, установив evtest и выполнив:

    # evtest

    ...
    /dev/input/event2:      QEMU QEMU USB Tablet
    ...

Если нужно прописать дополнительные опции для gpm, их можно указать в опции `additional_args` в файле `/etc/gpm-vm.conf`.

После настройки запустите и включите службу `gpm.service`.

## Смотрите также

- Gentoo:GPM
- consolationAUR — альтернатива, основанная на libinput

Categories:

- Linux console (Русский)
- Mice (Русский)