Como encontrar * por que * eu não consigo ligar algum atalho de teclado (ou qual app pegou)?

13

Resumindo: existe (sob o Unity) alguma maneira de descobrir qual aplicativo pegou algum atalho global? Eu não peço por "atalhos padrão", mas de alguma forma para obter informações sobre atalhos reais (que aplicativo é realmente manter determinada chave apenas agora na minha configuração atual)

Mais uma história:

Tenho problemas repetíveis com o gerenciamento de atalhos de teclado. No momento:

  • Sinapse às vezes (*) não pode ligar o Win-Space como atalho de ativação, reportando "Falha ao registrar tecla de atalho 'ativar' com assinatura 'espaço'" (o que geralmente significa que este atalho já foi usado)

    (*) Depois de um login ele funciona, depois de outro login ele não funciona. Eu suspeito de alguma corrida entre dois aplicativos ...

  • F9 por algum motivo torna minha tela um pouco mais escura (e F9 não alcança atalhos no nível do aplicativo, por exemplo, meu menu byobu não funciona)

Eu tentei olhar para vários lugares e:

  • Eu não vejo nenhum desses atalhos nas configurações / atalhos do teclado

  • Não consigo encontrá-los no gconf-editor (tentei procurar F9 em valores em particular, nada foi encontrado)

  • Eu não consegui encontrá-los no editor do dconf (não há busca, então cliquei em alguns dos caminhos mais óbvios)

Então, a minha pergunta é: existe alguma maneira de perguntar a unidade / dconf / gconf / d-bus / o que quer que seja sobre a atual alocação global de teclas de atalho (qual processo está mantendo qual tecla). Ou force o registro dessas alocações em algum arquivo de log. Ou os grep de algum lugar. Ou ………

    
por Mekk 07.03.2013 / 18:03

3 respostas

2

O desktop do Ubuntu é na verdade compiz e o próprio Unity é apenas um plugin compiz.

Se você, em vez disso, definir e ativar o plug-in compiz "commands" e definir atalhos de teclado usando ccsm onde houver um conflito, o ccsm deverá alertá-lo sobre qual plug-in está causando o conflito e também fornecer opções para desativar o plug-in conflitante ou atalhos de teclado conflitantes antes de aplicar suas configurações.

Pessoalmente, também tive dificuldade em definir atalhos de teclado no 14.04+, mas desde que decidi começar a usar o plug-in CCSM em vez das configurações de atalho do teclado no Unity, não tive nenhum problema e todos os meus atalhos funcionam bem e tão strongmente sugerir que você, pelo menos, confira como uma opção.

    
por mchid 20.12.2014 / 20:09
1

Agora Eu entendo o que você precisa ...

sudo apt-get install evtest

Aprecie a desassociação de eventos USB do Ubuntu!

Warning Isso não funciona em teclados PS2 / estilo ... (mas quem usa mais lá de qualquer maneira?): -)

    
por Fabby 19.11.2014 / 01:37
1

De uma das minhas respostas mais antigas s:

Primeiro você precisa instalar o xdotool :

sudo apt-get install xdotool

Eu criei uma série de comandos para nos mostrar os ataques passivos em um pressionamento de tecla. Por exemplo, para ver o que está pegando a combinação Shift + PrintScreen, você pode usar o "script" abaixo:

xdotool keydown "shift+Print"; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

Isso ativará o keyevent Shift + PrtSc e, em uma instalação padrão do Ubuntu, mostrará o daemon gnome-settings agarrando o teclado. Pelo menos isso funcionou na minha instalação 12.04 mais antiga, mas parece que em um 14.04 eu tive que usar isso:

xdotool key "shift+Print"; sleep 1; xdotool key "XF86LogGrabInfo"; xdotool keyup "Print"; sleep 1; xdotool keyup "shift"; tail /var/log/Xorg.0.log

mas

xdotool keydown "F12"; xdotool key "XF86LogGrabInfo"; xdotool keyup "F12"; tail /var/log/Xorg.0.log

ainda funciona, às vezes, e não em outras ocasiões. Não sei porque.

Você só precisa modificar o "script" acima, alterando as chaves que precisam ser simuladas.

    
por falconer 15.01.2015 / 23:29