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

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Состояние перевода: На этой странице представлен перевод статьи 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.

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