Adicionando ligações de tecla para tecla “Fn” + “Control” na caixa aberta

5

Eu preciso usar Fn + CTRL como uma combinação de teclas, mas não funciona em openbox (funciona no XFCE / KDE4 ').

<keybind key="Fn-C">
  <action name="ToggleMaximize">
      </action>
</keybind>

O nome da ação está totalmente correto. Funciona com outra combinação de teclas, por exemplo, W-3 .

Então, alguma ideia?

    
por daisy 22.08.2013 / 09:47

2 respostas

3

Diferentes gerenciadores de janelas podem usar diferentes mapeamentos de teclado, e o keymapping define como sua chave Fn é reconhecida. É por isso que o que funciona no XFCE não funciona necessariamente no Openbox.

Para verificar como X (e Openbox) interpretam sua chave Fn , siga este guia .

Com base nos resultados, você pode usar o símbolo de chave apropriado em rc.xml em vez de Fn .
Fn no meu Thinkpad é reconhecido como XF86WakeUp por exemplo. Se não tiver nenhum símbolo atribuído, você poderá atribuir manualmente um com xmodmap de acordo com este guia e, em seguida, usar esse símbolo em rc.xml .

Investigando ainda mais, verifica-se que o Fn é uma chave especial em alguns notebooks (como IBM / Lenovo Thinkpads), pois os eventos Keypress e Keyrelease (ou Keydown e Keyup em termos da Microsoft) são gerado simultaneamente e somente quando a chave é liberada. Teclas adicionais enquanto Fn está pressionado simplesmente não são registradas *. Com xev , você pode facilmente verificar se este é o caso do seu sistema também.

Isto significa que Fn não pode ser usado como uma tecla modificadora (combinada com outras teclas como Alt , Ctrl ou Shift ). Ele pode ser atribuído como um atalho por conta própria. Combinado com os keychains do Openbox , isso é quase tão bom quanto usá-lo como um modificador. Você apenas tem que soltá-lo antes de pressionar a tecla com a qual você o combina.

* Deve existir alguma forma de registrar chaves combinadas com Fn pelo menos no Thinkpad, pois as ferramentas do Windows da Lenovo reagem a Fn mais outras teclas. Mas isso parece acontecer em um nível muito baixo. Quando estou em um convidado VMWare em um host Windows, pressionar Fn mais uma tecla abre a ferramenta apropriada no host do Windows, não no sistema operacional convidado. Seria interessante examinar a implementação de ferramentas Thinkpad similares no Linux para ver como elas lidam com Fn .

Aqui você encontra mais informações específicas do Thinkpad sobre como Fn + Fx Os principais combos geram eventos ACPI, que é o que as ferramentas do Thinkpad reagem. No entanto, suponho que esses eventos sejam gerados apenas para combinações específicas com chaves Fx e não para outras combinações de teclas.

A página também descreve como você pode fazer com que eventos ACPI acionem eventos importantes. No entanto, se keydown e key Fn não gerarem eventos separados próprios (acredito que eles não estão no Thinkpads), isso realmente não te leva mais longe.

    
por 17.09.2013 / 11:41
0

Já faz um tempo desde que eu deixei os gerenciadores de janela minimalistas como o Fluxbox / Openbox e tal, mas aqui estão algumas dicas que eu lembro:

  1. Você pode realmente ver qual código uma certa combinação de teclas aumenta usando xev (1)

  2. Você pode usar o xmodmap (1) para vincular certos códigos de teclas a eventos X.

Veja as páginas de manual para xev e xmodmap;)

    
por 17.09.2013 / 15:18