Você pode usar a ferramenta de linha de comando xev
para descobrir o estado dos botões do mouse no ambiente X.
Exemplo
$ xev
...
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319064320, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319064439, (164,14), root:(166,101),
state 0x100, button 1, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319065208, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
ButtonRelease event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319065337, (164,14), root:(166,101),
state 0x100, button 1, same_screen YES
ButtonPress event, serial 36, synthetic NO, window 0x3800001,
root 0x86, subw 0x0, time 319066059, (164,14), root:(166,101),
state 0x0, button 1, same_screen YES
Mas essas informações levam você apenas parcialmente a uma solução. As principais informações que você deseja extrair de cima são qual número está associado a um botão específico do mouse. No meu exemplo, estou pressionando o botão esquerdo "buton 1".
xbindkeys
Você pode usar esta ferramenta para configurar uma ação associada a um botão que está sendo pressionado. Você pode até configurar uma regra que exija o pressionamento de tecla ou mesmo um botão + pressionado juntos.
Exemplo
Você precisará primeiro verificar se os pacotes xbindkeys estão instalados.
Em seguida, você precisará executar o comando a seguir, apenas uma vez, para criar um arquivo de configuração do modelo xbindkeys.
$ xbindkeys --defaults > /home/saml/.xbindkeysrc
Com o arquivo criado, você pode abri-lo em um editor de texto e adicionar uma regra como esta:
"xterm"
b:3
Esta regra indica que queremos executar o programa xterm
quando o botão 3 for pressionado. O "botão 3" é o botão direito do mouse.
Com a alteração acima feita, precisamos matar o xbindkeys se ele já estiver em execução e depois reiniciá-lo.
$ killall xbindkeys
$ xbindkeys
Agora, com isso sendo executado sempre que eu clicar no botão direito do mouse, um xterm
será executado.
Referências
MouseButton1Down
e osMouseButton1Up
eventos para agir.