Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Разработка драйверов и драйверные библиотеки > Драйверные библиотеки > Библиотека разработки драйверов ввода (libinput) > API библиотеки libinput > struct _input_module, input_module_t



struct _input_module, input_module_t

Структура, определяющая модуль ввода

Прототип:

#include <sys/devi.h>
typedef struct _input_module {
input_module_t *up;
input_module_t *down;
struct Line *line;
int flags;
int type;
char name[12],
date[12];
const char *args;
void *data;
int (*init)( input_module_t * );
int (*reset)( input_module_t * );
int (*input)( input_module_t *, int, void * );
int (*output)( input_module_t *, void *, int );
int (*pulse)( message_context_t *, int, unsigned, void * );
int (*parm)( input_module_t *, int, char * );
int (*devctrl)( input_module_t *, int, void * );
int (*shutdown)( input_module_t *, int );
} input_module_t;

Описание:

Структура определяет модуль ввода. Поля структуры включают:

up
down
Предшествующий и последующий модули на шине событий.
line
Драйвер шины (для внутреннего использования)
flags
Флаги модуля. Возможные значения:
MODULE_FLAG_INUSE
Определяет модуль как корректный.
type
Тип модуля, являющийся комбинацией нескольких групп флагов. Класс драйвера:
DEVI_CLASS_KBD
Клавиатуры.
DEVI_CLASS_REL
Устройства с относительными координатами.
DEVI_CLASS_ABS
Устройства с абсолютными координатами.
DEVI_CLASS_JOYSTICK
Джойстики.
DEVI_CLASS_GAMEPAD
Игровые манипуляторы.
DEVI_CLASS_CONTROL
Устройства управления.

Драйверный слой, к которому относится модуль:
DEVI_MODULE_TYPE_FILTER
Модуль фильтра.
DEVI_MODULE_TYPE_PROTO
Модуль протокола.
DEVI_MODULE_TYPE_DEVICE
Модуль устройства.
name
Имя модуля, используемое в имени файла devi-*.
date
Дата сборки.
args
Перечень аргументов драйвера в формате getopt().
data
Указатель на приватные данные драйвера. Он определяется в input_module_t :: init().
init()
reset()
input()
output()
pulse()
parm()
devctrl()
shutdown()
Функции-обработчики драйвера (описаны в разделе Интерфейсы модуля ввода).

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

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




Предыдущий раздел: Библиотека разработки драйверов ввода (libinput)