Por que meu comando xdotool key não funciona?

6

Estou tentando executar este comando:

xdotool key ctrl+super+d

Deverá alternar a área de trabalho, mas não funcionará. Quando pressiono as teclas sozinho, funciona.

    
por Iman Mohamadi 07.11.2015 / 10:26

1 resposta

11

O comando correto é:

xdotool key Control_L+Super_L+d

Para encontrar as expressões-chave corretas, use xev : em uma janela de terminal, execute o comando xev + Retornar e digite a chave que deseja usar na xdotool comando. A saída será como:

KeyPress event, serial 37, synthetic NO, window 0x4c00001,
    root 0x260, subw 0x0, time 64862215, (-177,259), root:(1325,592),
    state 0x10, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

onde as informações que você está procurando estão na seção:

(keysym 0xffeb, Super_L)

Como alternativa, você pode usar o keysym -value:

xdotool key Control_L+0xffeb+d

ou o código da chave:

xdotool key Control_L+133+d

Informações adicionais

Como mencionado por @DKBose:
em 14.04 , o comando, usado pelo OP deve funcionar, conforme mencionado em man xdotool on 14.04.3 :

Geralmente, qualquer string X Keysym válida funcionará. Várias chaves são separadas por '+'. Os aliases existem para "alt", "ctrl", "shift", "super" e "meta", todos mapeados para Foo_L, como Alt_L e Control_L.

No entanto, OP menciona a tag 15.04 e, em 15.04 , a passagem está ausente em man xdotool e os aliasses não funcionam mais. Os valores encontrados na saída de xev devem ser usados.

    
por Jacob Vlijm 07.11.2015 / 10:35