xdotool pressione a tecla pelo código de acesso (pressione a tecla de opção)

1

então estou tentando fazer um atalho de teclado usando o xdotool. A única coisa que sinto falta e que não consigo descobrir como fazer é isso:

Como pressionar a tecla de opção no meu teclado. Em um caso mais geral, e isso resolveria meu problema também, como pressionar uma tecla usando xdotool com base em keycode (se você souber sobre outro programa que possa fazer isso, não me importo de usar isso em vez disso).

Eu tenho um teclado do Windows e há esse 'botão de opção' (entre alt gr e right ctrl ), quando pressionado ele abre o menu do botão direito (próximo ao local onde está o cursor de digitação). Eu preciso pressionar este botão em um script de alguma forma. Descobri (usando showkey -k ) que o código-chave dessa chave é 127 , mas não consigo fazer o xdotool pressioná-lo.

Alguma idéia de como fazer isso?

PS: Eu sei que posso simular um clique com o botão direito do mouse em xdotool click 3 , mas isso não ajuda, porque o clique direito ocorre onde o ponteiro do mouse está e eu preciso que aconteça onde está o cursor.

Obrigado:)

    
por Tony Vlcek 07.04.2017 / 13:06

2 respostas

1

Problema resolvido graças ao comentário de Jacob Vlijm.

O nome do botão pode ser encontrado desta forma: execute xev , pressione o botão e o nome aparece entre parênteses. No meu caso foi isso: keycode 135 (keysym 0xff67, Menu) , aqui Menu é o nome da chave.

Então eu posso executar xdotool Menu . No entanto, para que funcione com um atalho personalizado, tive de adicionar sleep antes, por isso acabei com este código:

sleep 0.5 && xdotool key 'Menu'
sleep 0.01 && xdotool key 's'
sleep 0.01 && xdotool key 'e'

e funciona! :)

BTW: O objetivo de tudo isso era alternar rapidamente entre as linguagens de ortografia no Chrome.

    
por Tony Vlcek 07.04.2017 / 15:15
0

Ao adicionar um atalho de teclado no Ubuntu 18.04, é necessário executar explicitamente um subprocesso:

/bin/bash -c "sleep 0.4 && xdotool key Menu"
    
por grovesteyn 24.08.2018 / 10:19