1
1
hid/README.md

78 строки
4.3 KiB
Markdown
Исходник Обычный вид История

## Общая структура подсистемы ввода
```
┌───────────────────────────┐
│ │
│ Устройство ввода ◂───────────────────────┐
│ │ │
└─────────────▴─────────────┘ │
│ │
┌─────────────┴─────────────┐ │ Не HID-совместимое
│ │ │ устройство
│ HID-драйвер (devh-*) │ │
│ │ │
└─────────────▴─────────────┘ │
│ │
┌─────────────┴─────────────┐ ┌─────────────┴─────────────┐
│ │ │ │
│ HID-менеджер (io-hid) ◂─── * ───┤ Драйвер ввода (devi-*) ◂───▸ /dev/??? (standalone-режим)
│ │ │ │
└───────────────────────────┘ ▲ └─────────────▴─────────────┘
│ │
│ ┌─────────────▾─────────────┐
Интерфейс libhiddi ─────┘ │ │
│ Оконная оболочка Photon │
│ │
└───────────────────────────┘
```
## Дерево исходных кодов
```
|- devh/
| |- egalax/ - Исходный код HID-драйвера поддержки тачскринов egalax, подключаемых по USB
| |- gpiokbd/ - Исходный код HID-драйвера специализированной клавиатуры, подключенной через GPIO
| |- Makefile - Правила сборки дерева исходников
| `- common.mk - Параметры сборки драйверов
|
`- Makefile - Правила сборки дерева исходников
```
Драйвер [devh-gpiokbd](devh/gpiokbd) предназначен для функционирования в паре с [GPIO драйвером](https://git.kpda.ru/drivers/gpio/src/branch/neutrino/2020/hardware/gpio/am35).
## Сборка драйвера
- Установить и настроить [комплект разработчика](https://help.kpda.ru/neutrino/2020/help/topic/ru.kpda.doc.dev_tools_ru/html/devkit/devkit.html) для [ЗОСРВ "Нейтрино" редакции 2020](https://help.kpda.ru/neutrino/2020/help/index.jsp).
- Выполнить команду:
```
make
```
## Запуск драйвера
Вместе с менеджером [io-hid](https://help.kpda.ru/neutrino/2020/help/topic/ru.kpda.doc.os_ru/html/services/io-hid.html):
```
io-hid -d <имя_драйвера|путь к библиотеке> [параметры]
```
С помощью утилиты [mount](https://help.kpda.ru/neutrino/2020/help/topic/ru.kpda.doc.os_ru/html/utils/utils/mount.html):
```
mount -T io-hid <путь к библиотеке> [параметры]
```
## Разработка драйвера
В официальной документации доступно [руководство по разработке HID-драйверов](https://help.kpda.ru/neutrino/2021/help/topic/ru.kpda.doc.os/html/programmers_guide/ddk/HID.html).