При обработке прерывания клавиатуры вы сохраняете полученный символ где-то. Этот символ всегда печатается на экране? Если нет: откуда вы знаете, когда вам нужно писать экран?Является ли символ, полученный прерыванием клавиатуры, всегда печатается на экране?
ответ
Прерывание клавиатуры практически никогда не будет эхо-символа на экране.
Но функция ОС, которая доставляет символы в приложение, может отображать такой символ на экране.
Итак, задача программы - прочитать символы, хранящиеся в буфере данных клавиатуры, и распечатать их на экране? – gilianzz
Некоторые функции ОС сделают это для вас. Очевидно, что всегда можно вручную читать из буфера данных клавиатуры и печатать на экране. –
При обработке прерывания клавиатуры вы сохраняете полученный символ в буфере (размер может быть только 1 байт или содержать несколько штрихов), а также количество символов в буфер. Простейшая форма - это один ключевой штрих и флаг. Обработчик прерываний сохраняет значение ключа в буфере и устанавливает флаг. Ваш «основной цикл» или вызов обработки ввода (независимо) видит флаг, собирает данные об ударе ключа, а затем очищает флаг.
Не смешивайте два разных устройства в одном и том же устройстве.
Но когда данные получены, как программа знает, когда писать их на экран? – gilianzz
Потому что вы пишете программу таким образом, и вы пишете на экране, когда хотите это сделать. Возможно, вы читаете клавиатуру по разным причинам в разных местах и не всегда можете * хотеть * клавишу, которая будет отображаться. Обработчик прерываний - это клавиатурный читатель - ничего другого. Вы предоставляете интерфейс (как я описал) вашей основной программе. Затем, когда вы меняете тип клавиатуры, вам не нужно переписывать, как она используется в программе: у вас есть драйвер. –
- 1. Всегда показывать ввод клавиатуры на экране
- 2. Набор клавиатуры на экране
- 3. Как спасти git-фиксацию с прерыванием клавиатуры
- 4. FragmentActivity всегда на экране
- 5. Является ли результат, полученный после SMOTE надежным?
- 6. На нижнем уровне, как символ печатается на консоль
- 7. Является ли мой Flash SWF на экране?
- 8. недопустимый символ печатается в программе
- 9. Строка состояния всегда на экране
- 10. как напечатать символ на экране
- 11. Как узнать, является ли прерывание аппаратным прерыванием или исключением cpu
- 12. Как получить символ, полученный с помощью переноса?
- 13. Является ли символ Javascript?
- 14. mvaddch не перезаписывает символ на экране
- 15. Addin Button на экране блокировки клавиатуры ANDROID
- 16. Автоматизация с помощью клавиатуры на экране монитора.
- 17. Сила клавиатуры для отображения на экране
- 18. Предотвращение увольнения клавиатуры на сенсорном экране UITableView
- 19. (gensym) всегда уникален, `(символ #) не является - почему?
- 20. Подавление вывода теста стационарности, которое печатается на экране
- 21. PHP-результат из sql-массива, который не печатается на экране
- 22. содержания изображения печатается на экране после установки WordPress прикрепления
- 23. Как определить, является ли символ китайский символ
- 24. Последний символ не печатается в файл
- 25. Является ли UDP всегда ненадежным?
- 26. Печать содержимого указателя int всегда печатается -2
- 27. Показать результаты fgetc как символ на экране
- 28. Проверьте, является ли символ `quote`?
- 29. Почему какой-то элемент не всегда печатается?
- 30. Проверка, является ли символ цифрой
Наверняка вы набрали пароль раньше? –