Оберон-клуб «ВЄДАsoft» https://zx.oberon.org/forum/ |
|
Буферизованный опрос клавиатуры https://zx.oberon.org/forum/viewtopic.php?f=10&t=221 |
Страница 1 из 1 |
Автор: | Zorko [ 26 ноя 2014, 12:15 ] | ||
Заголовок сообщения: | Буферизованный опрос клавиатуры | ||
Реализовал для игры Dark Woods (и, соответственно, для ZXDev) буферизованный опрос клавиатуры на прерываниях (в режиме IM 2). Обработчик прерываний заносит коды нажатых клавиш в кольцевой буфер, а процедура опроса их извлекает. Переполнение буфера обрабатывается таким способом, что нажатые ранее клавиши теряются. Здесь закономерно считаем, что более актуальны клавиши, нажатые позднее. Эта стратегия кажется более удачной, чем игнорирование всех клавиш, нажатых после переполнения буфера (как в контроллере клавиатуры IBM PC). Идея кольцевого буфера с двумя указателями на чтение и запись взята из книги Никлауса Вирта «Проект Оберон. Разработка операционной системы и компилятора» и использована мною также в обработчике нажатий клавиш для Java ME (там коды заносятся в буфер и извлекаются из него в разных потоках исполнения). Код: "OBERON"
Тема «Процедура опроса клавиатуры» на zx.pk.ru
|
Страница 1 из 1 | Часовой пояс: UTC + 2 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |