Eu tenho um sem fio logitech MX400. Ele tem um botão de pesquisa que eu gostaria de usar para colar (em vez da roda de rolagem extremamente sensível, mas difícil de pressionar). Eu já remapeei outros botões com xbindkeys, e usei xev para encontrar o código de pressionamento de botão, mas isso não funciona para o botão de pesquisa. usando xev e clicando no botão de pesquisa eu recebo os seguintes eventos
FocusOut event, serial 34, synthetic NO, window 0x3c00001,
mode NotifyGrab, detail NotifyAncestor
FocusIn event, serial 34, synthetic NO, window 0x3c00001,
mode NotifyUngrab, detail NotifyAncestor
KeymapNotify event, serial 34, synthetic NO, window 0x0,
keys: 4294967275 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PropertyNotify event, serial 34, synthetic NO, window 0x3c00001,
atom 0x1d7 (_NET_WM_ICON_GEOMETRY), time 23653064, state PropertyNewValue
Nenhum evento ButtonPress. Parece que o botão de busca é interceptado em um nível abaixo dos eventos X. Alguma ideia? Eu tenho o Ubuntu 12.04. O Ubuntu realmente vê o clique e gera um diálogo de pesquisa, mas não há nenhum rastro de um evento de clique no xev.
Editar
Eu verifiquei o método fornecido com o xmodmap. Meu .Xmodmap
agora contém a seguinte linha
keycode 225 = XF86Paste NoSymbol XF86Paste''
executando xmodmap ~/.Xmodmap
agora desativa o botão (ou pelo menos, eu não obtenho nenhum resultado pressionando-o). Eu tentei xmodmap -pke
e imprime:
keycode 225 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste
Estranho o suficiente. Todas as outras entradas são formatadas de maneira semelhante. Estou perto da solução, mas ainda há algo estranho.
Editar 2
Eu tentei executar o xinput (nunca ouvi falar desse comando. coisas incríveis). Existem duas entradas para a Logitech. Aqui está a saída da listagem de cada um deles (id 9 e 10)
Logitech USB Receiver id=9 [slave pointer (2)]
Reporting 7 classes:
Class originated from: 9. Type: XIButtonClass
Buttons supported: 24
Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
Button state:
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 0:
Label: Rel X
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 1:
Label: Rel Y
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 2:
Label: Rel Horiz Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIValuatorClass
Detail for Valuator 3:
Label: Rel Vert Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 9. Type: XIScrollClass
Scroll info for Valuator 2
type: 2 (horizontal)
increment: 1.000000
flags: 0x0
Class originated from: 9. Type: XIScrollClass
Scroll info for Valuator 3
type: 1 (vertical)
increment: -1.000000
flags: 0x2 ( preferred )
Logitech USB Receiver id=10 [slave pointer (2)]
Reporting 6 classes:
Class originated from: 10. Type: XIButtonClass
Buttons supported: 7
Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
Button state:
Class originated from: 10. Type: XIKeyClass
Keycodes supported: 248
Class originated from: 10. Type: XIValuatorClass
Detail for Valuator 0:
Label: Rel X
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 10. Type: XIValuatorClass
Detail for Valuator 1:
Label: Rel Y
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 10. Type: XIValuatorClass
Detail for Valuator 2:
Label: Rel Horiz Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 10. Type: XIScrollClass
Scroll info for Valuator 2
type: 2 (horizontal)
increment: 1.000000
flags: 0x0
O dispositivo de teste 9 não faz nada com o botão. Em vez disso, o dispositivo de teste 10 funciona e esta é a saída quando clico
$ xinput test 10
key press 225
key release 225
key press 225
key release 225
key press 225
key release 225
Portanto, parece que o mouse funciona como um teclado nesse sentido, mas por algum motivo, o xmodmap não faz nada quando recebe a chave 225.
** Editar **
Posso confirmar que adicionar keycode 225 = a
imprime a
sempre que clico no botão. Portanto, o problema parece estar relacionado a como o XF86Paste é realmente manipulado. Estou enviando, mas não está colando.