Saya memiliki nirkabel MX400 logitech. Ini memiliki tombol pencarian yang ingin saya gunakan untuk menempel (bukan roda gulir yang sangat sensitif tapi sulit ditekan). Saya sudah memetakan kembali tombol lain dengan xbindkeys, dan menggunakan xev untuk menemukan kode tekan tombol, tetapi ini tidak berfungsi untuk tombol pencarian. menggunakan xev dan mengklik tombol pencarian saya mendapatkan acara berikut
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
Tidak ada acara ButtonPress. Tampaknya tombol pencarian dicegat pada tingkat di bawah peristiwa X. Ada ide? Saya punya ubuntu 12.04. Ubuntu benar-benar melihat klik dan memunculkan dialog pencarian, tetapi tidak ada jejak peristiwa klik di xev.
Edit
Saya memeriksa metode yang disediakan dengan xmodmap. .Xmodmap
Sekarang saya berisi baris berikut
keycode 225 = XF86Paste NoSymbol XF86Paste``
menjalankan xmodmap ~/.Xmodmap
sekarang menonaktifkan tombol sama sekali (atau setidaknya, saya tidak mendapatkan hasil apa pun dengan menekannya). Saya mencoba xmodmap -pke
dan mencetak:
keycode 225 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste
Cukup aneh. Semua entri lainnya diformat sama. Saya dekat dengan solusinya, tetapi masih ada yang aneh.
Edit 2
Saya mencoba menjalankan xinput (tidak pernah mendengar perintah ini. Hal yang luar biasa). Ada dua entri untuk Logitech. Ini adalah output dari daftar masing-masing (id 9 dan 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
Perangkat penguji 9 tidak melakukan apa pun dengan tombol. Perangkat pengujian 10 malah berfungsi, dan ini adalah output saat saya mengklik
$ xinput test 10
key press 225
key release 225
key press 225
key release 225
key press 225
key release 225
Jadi tampaknya mouse bertindak sebagai keyboard dalam hal ini, tetapi untuk beberapa alasan, xmodmap tidak melakukan apa-apa ketika menerima kunci 225.
** Edit **
Saya dapat mengonfirmasi bahwa menambahkan keycode 225 = a
cetakan a
setiap kali saya mengklik tombol. Jadi masalahnya tampaknya terkait dengan bagaimana XF86Paste sebenarnya ditangani. Saya mengirimnya, tapi itu tidak menempel.
tail -f /var/log/dmesg
kemudian coba tekan tombol. Apakah Anda mendapatkan output yang merujuk ke tombol / tombol?
xinput list
kemudian cari tahu kode tombol dengan kunci pencarian Anda xinput test <MOUSE ID>
. Apakah ini berhasil?
xev
menampilkan acara XF86Paste / XF86Copy, tetapi tidak ada yang terjadi. Itu berarti Anda harus menggunakan kombinasi tombol CTRL + v untuk menempel. Xmodmap memetakan tombol 1: 1, tetapi Anda dapat menggunakan pengaturan pintasan keyboard untuk memicu eksekusi perintah pada penekanan tombol (lihat jawaban saya).
xbindkeys
mengatur untuk menjalankan ketika Anda memulai dengan benar? Bisakah Anda menonaktifkannya dan coba lagi?