Как записать ввод ключа в сборке? - PullRequest
0 голосов
/ 23 октября 2018

Я пытаюсь создать драйвер клавиатуры для Windows и Linux в качестве проекта, я пытался смоделировать фактический процесс написания ключа (то есть не использовать ничего, например, сообщения Windows), и после перехода к ожиданиюдля ввода с клавиатуры, для которой я нашел много уроков.Кто-нибудь знает, как это сделать для Windows и Linux?(под управлением Intel Pro Win10 64-битной и Kali Linux Linux и 64-битной Proc)

1 Ответ

0 голосов
/ 23 октября 2018

Вы не можете иметь один и тот же драйвер в Windows и в Linux.Вам нужно будет создать две разные, не связанные между собой программы, и вам придется по-разному их проектировать (поскольку Windows и Linux имеют разные архитектуры для драйверов).

Кстати, в Linux, с графическим рабочим столом, сервер отображения (например, Xorg или Wayland ) работает.Этот сервер является единственной программой, обрабатывающей физическую клавиатуру.Вы могли бы рассмотреть возможность работы с ним.

Фактическое понятие драйвера клавиатуры слишком широкое, чтобы иметь конкретный смысл.В Linux вы можете исправлять ядро, исправлять сервер дисплея, улучшать оконный менеджер и т. Д. Нет необходимости и особого интереса кодировать эти вещи в ассемблере.

Обратите внимание, что в Linux с графическим рабочим столом раскладка клавиатуры обрабатывается на сервере дисплея, а не в коде ядра (поэтому ядро ​​отправляет ключевые события с кодами клавиш, близкими к кодам сканирования , а не символам;Сервер Xorg отправляет события клавиатуры с подобными кодами клавиш, например, оконному менеджеру).Узнайте больше о протоколах и архитектуре X Window System и, например, EWMH .Графические слои очень сложны (как в Linux, так и в Windows), многие миллионы строк кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...