Клавиша PrintScreen - «повторяемая»? - PullRequest
0 голосов
/ 28 апреля 2020

Я использую программу xev для проверки событий клавиатуры и некоторых важных для меня вещей:

1) Caps Lock и Num Lock не повторяются (в отличие, скажем, a).

2) Блокировка прокрутки, в отличие от (1), повторяется.

3) Esc повторяется.

4) PrintScreen не повторяется

Я не знаю, как это интерпретировать (фактический вопрос возникает позже, но я хочу построить некоторый контекст, чтобы можно было дать ответ в этом контексте, если это применимо). Мое ограниченное знание клавиатуры - я «нажимаю» на клавишу, и генерируется некоторый электрический сигнал, который достигает материнской платы. Теперь есть «обработчики прерываний», которые представляют собой код, который выполняет действия при таком событии. Я предполагаю, что ядро ​​настроило код для передачи этих ключей на «передний план» tty / DISPLAY.

Мне интересно (все еще не вопрос), кто решает это "повторяемое поведение"? Это сигнал клавиатуры посылает? Я думаю, не потому, что на X, вы можете сделать xset r rate. Поэтому, возможно, ядро ​​сообщает X, что такая клавиша находится в нажатом состоянии, а X интерпретирует эту информацию и решает, что отправлять повторяющиеся события для определенных клавиш (с определенной скоростью) и неповторяющиеся события для других.

Тем не менее, меня удивило то, что i3 смог "преобразовать" неповторяющийся сигнал PrintScreen в повторяющийся. У меня есть ярлык в моей конфигурации, который вызывает программу скриншота. И я вижу несколько скриншотов в секунду (моя частота повторения составляет 100 в секунду, я видел максимум 35). Итак, это мой вопрос - как мошенник это делает? Я отмечаю это X и Linux, потому что я считаю, что они являются наиболее подходящими тегами здесь, но, пожалуйста, не стесняйтесь добавлять / удалять теги ..

...