· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Апаратный перехват клавиатуры

Посл.отвђт Сообщенiе


Дата: Янв 2, 2004 01:56:44

Кто может подсказать, как можно перехватив вызов прерывания от клавиатуры и считав код из выходного буфера, вновь заставить клавиатуру послать код посленей отажатой клавиши в буфер выходной буфер клавиатуры, т.е. опять установить флаг признак выходной буфер полон (64h бит 0), чтобы прежняя программа обработки прерывания ничего не заподозрила. И еще самое главное у меня возникла проблема именно с кодом отжатия клавиши, а не нажатия, т.е. про команду FEh я знаю, но поле ее посылки в ответ на код отжатия клавиши в выходной буфер почему-то помещается опять код нажатия а не отжатия клавиши и получается, однажды нажав домустим клавишу shift она никогда не отпускается. Или у меня клавиатура такая.
Да еше если запускать тестовую программу под Virtual PC, то в буфер помещается код отжатия и все работает правильно, а в реальных условиях (под XP),когда работаешь на аппаратном уровне - возникает проблема.


Дата: Янв 2, 2004 21:35:13

PROFi, ты в этом вопросе не чайник, а я чайник. Но ты пробовал читать Хайда, глава 20. Там что-то было написано. А программировать контроллер хоть в досе, хоть в винде в кольце-0, кажись, одинаково. Понятное дело, приходится учитывать, что ты не один, но так ведь и книги есть...


Дата: Янв 3, 2004 00:41:47

volodya, вообще-то возможно ответ будет в документации по типу intel'ловских мануалов по процессорам или floppy контроллерам, но к сожалению я в и-нете ничего по-поводу процессора используемого в клавиатуре и контролера i8042 не нашел, только общие фразы по типу Хайда, а конкретной спецификации, возможно даже с описанием сигналов и временных задержек нет.
Но я пока пришел к выводу что наверное виной всему моя китайская клавиатура, надо будет выложить мою тестовую программу и попросить чтобы кто-нибудь проверил ее на своей клавиатуре, а то работа над отладчиком застопорилась.


Дата: Янв 3, 2004 00:48:47


Дата: Янв 3, 2004 01:14:58

volodya, спасибо конечно, но это не совсем то. Это поверностно, попробую поискать описание i8042 на intel.com.


Дата: Янв 5, 2004 04:17:41

PROFi
как можно перехватив вызов прерывания от клавиатуры и считав код из выходного буфера, вновь заставить клавиатуру послать код посленей отажатой клавиши
Какая ОС?


Дата: Янв 5, 2004 06:00:19

Я делал NT фильтер-драйвер для отключения кнопок power/sleep/wake. Смотри kbfilter в NTDDK, или ctrl2cap от Руссиновича (www.sysinternals.com). В NTDDK даже есть исходник от самого i8042.sys


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.057