Léxico de TI › Infraestrutura › KeyPress e KeyRelease

KeyPress e KeyRelease

Infraestrutura Svenska → Atualizado: 2026-10-12

Os eventos do X11 para uma tecla descendo e subindo, que entregam um número de tecla e deixam o cliente descobrir sozinho o que ele significava.

Um KeyPress traz o keycode, o estado dos modificadores (Shift, Control, Mod1 e assim por diante), um timestamp, as coordenadas do ponteiro e a janela envolvida. Ele vai para a janela que tem o foco do teclado, ou para a subjanela sob o ponteiro, se esta estiver dentro da janela focada, e só se ela tiver selecionado KeyPressMask. O servidor não traduz nada. O cliente converte keycode e estado em keysym e texto por conta própria, normalmente com XLookupString ou, no caso de métodos de entrada, XmbLookupString.

O autorepeat costuma enviar pares KeyRelease e KeyPress com timestamps idênticos, então um programa que quisesse distinguir tecla segurada de toques rápidos tinha de comparar tempos — até o XKB trazer o autorepeat detectável. Fazer toda a interpretação no cliente também explica por que um programa pode continuar digitando no layout antigo depois que todo o resto já mudou.

← Voltar ao léxico