Клавиатура
От: Arsenicum Россия  
Дата: 13.04.05 02:03
Оценка:
Давно наблюдаю уже такую вещь — нажимаю по порядку(не отпуская) несколько кнопок и после того, как уже нажато четыре-пять нажатие следующей не срабатывает. Проверяю в Пуск->Выполнить — нажимаю q,w,e,r а на t символы уже не вводятся.
Кто-нибудь знает очему так происходит и как с этим бороться?
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re: Клавиатура
От: MNZ Россия  
Дата: 13.04.05 11:23
Оценка:
Здравствуйте, Arsenicum, Вы писали:

A>Давно наблюдаю уже такую вещь — нажимаю по порядку(не отпуская) несколько кнопок и после того, как уже нажато четыре-пять нажатие следующей не срабатывает. Проверяю в Пуск->Выполнить — нажимаю q,w,e,r а на t символы уже не вводятся.

A>Кто-нибудь знает очему так происходит и как с этим бороться?

Некоторые вводятся, y, например. Наверное, особенности работы контроллера клавиатуры. Фантомные клавиши, там, или ещё что-нибудь в этом роде.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[2]: Клавиатура
От: Alter_ Украина http://alter.org.ua
Дата: 13.04.05 11:29
Оценка:
Здравствуйте, MNZ, Вы писали:

MNZ>Здравствуйте, Arsenicum, Вы писали:


A>>Давно наблюдаю уже такую вещь — нажимаю по порядку(не отпуская) несколько кнопок и после того, как уже нажато четыре-пять нажатие следующей не срабатывает. Проверяю в Пуск->Выполнить — нажимаю q,w,e,r а на t символы уже не вводятся.

A>>Кто-нибудь знает очему так происходит и как с этим бороться?

MNZ>Некоторые вводятся, y, например. Наверное, особенности работы контроллера клавиатуры. Фантомные клавиши, там, или ещё что-нибудь в этом роде.


Ага, именно особенности.
Бороться — запрограммировать однокристалку и засунуть ее вместо родной.
Или хорошо поискать, возможно в сторону multimedia keyboards. Один раз в жизни (в далеком 199каком-то году) я такую видел.
--
Alter, http://alter.org.ua
Re[3]: Клавиатура
От: Arsenicum Россия  
Дата: 13.04.05 16:03
Оценка:
Здравствуйте, Alter_, Вы писали:

MNZ>>Некоторые вводятся, y, например. Наверное, особенности работы контроллера клавиатуры. Фантомные клавиши, там, или ещё что-нибудь в этом роде.

Действительно начинаю верить в мистику

A_>Ага, именно особенности.

A_>Бороться — запрограммировать однокристалку и засунуть ее вместо родной.
A_>Или хорошо поискать, возможно в сторону multimedia keyboards. Один раз в жизни (в далеком 199каком-то году) я такую видел.
Что за ммклавиатуры? Слышал уже что-то про них... Это не те, которые через USB с 20 дополнительными кнопоками на винампы, оутлуки?

Я думаю что дело в дровах Виндов, имхо даже DirectInput не спасает — в играх глюки те же. На этой же машине под чистым ДОСом я писал прогу, которая напрямую работает с контроллером. Там у меня хоть всю клаву вдави — все срабатывало. Нажал кнопки — приходит из порта байт с старшим битом 1, отпускаешь — тот же байт, только старший бит установлен в 0.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[4]: Клавиатура
От: Privalov  
Дата: 14.04.05 05:18
Оценка:
Здравствуйте, Arsenicum, Вы писали:

A>Я думаю что дело в дровах Виндов, имхо даже DirectInput не спасает — в играх глюки те же.


Может быть. Слишком медленно считываются scan-коды из аппаратного буфера. Кстати, его емкость как раз 4 кода. (Буфер клавиатуры из области данных BIOS — нечто другое).

A>...На этой же машине под чистым ДОСом я писал прогу, которая напрямую работает с контроллером. Там у меня хоть всю клаву вдави — все срабатывало. Нажал кнопки — приходит из порта байт с старшим битом 1, отпускаешь — тот же байт, только старший бит установлен в 0.


