Подскажите, пожалуйста, как работать с диодами на клавиатуре?
Лампочки (диоды) на клавиатуре
Лампочки (диоды) на клавиатуре
|
01.12.2009 17:28:08
|
|
|
|
|
|
01.12.2009 18:13:52
Легко делается на WinApi.
Функция keybd_event эмулирет нажатие клавиши. Вызываем ее дважды для генерирования сообщений WM_KEYUP и WM_KEYDOWN. |
|||
|
|
|
|
01.12.2009 18:36:32
Андрей,
Этот код годится только для Delphi. А мне нужно на чистом Pascal (Tubo Pascal) - прямая работа с контроллером
Изменено:
Иван Седаков - 01.12.2009 18:36:58
|
|
|
|
|
|
01.12.2009 20:52:27
На паскале это даже проще чем на delphi. Вот простая процедура она зажигает диоды на клавиатуре
А вот и список того каким должен быть state чтобы зажечь определенный диод NUM = 32; CAPS = 64; SCROLL = 16; |
|||
|
|
|
|
01.12.2009 21:22:48
Артём Кулинич,
А как зажечь 2 лампочки сразу? |
|
|
|
|
|
01.12.2009 21:30:18
Очевидно, что написать два раза Mem[...
Вот только код Артёма работать будет только под DOS, Win32 такие обращения с памятью не допускает. |
|
|
|
|
|
01.12.2009 21:34:24
Артём Кулинич,
Выдается такая ошибка "Error 42: Error in expression." |
|
|
|
|
|
01.12.2009 21:45:09
Понятно. Код не полностью представлен. После Seg0040: должен идти $17
Не понимаю почему, эта часть скрылась.
Изменено:
Артём Кулинич - 01.12.2009 21:48:30
|
|
|
|
|
|
02.12.2009 17:37:53
Я знаю еще такой способ.
Включение Scroll
Включение Caps
Включение Num
|
|||||||
|
|
|
|
02.12.2009 17:41:48
Можно попробовать отправить сумму нескольких клавиш. При учете написанного выше сделать можно так.
|
|||||
|
|
|
|
02.12.2009 18:10:06
Этот модуль позволяет работать с диодами на клавиатуре. думаю по именам функция понятно их назначение, если нет - спрашивайте. Работает все очень просто. В качестве параметра и нужно использовать:
0 - погасить. 1 - зажечь. 2 - инвертировать.
Изменено:
Иван Прокофьев - 02.12.2009 18:11:22
|
||||
|
|
|
|||
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)