Менеджер ввода совместимых устройств для 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 мс.
| Опция -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. Опции отсутствуют.
| Для всех устройств с последовательным интерфейсом используется следующий формат: 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).
| Если в командной строке указаны обе опции (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
| В настоящий момент модуль требуется лишь системам, работающим в режиме совместимости. В большинстве остальных случаев он конфликтует с драйвером devh-ps2ser.so, загружаемым менеджером io-hid. В современных системах от его использования рекомендуется отказаться в пользу сочетания io-hid и devi-hid. |
| Если драйвер 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
Предыдущий раздел: Драйверы