No meu laptop, eu uso o Win como um modificador. Com a tecla Fn pressionada, a chave envia um keysym diferente e eu uso isso como uma tecla de composição.
keycode 133 = Hyper_L
keycode 134 = Multi_key
add mod4 = Hyper_L
Eu tenho algumas associações de teclas do gerenciador de janelas no formato Hyper + KP_ N . Em um laptop, isto requer pressionar e segurar Win , então pressione e segure Fn , e então pressione KP_ N e finalmente liberando tudo. Se eu pressionar Fn antes de Hyper , isso envia o Multi_key
keysym em vez de Hyper_L
, então estou pressionando Compose. Eu acho que a coordenação dos dedos necessária para pressionar Fn antes de Hyper ser muito menor, então eu gostaria de poder fazer isso. Se eu pressionar uma tecla do teclado (que requer Fn ), eu quero que a tecla pressionada seja interpretada como o modificador mod4
em vez de Multi_key
.
Eu posso adicionar o modificador mod4
ao Multi_key
keysym, e isso faz com que minhas ligações do gerenciador de janelas funcionem quando eu pressionar Fn e Hyper em qualquer ordem. No entanto, se eu pressionar Fn primeiro (que é como isso acontece naturalmente), isso registra um Multi_key
keysym, então uma seqüência de teclas como Fn + Hyper + KP_1 , a , ' acaba trocando para o espaço de trabalho 1 e inserindo á
em vez de 'a
, porque o aplicativo que é focalizado depois que o atalho de teclado é ativado recebe um evento de liberação de chave para Multi_key
.
Como posso ter meu bolo e comê-lo?
Compose
pendente. O aplicativo não deve receber um evento de liberação de chave para Multi_key
ou deve receber outro evento (injetado pelo gerenciador de janelas) que efetivamente cancelará o primeiro. Multi_key
. Eu não me importo se isso é feito por meio de uma alteração na configuração do meu teclado, ou das ligações do meu gerenciador de janelas, ou de ambos. O gerenciador de janelas é o sawfish, então é bastante flexível.
Se a solução envolve XKB, não quero definir toda a configuração do meu teclado através do XKB. A parte XKB deve se concentrar em definir um grupo para as teclas afetadas (ou o que for preciso).