Supondo que você esteja usando o X11 (e não o Wayland), existem muitas ferramentas para "espionar" os eventos do teclado. Um exemplo é cnee . Se correr com
cnee --record --keyboard
quando você pressiona uma tecla, como Control_Right , você obtém uma saída como
6,2,0,0,0,105,0,299533174,3,Virtual core keyboard
que tem campos dando detalhes sobre o evento, incluindo se up ou down (2), o keycode (105 no meu caso) e o tempo do evento em milissegundos (299533174). Um script simples pode procurar por dois eventos descendente sucessivos para o mesmo código de acesso que ocorre em, digamos, menos de 500 milissegundos e executar algum comando. Por exemplo,
cnee --record --keyboard 2>/dev/null |
awk -F, -v wanted=105 '$1==7{
down = ($2==2); keycode = $6; tod = $8;
if(keycode==wanted){
if(down){
diff = tod-last
if(diff>500){ last = tod; next } # note time of first press
else{
#printf "%s %s %d\n",down?"down":"up",keycode,diff
system("echo hello")
}
}else next
}
last = 0
}'
Note que você precisará alterar o valor wanted=105
para o código de acesso apropriado e o $1==7
para corresponder ao índice do seu teclado.