есть: несколько кнопок.
надо: чтобы нажатие на них воспринималось как нажатие заданных кнопок на клавиатуре.
непонятно как это сделать, ибо:
драйвер клавиатуры - это обычно /dev/tty
то есть tty устройство.
смотрим
/linux/drivers/char/keyboard.c
это tty устройство но без общения с физикой.
то есть некий промежуточный слой?
какие функции он выполняет?
смотрим
/linux/drivers/input/serio/i8042.c
это общение с физикой. но это не tty драйвер.
как тогда он работает?
в функции обработки прерывания видим serio_interrupt, видимо, это и есть передача данных следующему уровню обработки?
далее, если посмотреть исходник
/libminigui-1.6.10/src/gui/keyboard.c
, то там находится код, очень похожий на код в /linux/drivers/char/keyboard.c
при этом клавиатура используется в режиме MEDIUM_RAW.
какой смысл его было повторять авторам этой библиотеки?
каким же образом работает подсистема ввода?
как написать драйвер под свои кнопки, написав минимальный код и задействовав по макимуму уже написанный код в ядре?