Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как словить одиночное нажатие Shift'а в 9-м прерывании?

2.0K
27 апреля 2003 года
foras
12 / / 07.12.2002
Нужно по Shift`у менять значение переменной. Старое прерывание 09h скорее всего не записывает скан код в буфер, что делать?
443
27 апреля 2003 года
REmindER
292 / / 23.03.2003
Цитата:
Originally posted by foras
Нужно по Shift`у менять значение переменной. Старое прерывание 09h скорее всего не записывает скан код в буфер, что делать?


А ты проверяй биты 0 и 1 для правого шифта и левого соответственно в ячейке памяти 0040:0017. Единичное состояние означает нажатую клавишу. Полностью карта значений байта выглядит так:
0040:0017
бит 7 - Insert (режим включен, когда 1);
бит 6 - CapsLock (режим включен, когда 1);
бит 5 - NumLock (режим включен, когда 1);
бит 4 - ScrollLock (режим включен, когда 1);
бит 3 - Alt нажатие;
бит 2 - Ctrl нажатие;
бит 1 - Left Shift нажатие;
бит 0 - Right Shift нажатие;
0040:0018
бит 7 - Insert нажатие;
бит 6 - CapsLock нажатие;
бит 5 - NumLock нажатие;
бит 4 - ScrollLock нажатие;
бит 3 - Ctrl+NumLock включен.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог