реклама на сайте
подробности

 
 
> драйвер клавиатуры, как написать?
VDV
сообщение May 24 2010, 11:15
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 152
Регистрация: 18-03-06
Пользователь №: 15 366



есть: несколько кнопок.
надо: чтобы нажатие на них воспринималось как нажатие заданных кнопок на клавиатуре.

непонятно как это сделать, ибо:
драйвер клавиатуры - это обычно /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.
какой смысл его было повторять авторам этой библиотеки?

каким же образом работает подсистема ввода?
как написать драйвер под свои кнопки, написав минимальный код и задействовав по макимуму уже написанный код в ядре?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
cpl
сообщение May 24 2010, 12:21
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 378
Регистрация: 6-12-04
Пользователь №: 1 340



Может проще задействовать чтение из устройства TTY, как стандартное последовательно асинхронное устройство ?
Go to the top of the page
 
+Quote Post
VDV
сообщение May 24 2010, 13:29
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 152
Регистрация: 18-03-06
Пользователь №: 15 366



тогда надо написать tty драйвер для своих кнопок.
вполне логично.
но возникает вопрос:
что делает keyboard.c?
судя по всему, в него вынесен весь общий код для всех драйверов клавиатур.
то есть вроде бы достаточно написать только какую-то небольшую часть.
вот и хочется понять, можно ли задействовать то, что уже написано другими.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 15:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016