O X normalmente tem 8 modificadores, que têm teclados atribuídos a eles. Pressionar uma tecla resulta em um evento de teclado associado ao keysym. Se o keysym tiver um modificador atribuído a ele, enquanto a tecla estiver desativada, os eventos de chave serão marcados com esse modificador.
Os modificadores, juntamente com atribuições comuns de keysym, são:
-
Shift
:Shift_L
,Shift_R
-
Lock
:Caps_Lock
-
Control
:Control_L
,Control_R
-
Mod1
:Num_Lock
-
Mod2
:Meta_L
,Meta_R
-
Mod3
:Alt_L
,Alt_R
-
Mod4
:Hyper_L
,Hyper_R
-
Mod5
:Super_L
,Super_R
A distribuição de Alt / Hyper / Meta / Super / NumLock entre Mod1-5 é arbitrária; você pode encontrá-los em uma ordem diferente e você pode descobrir que alguns estão faltando.
8 modificadores são tudo o que você obtém com a biblioteca X padrão, e alguns aplicativos nem permitem que você obtenha todos eles. Duas delas ( Shift
e Lock
) têm um significado fixo que você provavelmente não conseguirá anular sem efeitos colaterais desagradáveis ao digitar caracteres.
No entanto, a maior parte do processamento de eventos do teclado é tratada no lado do cliente (ou seja, dentro de cada aplicativo). Portanto, é possível que um aplicativo específico permita que você manipule mais modificadores. A maneira de fazer isso seria específica para esse aplicativo (ou pelo menos para a biblioteca ou framework que ele usa para o processamento de eventos).