Форум: "Система";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
ВнизБуфер клавиатуры. Найти похожие ветки
← →
Brand (2001-12-13 23:25) [0]Есть такая информация : Для того, чтобы можно было записать в буфер 15 элементов необходимо, чтобы был 16-ый элемент с кодом клавиши <Enter>. Этот элемент располагается перед указателем головы буфера.
В своей программе я показываю постоянно буфер клавиатуры. Видно как он заполняется как-раз до этой позиции с кодом <Enter> Дальнейший ввод блокируется. Казалось-бы, что этот <Enter> необходим для идентификации конца буфера, однако, прочитав пару символов, указатель хвоста сдвигается, а код с клавишей <Enter> остается на месте. Более того потом можно еще нажимать клавиши и это поле с <Enter> портится.
Так для чего нужно это поле с <Enter>???
← →
MBo (2001-12-14 09:29) [1]>Для того, чтобы можно было записать в буфер 15 элементов необходимо
Enter тут ни при чем
в $41a и $41c содержатся адреса начала и конца буфера
(32 байта с $41e по $43d - коды нажатых-отпущенных клавиш)
буфер, насколько помню, кольцевой. При заполнении пищит.
при чтении буфера указатели сдвигаются, совпали - пусто.
если ты каким-то левым образом записал код Enter-а, не внеся его в очередь, то буфер о нем и не знает и считать его не сможешь.
(насколько я понимаю, хочешь эмулировать ввод команды с клавы)
для правильной работы, думаю, надо ввести код нажатия и отпускания Enter и сдвинуть указатель на 2 байта.
← →
Brand (2001-12-18 23:52) [2]Ничего я эмулировать не хочу. Просто в институте училка попросила вывести буфер клавиатуры на экран, типа там должен быть Enter. И действительно там он есть при каждом запуске *.exe файла на том месте где я писал. Так вот училка мне и говорит, что все знают, что он там есть, но зачем, незнает никто. Может это просто совпадение, потому-что запускается экзешник клавишей Enter и при запуске проги он получается самый последний.
И еще, если запускаю прогу из компилятора то там совсем не Enter.
← →
Someone (2001-12-19 02:05) [3]> И еще, если запускаю прогу из компилятора то там совсем не Enter.
Ну так компилятор же не нажимает на кнопки, а запускает программу другим способом.
← →
MBo (2001-12-19 09:52) [4]>но зачем, незнает никто
нелепо. Ты его нажал - вот он там и остался, пока не затрется следующим вводом (~16 нажатий спустя). Почему остался - см. устройство буфера.
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c