Logitech MX400 kablosuz cihazım var. Yapıştırma için kullanmak istediğim bir arama düğmesi var (son derece hassas ancak basması zor kaydırma tekerleği yerine). Zaten xbindkeys ile diğer düğmeleri remapped ve düğmesine basın kodu bulmak için xev kullandım, ancak bu arama düğmesi için çalışmaz. xev kullanarak ve arama düğmesine tıklayarak aşağıdaki olayları alıyorum
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
ButtonPress olayları yok. Arama düğmesinin X olaylarının altındaki bir düzeyde ele geçirildiği anlaşılıyor. Herhangi bir fikir? Ben ubuntu 12.04 var. Ubuntu aslında tıklamayı görür ve bir arama iletişim kutusu oluşturur, ancak xev'de bir tıklama etkinliğinin izi yoktur.
Düzenle
Xmodmap ile sağlanan yöntemi kontrol ettim. Benim .Xmodmap
şu satırı içeriyor
keycode 225 = XF86Paste NoSymbol XF86Paste``
xmodmap ~/.Xmodmap
şimdi çalıştırılması düğmeyi tamamen devre dışı bırakır (veya en azından düğmeye basarak sonuç alamıyorum). Denedim xmodmap -pke
ve çıktısı:
keycode 225 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste
Yeterince garip. Diğer tüm girişler benzer şekilde biçimlendirilir. Çözüme yakınım, ama yine de garip bir şey var.
Düzenle 2
Ben xinput (bu komutu hiç duymadım. İnanılmaz şeyler) çalıştırmak için çalıştı. Logitech için iki giriş vardır. Her birini listelemenin çıktısı (id 9 ve 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
Test cihazı 9 düğme ile hiçbir şey yapmaz. Test cihazı 10 bunun yerine çalışıyor ve tıkladığımda çıktı bu
$ xinput test 10
key press 225
key release 225
key press 225
key release 225
key press 225
key release 225
Bu nedenle, farenin bu bağlamda bir klavye gibi davrandığı görülmektedir, ancak bazı nedenlerden dolayı xmodmap, 225 tuşunu aldığında hiçbir şey yapmaz.
** Düzenle **
Düğmeye her tıkladığımda keycode 225 = a
baskı eklemenin onaylayabiliyorum a
. Bu nedenle sorun, XF86Paste'ın gerçekte nasıl ele alındığıyla ilgili gibi görünüyor. Gönderiyorum ama yapıştırma değil.
tail -f /var/log/dmesg
ardından düğmeye basmayı deneyin. Tuşlara / düğmelere ilişkin herhangi bir çıktı alıyor musunuz?
xinput list
bulun ve ardından arama anahtarınızın düğme kodunu bulun xinput test <MOUSE ID>
. Bu çalışıyor mu?
xev
, ancak hiçbir şey olmuyor. Bu, yapıştırma için CTRL + v tuş bileşimini kullanmanız gerektiği anlamına gelir. Xmodmap 1: 1 düğmelerini eşleştirir, ancak tuşa basıldığında bir komutun yürütülmesini tetiklemek için klavye kısayol ayarlarını kullanabilirsiniz (cevabıma bakın).
xbindkeys
Başlangıçta çalıştırmak için ayarladınız değil mi? Devre dışı bırakıp tekrar deneyebilir misiniz?