Страницы

Поиск по вопросам

понедельник, 4 февраля 2019 г.

При нажатии комбинации клавиш раздаётся звук и ввода нет

Например, не работают сочетания Space + → + ← d + f + 3 d + f + 5
Но при этом работают d + f + 4 d + f + 6
Система начинает издавать сигналы, как при залипании клавиш.
Если открою стандартный windows блокнот, и зажму d + f + 6, то в блокнот будет записываться 6666666666666666666...
Если зажму d + f + 5, то ничего записываться не будет, будет сигнал звуковой через каждые 0.8 секунды. Залипание клавиш отключено.
Как узнать из-за чего подобное?


Ответ

Это называется Key jamming and ghosting. Сама по себе технология изготовления дешевых клавиатур - две пленки с пересекающимися дорожками - накладывает ограничение на количество одновременных нажатий. Но при этом экономит материалы - не надо вести два провода к каждой кнопке! Т.е. из матрицы n + m проводов получается сделать аж n * m кнопок. Но это вызывает проблему определения одновременных нажатий:
Например, кнопки A, B, C, D могут быть реализованы двумя парами дорожек: A1, A2, B1, B2:
A замыкает A1, B1 B замыкает A1, B2 C замыкает A2, B1 D замыкает A2, B2
и вот при нажатии одновременно на A+B+C получаются замкнуты еще и A2, B2, хотя D не нажата. Это эффект Keyboard Ghosting. D - кнопка-призрак.
Это не так страшно при наборе текста - но вот в играх это вызывает неприятный эффект. Пытался подпрыгнуть и повернуть одновременно - и бросил себе под ноги гранату.
Производители клавиатур решают эту следующими хаками:
делают разводку, которая учитывает стандартные раскладки в играх (WASD) для того же WASD впаивают isolation diodes (что удорожает клавиатуру) для всех остальных проблемных комбинаций - тупо игнорируют их и выдают ошибку
Последнее называется Keyboard Jamming, и вот именно его вы и наблюдаете. Для дешевых клавиатур это срабатывает примерно на 5% трехбуквенных комбинаций.
Объяснение проблемы и тулза для теста на сайте MS Applied Sciences
Статья в вики на эту тему

Комментариев нет:

Отправить комментарий