Como definir uma única tecla modificadora como um atalho na caixa aberta?

1

Eu quero que minha super-chave inicie dmenu . Eu o configurei como um atalho de teclado no meu rc.xml :

<keybind key="0x85">
      <action name="Execute">
        <command>dmenu_run</command>
      </action>
</keybind>

Eu tentei especificá-lo como W , W- e como código-chave ( 0x85 ). W responde pressionando a letra w , W- não faz nada e 0x85 aciona dmenu imediatamente no evento KeyPress em vez de aguardar KeyRelease. Assim, outros combos de teclas que usam super como um modificador ativarão dmenu .

Como posso dizer ao openbox que eu só quero que o atalho acione quando a super-chave é pressionada e liberada por si própria sem qualquer outro pressionamento de tecla?

    
por gandalf3 09.07.2015 / 10:34

1 resposta

1

Eu consegui que ele funcionasse usando xcape ( empacotado no AUR ).

De sua página de manual:

xcape allows a modifier key to be used as another key when it is pressed and released on its own.

Em suma, atribui super a um atalho falso ( ⎈ Ctrl ⇧ Shift ⎇ Alt Super D ) com

xcape -e 'Super_L=Control_L|Shift_L|Alt_L|Super_L|D'

Note que você terá que executar isso toda vez que você reiniciar, então você pode querer colocá-lo em seu script ~/.config/openbox/autostart ou algo assim.

Este atalho fictício é selecionado pelo openbox com uma entrada em rc.xml :

<keybind key="C-A-S-W-d">
      <action name="Execute">
          <command>dmenu_run</command>
      </action>
</keybind>

Eu também escrevi uma resposta um pouco mais detalhada sobre este aqui .

    
por 11.07.2015 / 12:11