Цитата Сообщение от Grand Посмотреть сообщение
У одного из моих друзей есть ATM Turbo (плата версии 7.10) выпуска наверное середины 1990-х годов. При работе с XT-клавиатурой часто бывает так, что клавиша начинает повторяться, как будто ее не отпустили (на IBM PC такой эффект иногда наблюдается в эмуляторе RealSpectrum). Можно ли это как-то устранить?
Значит, есть пропуск скан-кодов. При отжатии клавиши сначала идет код отжатия, потом скан-код отжатой клавиши. (это на АТ/PS2, но думаю, что и на XT происходит нечто аналогичное).
Когда я писал прошивку МК для PS2 клавиатуры, у меня возникла аналогичная проблема. Иногда (примерно 1 раз на 50 нажатий - редко, но неприятно) первый бит (вместе со стартовым битом) кода отжатия считывался неверно и клавиша 'залипала'. Это даже при чтении данных по прерываниям от клока клавиатуры! Удалось устранить эффект программно. Оказывается, скан-кода, такого же как и код отжатия, но с проинверированным первым битом не существует. Т.е. если был принят такой скан-код, то это с вероятностью 100% код отжатия. После модификации программы неприятность пропала.