И, AFAIK, старший бит приходит установленным как раз при отпускании клависи.
Re[5]: Клавиатура
От: SunChess  
Дата: 15.04.05 11:47
Оценка:
Есть мнение, что аппаратура не причем — в ней же контроллер прост до идиотизма —
при печати платы станку просто негде ошибаться.

Скорее всего, какая-то софтулина с хуками некорректно работает.
Re[6]: Клавиатура
От: Privalov  
Дата: 18.04.05 05:01
Оценка:
Здравствуйте, SunChess, Вы писали:

SC>Есть мнение, что аппаратура не причем — в ней же контроллер прост до идиотизма —

SC>при печати платы станку просто негде ошибаться.

Я и не говорил, что аппаратура причем. Хотя про аппаратный буфер — это я немного перебрал. Ввод тормозит, конечно, уровнем повыше.

И все-таки из-за слишком медленной обработки. Тормозит диалоговое окно "Run". Это вообще может быть глюк EditText-а.
Re[5]: Клавиатура
От: Arsenicum Россия  
Дата: 26.04.05 15:40
Оценка:
Здравствуйте, Privalov, Вы писали:

...
P>Может быть. Слишком медленно считываются scan-коды из аппаратного буфера.
Как можно медленно считать скан код?? Имхо такое возможно только если ОСь очень сильно повисла = умерла.

...
P>Кстати, его емкость как раз 4 кода. (Буфер клавиатуры из области данных BIOS — нечто другое).
Я не говорил ничего про буферы. Имеется ввиду контроллер клавиатуры и работа с ним через порты ввода-вывода. То есть на процессор приходит IRQ1 и его обработчик читает скан-код из порта.

...
P>И, AFAIK, старший бит приходит установленным как раз при отпускании клависи.
Спасибо что поправили. Глянул в справочник — так и есть.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Драйвера на клавиатуру
От: Arsenicum Россия  
Дата: 26.04.05 15:40
Оценка:
Если кто-нибудь писал драйвера на клавиатуру или около того, то напишите пожалуйста об этом. Спасибо за внимание.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[6]: Клавиатура
От: Privalov  
Дата: 27.04.05 05:24
Оценка:
Здравствуйте, Arsenicum, Вы писали:

A>Как можно медленно считать скан код?? Имхо такое возможно только если ОСь очень сильно повисла = умерла.


Понятно, что команда in al, 60h выполняется быстро. Но драйвер клавиатуры, возможно, не успевает завершить обработку нажатия клавиши до прихода следующего. Слишком мал интервал между нажатиями. Пока ОСь превратит scan-код в сообщение, пока поставит в очередь — это довольно долгая песня.
Иногда, правда, включается автоповтор последней нажатой клавиши. Кстати, со встроенным в BIOS обработчиком IRQ1 такой эффект не наблюдался мной ни разу.

A>Я не говорил ничего про буферы. Имеется ввиду контроллер клавиатуры и работа с ним через порты ввода-вывода. То есть на процессор приходит IRQ1 и его обработчик читает скан-код из порта.


Дак я же не с замечаниями к вам полез с этим буфером клавиатуры. Это, скорее, заметки на полях.

A>Спасибо что поправили. Глянул в справочник — так и есть.

Re: Драйвера на клавиатуру
От: Privalov  
Дата: 27.04.05 05:25
Оценка:
Здравствуйте, Arsenicum, Вы писали:

A>Если кто-нибудь писал драйвера на клавиатуру или около того, то напишите пожалуйста об этом. Спасибо за внимание.


Давным-давно для MSDOS делал...
Re[2]: Драйвера на клавиатуру
От: Arsenicum Россия  
Дата: 29.04.05 14:28
Оценка:
Здравствуйте, Privalov, Вы писали:

P>Здравствуйте, Arsenicum, Вы писали:


A>>Если кто-нибудь писал драйвера на клавиатуру или около того, то напишите пожалуйста об этом. Спасибо за внимание.


P>Давным-давно для MSDOS делал...


Конечно же надо было сказать что драйвер под Win32 С MS-DOS'ом и я баловался.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re[7]: Клавиатура
От: Кодт Россия  
Дата: 29.04.05 15:27
Оценка:
Здравствуйте, Privalov, Вы писали:

