Важная информация

User Tag List

Показано с 1 по 4 из 4

Тема: Процедура против залипания клавиатуры

  1. #1
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,554
    Спасибо Благодарностей отдано 
    922
    Спасибо Благодарностей получено 
    871
    Поблагодарили
    635 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    Question Процедура против залипания клавиатуры

    Суть такая. Хочется написать такую процедурку, которая будет вызываться сразу после нажатия любой клавиши, и будет крутить цикл, пока клавиша не будет отпущена. Вроде просто, но чета не выходит...
    Подскажите?
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2
    Guru
    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    13,767
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    142
    Спасибо Благодарностей получено 
    1,173
    Поблагодарили
    770 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    делай два вызова, один крутится пока что-то ненажалось, второй крутится когда что-то нажато
    Код:
    loop1 call keys
          jr nz,loop1
    loop2 call keys
          jr z,loop2
    надеюсь про xor a; in a,(#fe) + отброс ненужных битов ты знаешь

    иногда отсутствие такого варианта реально бесит.
    например в R-TYPE для выбора клавиш управления надо нажать в меню ENTER,
    если последняя выбранная кнопка (смена оружия) будет ENTER
    игра её назначит, быстро выйдет в меню и снова будет переход в режим выбора клавиш
    Последний раз редактировалось goodboy; 06.12.2017 в 01:00.

  4. #3
    Master Аватар для DenisGrachev
    Регистрация
    15.04.2011
    Адрес
    г. Новосибирск
    Сообщений
    741
    Спасибо Благодарностей отдано 
    39
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    44 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Все эти беды от "дребезга" клавиатуры, нужен "антидребезг" или deBounce по буржуйски, типо того что в ПЗУ Я пользуюсь таким, из z88dk keyboardLib.a80
    Нужно только настроить параметры под себя KeyDebounce, KeyStartRepeat, KeyRepeatPeriod

  5. #4
    Master
    Регистрация
    27.01.2005
    Сообщений
    894
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    172
    Поблагодарили
    138 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Полноценный обработчик клавиш с антидребезгом.

    Для ZX-клавиатуры. https://github.com/salextpuru/sdcc-n...bsrc/libzxkbd/
    Для PS/2-клавиатуры. https://github.com/salextpuru/sdcc-n.../libsrc/libps2


    там все на АСМе в основном, но фронтенд на С.

    Если подойдёт, конечно. Там нет обработки одновременного нажатия нескольких клавиш. Только капсы и шифты.

    Раскладка KOI8-R. Таблички легко поменять.

    Примеры-тесты рядом:
    https://github.com/salextpuru/sdcc-n...pps/test-zxkbd
    https://github.com/salextpuru/sdcc-n...ps/test-ps2kbd
    Последний раз редактировалось SfS; 06.12.2017 в 06:47.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Процедура опроса клавиатуры
    от DimkaM в разделе Для начинающих
    Ответов: 13
    Последнее: 25.12.2014, 14:46
  2. процедура загрузки с диска
    от necroTrue в разделе Программирование
    Ответов: 18
    Последнее: 18.08.2011, 17:18
  3. Процедура рисования линии
    от newart в разделе Программирование
    Ответов: 3
    Последнее: 17.08.2008, 14:36
  4. Процедура детекта TurboSound.
    от Shiru в разделе Программирование
    Ответов: 21
    Последнее: 27.05.2005, 18:45
  5. Процедура опроса клавиатуры
    от Aprisobal в разделе Программирование
    Ответов: 8
    Последнее: 19.02.2005, 18:12

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •