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

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи 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.

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