devi-hirun

Менеджер ввода совместимых устройств для Photon

Синтаксис:

devi-hirun [общие_опции] протокол* [опции_протокола]* устройство* [опции устройства]* фильтр* [опции_фильтра]*

Опции:

-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, тем более подробная информация выводится.

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

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

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

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

kbd
Скан-коды клавиатуры (подключение к основной клавиатуре). Поддерживаемые устройства: fd, kbddev. Опции:

-f имя_файла
Создать указанный файл и выполнить сбор всех данных, передаваемых на уровень фильтра (только в целях отладки).
-k скорость[,задержка]
Скорость срабатывания клавиатуры (Гц), задержка (мс). Значения по умолчанию – 30 Гц, 500 мс.

Note: Опция -k действует только при использовании модуля устройств kbddev.

-p имя_файла
Создать и открыть указанный файл FIFO и продублировать все данные, передаваемые на уровень фильтра (только в целях отладки).
-R
Не выполнять сброс устройства при сбросе протокола.
-r
Выполнить сброс клавиатуры (по умолчанию).
-s
Драйвер устройства должен предоставлять действительные символы.
msoft
Совместимый с Microsoft протокол мыши (устройство с последовательным интерфейсом). Поддерживаемые устройства: fd, uart. Опции:

-3
3-кнопочная мышь Microsoft.
-b бод
Скорость передачи в бодах для устройства с последовательным интерфейсом (значение по умолчанию – 1200).
-i
Мышь Intellimouse с колесом прокрутки.
-R
Не выполнять сброс мыши (по умолчанию сброс мыши выполняется).
msys
Протокол мыши Mouse Systems (используется в продуктах Logitech). Поддерживаемые устройства: fd, uart. Опции:

-b бод
Скорость передачи в бодах для устройства с последовательным интерфейсом (значение по умолчанию – 1200).
-R
Не выполнять сброс мыши (по умолчанию сброс выполняется).
ps2
Протокол мыши IBM PS/2. Поддерживаемые устройства: mousedev. Опции отсутствуют.

Note: Для всех устройств с последовательным интерфейсом используется следующий формат: 8 битов данных, 1 стоповый бит, отсутствие контроля четности.

Модули устройств и их опции:

fd
Открыть устройство с помощью функции open(). Опции:

-d устройство
Устройство, на котором открывается fd (по умолчанию – /dev/ser1).
-P приоритет
Установить приоритет обработки данного события ввода.
-s
Входной интерфейс является последовательным (модулю разрешено использовать команды devctl(), связанные с последовательным портом).
kbddev
Клавиатура PS2. Опции:

-d задержка
Установить задержку сброса устройства. В течение этой задержки весь ввод с клавиатуры игнорируется. (по умолчанию - 100 мс)
-f имя_файла
Создать указанный файл и выполнить сбор всех данных, передаваемых на уровень протокола (только в целях отладки).
-i
Прерывание (IRQ) (значение по умолчанию – 1).
-P
Приоритет обработки события, связанного с клавиатурой.
-p порт_ввода-вывода,смещение
Порт (значение по умолчанию – 0x60) и смещение адреса порта состояния (значение по умолчанию – 4).
-r
Выполнить сброс порта клавиатуры. Эту опцию целесообразно использовать в случае работы с аппаратными средствами без BIOS (например, PowerPC, MIPS).
mousedev
Мышь PS2. Опции:

-f имя_файла
Создать указанный файл и выполнить сбор всех данных, передаваемых на уровень протокола (только в целях отладки).
-i номер_прерывания
Прерывание (IRQ) (значение по умолчанию – 12).
-P
Приоритет обработки события, связанного с мышью.
-p порт_ввода-вывода,смещение
Порт (значение по умолчанию – 0x60) и смещение адреса порта состояния (значение по умолчанию – 4).
-r
Выполнить сброс порта мыши. Эту опцию целесообразно использовать в случае работы с аппаратными средствами без BIOS (например, PowerPC, MIPS).

Note: Если в командной строке указаны обе опции (kbddev и mousedev) и используются нестандартные номера портов, значения номеров портов для модулей должны быть одинаковыми.

uart
Прямой доступ к UART (универсальным асинхронным приемопередатчикам) 8250/16450/16550. Опции:

-1
Использовать порт COM1 (3f8).
-2
Использовать порт COM2 (2f8).
-i номер_прерывания
Прерывание (IRQ) для устройства с последовательным интерфейсом (значение по умолчанию – 4).
-P приоритет
Установить приоритет обработки данного события ввода.
-p порт_ввода-вывода
Выбрать порт для подключения к устройству с последовательным интерфейсом (значение по умолчанию – 3f8).

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

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.

Платформы:

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

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

arm, ppc, x86

Описание:


Warning: В настоящий момент модуль требуется лишь системам, работающим в режиме совместимости. В большинстве остальных случаев он конфликтует с драйвером devh-ps2ser.so, загружаемым менеджером io-hid. В современных системах от его использования рекомендуется отказаться в пользу сочетания io-hid и devi-hid.


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

calib > calib_file.txt


Драйвер devi-hirun представляет собой основной (наиболее часто используемый) драйвер ввода Photon. Утилита inputtrap обнаруживает драйверы и запускает драйвер devi-hirun.

Драйвер devi-hirun принимает данные от устройства ввода (например, мыши или клавиатуры), интерпретирует их и выполняет определенную дальнейшую обработку данных. Обычно эта обработка заключается в создании пакетов данных, соответствующих событиям, и передаче этой информации в среду обработки событий Photon.

Драйвер devi-hirun имеет многоуровневую структуру:

На каждом уровне данные интерпретируются/модифицируются и передаются на следующий уровень. В конечном счете, данные (в виде событий) поступают в среду обработки событий в Photon.

Для каждого устройства, обслуживаемого драйвером devi-hirun, существует отдельный тракт, проходящий через три уровня. Этот тракт называется "линией шины событий". Линия шины событий состоит из модулей, каждый из которых соответствует одному уровню. Модули соединены программной шиной. При продвижении данных от уровня к уровню по шине данные преобразуются каждым модулем в формат, распознаваемый модулем на следующем уровне.

Важно отметить, что допускается запускать любое количество экземпляров драйвера devi-hirun, по одному экземпляру для каждого устройства. Либо можно запустить один экземпляр devi-hirun для всех устройств. Выбор одного из этих сценариев обычно обусловлен личными предпочтениями.

Примеры:

Если утилита inputtrap обнаруживает мышь Microsoft с последовательным интерфейсом и клавиатуру, для взаимодействия с которой используется дескриптор файла, полученный при открытии /dev/kbd, то эта утилита вызывает драйвер devi-hirun следующим образом:

devi-hirun kbd fd -d/dev/kbd msoft fd &

Если утилита inputtrap обнаруживает мышь PS/2, подключенную через дополнительный порт на контроллере клавиатуры (mousedev), и клавиатуру, подключенную через порт основной клавиатуры на контроллере клавиатуры (kbddev), то утилита вызывает драйвер devi-hirun следующим образом:

devi-hirun kbd kbddev ps2 mousedev &

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

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

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

devi-*, inputtrap, calib, devh-ps2ser.so, io-hid




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