Как заблокировать клавиатуру так, чтобы потом в досе при нажатии Ctrl-Alt-Delete она разблокировалась и завершилась программа(которая ее блокирует)?
Не понял. Что значит "заблокировать"? Ну поставь свой обработчик на IRQ клавы и делай что хочешь. кто мешает то. ЗЫ. тема не по разделу
Данная часть форума относиться также к программированию микроконтроллеров. Установка своего обработчика имеет к этому отношение. Так что тема по разделу. Меня интересует выход из обработчика и разблокировка клавы(под блокированием понимается то, что когда жмешь на клавиши ничего не происходит). Если блокировать ее mov al,0ADh out 64h,ah То устанавливаются ли потом в байте 0417h биты клавиш(Ctrl и Alt)?
Вопрос на засыпку: как ты собираешься узнавать, нажат ли аккорд или что ещё, если запретил работу с клавиатурой? в 64 порт команды не пишутся. Он управляет контроллером PS/2, там же отражается его состояние. Для общения с клавиатурой служит 60-й порт (как на чтение, так и на запись команд). Если очень сильно надо, напишу подробнее.
Vov4ick Суть в том что ctrl+alt+del обрабатывается не как обычные клавиши процессором который в клавиатуре, а если mov al,0ADh out 64h,ah то я даже не знаю, по идее тогда cntr+alt+del тоже не будет. Как заблокировать - перехватить прерывание IRQ 1 (оно же INT 9 в норме), или перенастроинть контроллер прерываний на другой вектор. Написать свой обработчик клавиатуры и в нем ослеживать ctrl+alt+del, предварительно установив в CMOS, что перезагружать комп по ctrl+alt+del не нужно.
дык вроде CMOS тут не при чем - это раз. перезагрузка по Ctrl-Alt-Del осуществляется просто биосовским обработчиком IRQ1. Ты про Shutdown Byte? Только я не понял, зачем это менять тебе надо. Просто обрабатывать Ctrl-Alt-Del и генерить ресет будет достаточно