A>>Как можно медленно считать скан код?? :???: Имхо такое возможно только если ОСь очень сильно повисла = умерла.


P>Понятно, что команда in al, 60h выполняется быстро. Но драйвер клавиатуры, возможно, не успевает завершить обработку нажатия клавиши до прихода следующего. Слишком мал интервал между нажатиями. Пока ОСь превратит scan-код в сообщение, пока поставит в очередь — это довольно долгая песня.


Ну, скорость здесь не при чём. Я могу лупить по клавишам со страшной скоростью — и всё будет печататься.
А вот больше 4 клавиш одновременно нажать — уже не выйдет.
По-видимости, это драйвер сознательно ограждает виндоуз от паданья лицом на клавиатуру. Если нажато более 4 букв — отдыхает.

Кстати, очень простая проверка этого факта: adagio, 4/4,
нажимаем (и не отпускаем) q,w,e,r — выводится текст qwer
нажимаем t,y,u — ничего не выводится
отпускаем q
отпускаем w
отпускаем e
отпускаем r — сейчас зажаты t,y,u — выводит tyuuuuuuuuuuuuuuuuuuuuu.
Перекуём баги на фичи!
Re[8]: Клавиатура
От: Аноним  
Дата: 29.04.05 17:10
Оценка:
К>Кстати, очень простая проверка этого факта: adagio, 4/4,
К>нажимаем (и не отпускаем) q,w,e,r — выводится текст qwer
К>нажимаем t,y,u — ничего не выводится
К>отпускаем q
К>отпускаем w
К>отпускаем e
К>отпускаем r — сейчас зажаты t,y,u — выводит tyuuuuuuuuuuuuuuuuuuuuu.

бывает веселее — t глотается, и y тоже (зажал qwertyui)
Re: Клавиатура
От: Eugeny__ Украина  
Дата: 30.05.05 07:31
Оценка:
Здравствуйте, Arsenicum, Вы писали:

A>Давно наблюдаю уже такую вещь — нажимаю по порядку(не отпуская) несколько кнопок и после того, как уже нажато четыре-пять нажатие следующей не срабатывает. Проверяю в Пуск->Выполнить — нажимаю q,w,e,r а на t символы уже не вводятся.

A>Кто-нибудь знает очему так происходит и как с этим бороться?

Меня эта багофича дико бесит во время игры в quake. Фишка еще и в том, что иногда в таких случаях блокируются также события мыши, и получается, что вместо одновременно стрейф влево + назад + смена оружия + смена режима нажатия клавиш + разворот на 90 градусов вправо + выстрел получается что-то без одного-двух действий(смотря, что нажмешь последним). Сколько раз так в стенку вплотную с ракетницы попадал. Эх....
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Re[8]: Клавиатура
От: Eugeny__ Украина  
Дата: 30.05.05 07:31
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Privalov, Вы писали:


A>>>Как можно медленно считать скан код?? Имхо такое возможно только если ОСь очень сильно повисла = умерла.


P>>Понятно, что команда in al, 60h выполняется быстро. Но драйвер клавиатуры, возможно, не успевает завершить обработку нажатия клавиши до прихода следующего. Слишком мал интервал между нажатиями. Пока ОСь превратит scan-код в сообщение, пока поставит в очередь — это довольно долгая песня.


К>Ну, скорость здесь не при чём. Я могу лупить по клавишам со страшной скоростью — и всё будет печататься.

К>А вот больше 4 клавиш одновременно нажать — уже не выйдет.
К>По-видимости, это драйвер сознательно ограждает виндоуз от паданья лицом на клавиатуру. Если нажато более 4 букв — отдыхает.



К>Кстати, очень простая проверка этого факта: adagio, 4/4,

К>нажимаем (и не отпускаем) q,w,e,r — выводится текст qwer
К>нажимаем t,y,u — ничего не выводится
К>отпускаем q
К>отпускаем w
К>отпускаем e
К>отпускаем r — сейчас зажаты t,y,u — выводит tyuuuuuuuuuuuuuuuuuuuuu.

Похоже на правду.
Повбывав бы тех, кто это придумал . Зато я теперь знаю, кого матюкать, когда в quake режусь!
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.