devi-hid

Менеджер ввода HID-устройств для Photon

Синтаксис:

devi-hid [общие_опции] протокол* [опции_протокола]* фильтр* [опции_фильтра]*

Опции:

-b
Не использовать комбинацию клавиш Ctrl - Alt - Shift - Backspace для выхода из Photon (по умолчанию использовать эту комбинацию разрешено).
-D задержка
Задержка перед началом воспроизведения (опция -p) в миллисекундах. (по умолчанию 2000 мс)
-d устройство
Устройство (по умолчанию – /dev/photon или $PHOTON).
-f имя_файла
Записывать все входящие события в указанный файл. Записанные события можно воспроизвести при помощи опции -p
-G
Для запуска драйвера сенсорного экрана графический драйвер не требуется. Эту опцию целесообразно использовать при отладке.
-g группа_ввода
Группа ввода (по умолчанию – 1).
-L
Зациклить воспроизведение (опция -p).
-l
Вывести список внутренних модулей. Список модулей выводится в следующем формате (класс принимает значение D (устройство), P (протокол) или F (фильтр)):
имя модуля | дата компиляции | версия | класс
-P
Отключить интерфейс Photon. По умолчанию интерфейс Photon запускается.
-p имя_файла
Игнорировать реальные события, вместо этого воспроизоводить события из указанного файла. Файл можно сгенерировать при помощи опции -f.
-r
Запустить интерфейс менеджера ресурсов (при условии, что Photon не используется).
-t коэффициент
Коэффициент пропуска тактовых импульсов в мс (значение по умолчанию – 0).
-v[v]...
Вывести расширенную информацию. Чем больше символов v, тем более подробная информация выводится.
-h путь
Указать путь к серверу io-hid

Протокол и его опции:

Общий формат:

протокол [опции_протокола...]

Модули протоколов и соответствующие опции:

joystick
Протокол HID-совместимого джойстика.

-u устройство
Необязательная опция, номер устройства io-hid.
kbd
Скан-коды клавиатуры (подключение к основной клавиатуре). Опции:

-f путь
Создать указанный файл и выполнить сбор всех данных, передаваемых на уровень фильтра (только в целях отладки).
-k скорость[,задержка]
Скорость срабатывания клавиатуры (Гц), задержка (мс). Если нажать и не отпускать какую-либо клавишу, то по истечении промежутка времени задержка (заданного в миллисекундах) ввод данных будет осуществляться с указанной скоростью (количество раз в секунду). Значения по умолчанию – 150 Гц и 500 мс.
-p путь
Создать и открыть указанный файл FIFO и продублировать все данные, передаваемые на уровень фильтра (только в целях отладки).
-u устройство
Необязательная опция, номер устройства io-hid.
mouse
Протокол обычной мыши.

-u устройство
Необязательная опция, номер устройства io-hid.
touch
Протокол HID-совместимого сенсорного экрана.

-K
Режим киоска. Данные передаются только при касании, но не при перетаскивании.
-m значение
Установить максимальное допустимое значение для отправки. (По умолчанию - 1023)
-u устройство
Необязательная опция, номер устройства io-hid.

Модули фильтров и их опции:

keyboard
Преобразовать скан-коды в UNICODE. Опции:

-k файл_kbd
Файл, обеспечивающий поддержку национальных языков или альтернативных раскладок для клавиатуры (например, раскладки Дворака). Местоположение по умолчанию таких файлов – /usr/photon/keyboard. Для получения информации о создании отображений клавиатуры см. mkkbd.
-L [N][C][S]
Установить начальное состояние клавиатуры и ее светодиодов (по умолчанию все выключены):
  • C – включить Caps Lock.
  • N – включить Num Lock.
  • S – включить Scroll Lock.
rel
Отфильтровать и сжать относительные координаты для событий, связанных с мышью. Опции:

-a
Параметр ускорения прокрутки колесом мыши (значение по умолчанию – 10). Чем больше это значение, тем быстрее выполняется прокрутка при использовании колеса мыши.
-G множитель
Множитель скорости движения (значение по умолчанию – 1).
-l
Включить леворукий режим (поменять функции кнопок).
-T порог
Пороговое значение для удваивания скорости (шаг мыши в секунду). Если скорость движения мыши превысит это пороговое значение, то по каждому шагу мыши курсор будет перемещаться в два раза быстрее обычного. (Шаг мыши – это наименьшая распознаваемая величина шага перемещения мыши.) Значение порога по умолчанию – 100.
-x
Инверсия координат по оси x.
-y
Инверсия координат по оси y.
abs
Преобразовать и сжать абсолютные координаты событий "касания". Опции:

