История изменений
Исправление debugger, (текущая версия) :
ты прикалываешься чтоли? не срабатывает на полных нажатиях.
это програмная проблема Клавиатура для быстрой печати (комментарий)
Моя клавиатура работает под управлением QMK. Там есть фишка под названием «макросы»:
- Нажимаешь первую волшебную клавишу — включается запись макроса.
- Нажимаешь клавиши — они отправляются компу и записываются.
- Нажимаешь вторую волшебную клавишу — запись останавливается.
- Нажимаешь третью волшебную клавишу — ранее записанные клавиши отправляются компу.
Так вот, только что специально записал длинный (65 клавиш: 64 раза клавиша x
и один раз клавиша Enter
в конце) макрос, потом нажимал клавишу воспроизведения много раз. Ни одного пропуска клавиш не обнаружил. В пяти текстовых редакторах (gedit, geany, mcedit, Gnome Text Editor, LibreOffice Writer) наблюдаю ровные колонки текста.
Повторил эксперимент с xev
, вот фрагмент лога:
KeyPress event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748519, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XmbLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748519, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
KeyPress event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748520, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XmbLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748521, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
<...>
Вычленил все строчки с time
из лога:
time 427748519
time 427748519
time 427748520
time 427748521
<...>
time 427748642
time 427748643
time 427748644
time 427748645
Между первым и последним событиями 427748645 − 427748519 = 126 мс. Записанных клавиш — 65 (130 событий: 65 нажатий, 65 отжатий). Другими словами, на моей системе через иксы клавиши проходят со скоростью примерно 65 клавиш за 126 мс, или 515 клавиш в секунду.
Записал другой макрос, с буквами в разных регистрах (читай: с нажатиями шифта). Пропусков тоже не видел.
Может ли быть проблема в софте? Может. Но я бы поставил на кривые руки — я чой-то не верю что ТС и теодор печатают быстрее, чем 515 клавиш в секунду. Скорее всего, на большой скорости подводят руки: либо какие-то клавиши не дожимаются, либо вторая клавиша нажимается до того, как будет отпущена первая, либо что-то подобное.
Исходная версия debugger, :
не срабатывает на полных нажатиях.
Моя клавиатура работает под управлением QMK. Там есть фишка под названием «макросы»:
- Нажимаешь первую волшебную клавишу — включается запись макроса.
- Нажимаешь клавиши — они отправляются компу и записываются.
- Нажимаешь вторую волшебную клавишу — запись останавливается.
- Нажимаешь третью волшебную клавишу — ранее записанные клавиши отправляются компу.
Так вот, только что специально записал длинный (65 клавиш: 64 раза клавиша x
и один раз клавиша Enter
в конце) макрос, потом нажимал клавишу воспроизведения много раз. Ни одного пропуска клавиш не обнаружил. В пяти текстовых редакторах (gedit, geany, mcedit, Gnome Text Editor, LibreOffice Writer) наблюдаю ровные колонки текста.
Повторил эксперимент с xev
, вот фрагмент лога:
KeyPress event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748519, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XmbLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748519, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
KeyPress event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748520, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XmbLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
KeyRelease event, serial 38, synthetic NO, window 0x3e00001,
root 0x6cd, subw 0x0, time 427748521, (1113,729), root:(2413,898),
state 0x10, keycode 53 (keysym 0x78, x), same_screen YES,
XLookupString gives 1 bytes: (78) "x"
XFilterEvent returns: False
....
Вычленил все строчки с time
из лога:
time 427748519
time 427748519
time 427748520
time 427748521
time 427748642
time 427748643
time 427748644
time 427748645
Между первым и последним событиями 427748645 − 427748519 = 126 мс. Записанных клавиш — 65 (130 событий: 65 нажатий, 65 отжатий). Другими словами, на моей системе через иксы клавиши проходят со скоростью примерно 65 клавиш за 126 мс, или 515 клавиш в секунду.
Записал другой макрос, с буквами в разных регистрах (читай: с нажатиями шифта). Пропусков тоже не видел.
Может ли быть проблема в софте? Может. Но я бы поставил на кривые руки — я чой-то не верю что ТС и теодор печатают быстрее, чем 515 клавиш в секунду. Скорее всего, на большой скорости подводят руки: либо какие-то клавиши не дожимаются, либо вторая клавиша нажимается до того, как будет отпущена первая, либо что-то подобное.