2022-09-09 16:56:30 +03:00
## Общая структура подсистемы ввода
```
┌───────────────────────────┐
│ │
│ Устройство ввода ◂───────────────────────┐
│ │ │
└─────────────▴─────────────┘ │
│ │
┌─────────────┴─────────────┐ │ Не HID-совместимое
│ │ │ устройство
│ HID-драйвер (devh-*) │ │
│ │ │
└─────────────▴─────────────┘ │
│ │
┌─────────────┴─────────────┐ ┌─────────────┴─────────────┐
│ │ │ │
│ HID-менеджер (io-hid) ◂─── * ───┤ Драйвер ввода (devi-* ) ◂───▸ /dev/??? (standalone-режим)
│ │ │ │
└───────────────────────────┘ ▲ └─────────────▴─────────────┘
│ │
│ ┌─────────────▾─────────────┐
Интерфейс libhiddi ─────┘ │ │
│ Оконная оболочка Photon │
│ │
└───────────────────────────┘
```
## Дерево исходных кодов
```
|- devh/
| |- egalax/ - Исходный код HID-драйвера поддержки тачскринов egalax, подключаемых по USB
2022-09-23 13:39:18 +03:00
| |- gpiokbd/ - Исходный код HID-драйвера специализированной клавиатуры, подключенной через GPIO
2022-09-09 16:56:30 +03:00
| |- Makefile - Правила сборки дерева исходников
| `- common.mk - Параметры сборки драйверов
|
`- Makefile - Правила сборки дерева исходников
```
2022-09-23 13:39:18 +03:00
Драйвер [devh-gpiokbd ](devh/gpiokbd ) предназначен для функционирования в паре с [GPIO драйвером ](https://git.kpda.ru/drivers/gpio/src/branch/neutrino/2020/hardware/gpio/am35 ).
2022-09-09 16:56:30 +03:00
## Сборка драйвера
2023-09-23 15:19:11 +03:00
- Установить и настроить [комплект разработчика ](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 ).
2022-09-09 16:56:30 +03:00
- Выполнить команду:
```
make
```
## Запуск драйвера
2023-09-23 15:19:11 +03:00
Вместе с менеджером [io-hid ](https://help.kpda.ru/neutrino/2020/help/topic/ru.kpda.doc.os_ru/html/services/io-hid.html ):
2022-09-09 16:56:30 +03:00
```
io-hid -d < имя_драйвера | путь к библиотеке > [параметры]
```
2023-09-23 15:19:11 +03:00
С помощью утилиты [mount ](https://help.kpda.ru/neutrino/2020/help/topic/ru.kpda.doc.os_ru/html/utils/utils/mount.html ):
2022-09-09 16:56:30 +03:00
```
mount -T io-hid < путь к библиотеке > [параметры]
```
## Разработка драйвера
2023-12-08 19:09:59 +03:00
В официальной документации доступно [руководство по разработке HID-драйверов ](https://help.kpda.ru/neutrino/2021/help/topic/ru.kpda.doc.os/html/programmers_guide/ddk/HID.html ).
2022-09-09 16:56:30 +03:00