-A n
Использовать усредняющий фильтр. Этот фильтр накапливает и возвращает среднее значение для n последних событий. Можно использовать только один фильтр.
-a 4
Использовать трансформацию по 4 точкам.
-b
Касание экрана соответствует щелчку правой кнопкой мыши (по умолчанию – щелчку левой кнопкой).
-c
Режим калибровки; не выполнять преобразование координат.
-D расстояние
Использовать дифференциальный фильтр. Дифференциальный фильтр отправляет события только когда изменение позиции превысило указанное расстояние, что позволяет снизить количество отправляемых событий. Можно использовать только один фильтр.
-f имя_файла
Имя файла калибровки.
-N макс_изменение
Использовать фильтр шума. Этот фильтр старается избавиться от дёрганного шума, если он привышает указанное максимальное изменение. Целесообразно использовать с сенсорными экранами на SPI или I2C. Можно использовать только один фильтр.
-O номер
Установить угол начала координат для работы в режиме без калибровки (по умолчанию 0 - верхний левый угол). Допустимые значения:
  • 0 - верхний левый угол
  • 1 - нижний левый угол
  • 2 - нижний правый угол
  • 3 - верхний правый угол
-o x,y
Начало координат области отображения (по умолчанию – начало координат графической области).
-S задержка,мс
Установить задержку перед отправкой события окончания касания в миллисекундах.
-s x,y
Координаты нижнего правого угла области отображения (по умолчанию – ширина и высота графической области).
-X смещение
Установить смещение координат по оси X.
-x
Обратное преобразование координат по оси Х.
-Y смещение
Установить смещение координат по оси Y.
-y
Обратное преобразование координат по оси Y.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Требуется предварительный запуск io-hid.


Note: Если драйвер devi-* используется для сенсорного экрана, требуется файл калибровки. Файл калибровки генерируется утилитой calib:

calib > calib_file.txt


Программа представляет собой универсальный менеджер ввода Photon для клавиатуры и мыши. Она является клиентом для HID-сервера io-hid.

Как правило, запуск менеджера devi-hid осуществляется посредством утилиты inputtrap при выполнении процедуры начального запуска Photon. В целях тестирования этот менеджер также можно запустить в текстовом режиме как менеджер ресурсов.


Note: Предварительно должен быть запущен менеджер ресурсов io-hid, и только после этого можно запустить devi-hid.

Этому менеджеру не требуется информация о физических интерфейсах реальных устройств, он работает при поддержке менеджера ресурсов io-hid и дополнительных модулей ввода. Менеджер devi-hid получает данные в виде HID-отчетов, преобразовывает эти данные в события Photon и отправляет информацию о событиях в систему Photon. Он предоставляет поддержку нескольких национальных языков для ввода с клавиатуры.


Caution: Для корректной работы работы трансляции координат виртуальных мышей калибровочный файл должен иметь нулевой размер (см. опцию vmmouse драйвера devh-ps2ser.so).

Если указана опция вывода расширенной информации, то рабочие сообщения выводятся на экран консоли и записываются в системный журнал. Данные обычно передаются в систему Photon. Однако если установлен режим менеджера ресурсов (опция -r), то данные могут быть переданы в устройства (по умолчанию – /dev/devi/keyboard0 и /dev/devi/mouse0).

Примеры:

Типовая командная строка для запуска менеджера клавиатуры и мыши:

devi-hid kbd mouse

Файлы:

libhiddi.so
Используется менеджером devi-hid.

Ошибки:

Если при запуске devi-hid возникнет ошибка, то клавиатура или мышь не будут работать в Photon и последний не запустится. Если ввести опцию v, то информация о работе драйвера будет выводиться на экран консоли и записываться в системный журнал; для получения более подробной информации следует повысить уровень вывода расширенной информации.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», Драйверы

Тематические ссылки:

devi-*, devh-ps2ser.so, inputtrap, mkkbd, calib




Предыдущий раздел: Драйверы