tl; Dr.
Bir Logitech T630 satın aldım . Hareketler (PDF) aracılığıyla çeşitli klavye olaylarını destekleyen bir Bluetooth faresidir . Bu hareketler iyi ve züppe ama onlar için çok az kullanıyorum. Onlardan kurtulmak için korkunç bir zaman geçiriyorum.
Azalan önceliğe göre aşağıdakileri yapmak istiyorum:
- bu hareketleri devre dışı bırak
- hareketleri yeniden eşleştirin (Ürün yazılımını hacklemeden veya Windows / OS X aygıt sürücülerini tersine çevirmeden bu mümkün olmadığını düşünüyorum)
Yapmak istemiyorum:
- Windows'u kullan
- tüm hareketleri devre dışı bırak
Daha fazla bilgi için okumaya devam edin…
düğmeler ve jestler
Olası on üç fare olayı:
- sol tık
- Orta tıklama
- sağ tık
- yukarı kaydırmak
- Aşağı kaydır
- sola kaydır
- sağa kaydır
- kenarı sola kaydır
- kenarı sağa kaydır
- iki parmakla sola kaydırma
- iki parmağınızla sağa kaydırın
- çift dokunma
- iki parmak çift dokunma
İlk yedi işletim sisteminin onları nasıl eşlediğini gösterir.
Sadece ilk üçü mekaniktir - diğerlerinin tümü dokunmatik yüzeyi kullanır:
GUI seçenekleri
Kubuntu Trusty'de kurmak bir esinti, ancak bu diğer hareketleri yapılandırmak için çok az destek sunuyor.
Bu hareketler aşağıdakilerle ilgili değildir:
- dokunmatik yüzey (
synaptics
çalışmıyor) - ulaşılabilirlik
- sıcak köşeler
- standart fare hareketleri
Bunlarla ilgili tüm ayarlar kontrol edildi ve hepsi kapalı.
komut satırı ayarları
lomoco
lomoco
Logitech USB farelerin yardım yapılandırmak özel özelliklere yarar uygulanamaz.
xinput
xinput
Bazı yardımlar sunabileceğini düşündüm :
$ xinput --list | grep pointer
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Ultrathin Touch Mouse id=13 [slave pointer (2)]
$ xinput --list-props 13
Device 'Ultrathin Touch Mouse':
Device Enabled (144): 1
Coordinate Transformation Matrix (146): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (266): 0
Device Accel Constant Deceleration (267): 1.000000
Device Accel Adaptive Deceleration (268): 1.000000
Device Accel Velocity Scaling (269): 10.000000
Device Product ID (261): 1133, 45069
Device Node (262): "/dev/input/event11"
Evdev Axis Inversion (270): 0, 0
Evdev Axes Swap (272): 0
Axis Labels (273): "Rel X" (154), "Rel Y" (155), "Rel Horiz Wheel" (746), "Rel Vert Wheel" (265)
Button Labels (274): "Button Left" (147), "Button Middle" (148), "Button Right" (149), "Button Wheel Up" (150), "Button Wheel Down" (151), "Button Horiz Wheel Left" (152), "Button Horiz Wheel Right" (153), "Button Side" (1032), "Button Extra" (1033), "Button Unknown" (264), "Button Unknown" (264), "Button Unknown" (264), "Button Unknown" (264)
Evdev Middle Button Emulation (275): 0
Evdev Middle Button Timeout (276): 50
Evdev Third Button Emulation (277): 0
Evdev Third Button Emulation Timeout (278): 1000
Evdev Third Button Emulation Button (279): 3
Evdev Third Button Emulation Threshold (280): 20
Evdev Wheel Emulation (281): 0
Evdev Wheel Emulation Axes (282): 0, 0, 4, 5
Evdev Wheel Emulation Inertia (283): 10
Evdev Wheel Emulation Timeout (284): 200
Evdev Wheel Emulation Button (285): 4
Evdev Drag Lock Buttons (286): 0
13 düğme etiketine dikkat edin:
$ xinput --get-button-map "Ultrathin Touch Mouse"
1 2 3 4 5 6 7 8 9 10 11 12 13
Onları kapatmak yardımcı olmadı:
$ xinput --set-button-map "Ultrathin Touch Mouse" 1 2 3 4 5 6 7 0 0 0 0 0 0
Olsa bile, mesela, bu olabilir bir sol tıklama içine orta fare düğmesini çevirin:
$ xinput --set-button-map "Ultrathin Touch Mouse" 1 1 3 4 5 6 7 0 0 0 0 0 0
xmodmap
Benzer xinput
sonuçlar:
$ xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0 0 0 0 0"
inputkbd
Aşağıdaki elmicha tarafından önerilen , bu çekirdek düzeyinde çalışıyor, hareketlerin boş klavye olaylarına neden olmasını sağlamaya çalışıyor. Çalışmalı, ancak aşağıdaki süreçte de şans yok:
$ sudo input-kbd 4 > keymap # note the 4 is from /dev/input/event4
# edit the keymap to map any combination of keys to either 0 or 240 (KEY_UNKNOWN)
# e.g. change this:
# 0x700e0 = 29 # KEY_LEFTCTRL
# to this:
# 0x700e0 = 0 # KEY_LEFTCTRL
# or this:
# 0x700e0 = 240 # KEY_LEFTCTRL
$ sudo input-kbd -f keymap 4
$ sudo input-kbd 4 # should return the updated keymap
Bunu yaptıktan sonra, tuş haritası değişiklik göstermez.
xkbcomp
Bu, X
giriş korsanı Peter Hutterer tarafından önerildi , kesinlikle ne yaptığını bilmesi gereken bir adam. Yine de şans yok:
$ xkbcomp -xkb $DISPLAY t630.xkb
# edit the keyboard description and replace the definition of any key to NoSymbol or VoidSymbol
# e.g. change this:
# key <LCTL> { [ Control_L ] };
# to this:
# key <LCTL> { [ NoSymbol ] };
# or this:
# key <LCTL> { [ VoidSymbol ] };
$ sudo xkbcomp -i 8 t630.xkb $DISPLAY # here the 8 is the id in xinput, names don't work
$ xkbcomp -xkb -i 8 $DISPLAY - # should return the updated keyboard description
Bunu yaptıktan sonra, klavye açıklaması hiçbir değişiklik göstermez.
Peter, bunun muhtemelen X
cihazın doğasıyla ilgili bir klavye veya fare olarak karıştırılmasından kaynaklandığını, bunun tersi bir soruna sahip olan bu böcek gibi olduğunu hissetti . Bu, beklenen diğer tüm öğelerin neden çalışmadığını açıklayabilir. Bununla birlikte, evdev
aynı nedenden ötürü kullanımın işe yaramaması gerektiğini de söyledi .
evdev
İlk başta işe yarıyor gibiydi, ama öyle de değil. Bu X
, aşağıdakilere /usr/share/X11/xorg.conf.d/10-evdev.conf
veya ekleyerek düğme eşlemesini ayarlamak için genel giriş sürücüsünü kullanmaya çalışır /etc/X11/xorg.conf.d/10-evdev.conf
:
# custom for Logitech Ultrathin Touch mouse
Section "InputDevice"
Identifier "Logitech bluetooth Touch Mouse"
Driver "evdev"
Option "Name" "Ultrathin Touch Mouse"
Option "ButtonMapping" "1 2 3 4 5 6 7 0 0 0 0 0 0"
EndSection
Section "InputClass"
Identifier "Ultrathin Touch Mouse"
Option "ButtonMapping" "1 2 3 4 5 6 7 0 0 0 0 0 0"
EndSection
Bu, /var/log/Xorg.0.log
(kullanımda grep EE
) hatasız çalışıyor gibi görünüyor xinput
ve düğme eşlemesini onaylıyor, ancak arzu efekti ile sonuçlanmıyor.
Bu edilir ancak, T631 için çalışmalarına da bilinir.
klavye olayları
Sorun, bence, bu hareketlerin klavye olayları oluşturmasıdır:
$ sudo evemu-record /dev/input/event4 | grep "E: "
# swipe edge right
E: 0.000000 0004 0004 458976 # EV_MSC / MSC_SCAN 458976
E: 0.000000 0001 001d 0001 # EV_KEY / KEY_LEFTCTRL 1
E: 0.000000 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 0.000000 0001 007d 0001 # EV_KEY / KEY_LEFTMETA 1
E: 0.000000 0004 0004 458795 # EV_MSC / MSC_SCAN 458795
E: 0.000000 0001 000f 0001 # EV_KEY / KEY_TAB 1
E: 0.000000 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 0.002980 0004 0004 458976 # EV_MSC / MSC_SCAN 458976
E: 0.002980 0001 001d 0000 # EV_KEY / KEY_LEFTCTRL 0
E: 0.002980 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 0.002980 0001 007d 0000 # EV_KEY / KEY_LEFTMETA 0
E: 0.002980 0004 0004 458795 # EV_MSC / MSC_SCAN 458795
E: 0.002980 0001 000f 0000 # EV_KEY / KEY_TAB 0
E: 0.002980 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# swipe edge left
E: 3.306977 0004 0004 458978 # EV_MSC / MSC_SCAN 458978
E: 3.306977 0001 0038 0001 # EV_KEY / KEY_LEFTALT 1
E: 3.306977 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 3.306977 0001 007d 0001 # EV_KEY / KEY_LEFTMETA 1
E: 3.306977 0004 0004 458866 # EV_MSC / MSC_SCAN 458866
E: 3.306977 0001 00c1 0001 # EV_KEY / KEY_F23 1
E: 3.306977 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 3.310979 0004 0004 458978 # EV_MSC / MSC_SCAN 458978
E: 3.310979 0001 0038 0000 # EV_KEY / KEY_LEFTALT 0
E: 3.310979 0004 0004 458979 # EV_MSC / MSC_SCAN 458979
E: 3.310979 0001 007d 0000 # EV_KEY / KEY_LEFTMETA 0
E: 3.310979 0004 0004 458866 # EV_MSC / MSC_SCAN 458866
E: 3.310979 0001 00c1 0000 # EV_KEY / KEY_F23 0
E: 3.310979 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# two finger double tap
E: 10.225976 0004 0004 458983 # EV_MSC / MSC_SCAN 458983
E: 10.225976 0001 007e 0001 # EV_KEY / KEY_RIGHTMETA 1
E: 10.225976 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 10.229986 0004 0004 458983 # EV_MSC / MSC_SCAN 458983
E: 10.229986 0001 007e 0000 # EV_KEY / KEY_RIGHTMETA 0
E: 10.229986 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# two finger swipe left
E: 27.934977 0004 0004 589828 # EV_MSC / MSC_SCAN 589828
E: 27.934977 0001 0113 0001 # EV_KEY / BTN_SIDE 1
E: 27.934977 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 27.937983 0004 0004 589828 # EV_MSC / MSC_SCAN 589828
E: 27.937983 0001 0113 0000 # EV_KEY / BTN_SIDE 0
E: 27.937983 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
# two finger swipe right
E: 32.513990 0004 0004 589829 # EV_MSC / MSC_SCAN 589829
E: 32.513990 0001 0114 0001 # EV_KEY / BTN_EXTRA 1
E: 32.513990 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
E: 32.516994 0004 0004 589829 # EV_MSC / MSC_SCAN 589829
E: 32.516994 0001 0114 0000 # EV_KEY / BTN_EXTRA 0
E: 32.516994 0000 0000 0000 # ------------ SYN_REPORT (0) ----------
Kadarıyla itibariyle keymap konusu olduğunda, bu bakınız:
$ sudo input-kbd 4 | grep -e KEY_LEFTCTL -e KEY_LEFTMETA -e KEY_TAB -e KEY_LEFTALT -e KEY_F23 -e KEY_RIGHTMETA -e BTN_SIDE -e BTN_EXTRA
0x700e2 = 56 # KEY_LEFTALT
0x700e3 = 125 # KEY_LEFTMETA
0x700e7 = 126 # KEY_RIGHTMETA
0x7002b = 15 # KEY_TAB
0x70072 = 193 # KEY_F23
0x700e2 = 56 # KEY_LEFTALT
0x700e3 = 125 # KEY_LEFTMETA
0x700e7 = 126 # KEY_RIGHTMETA
0x90004 = 275 # BTN_SIDE
0x90005 = 276 # BTN_EXTRA
Çift dokunma hiçbir şey yapmıyor gibi görünüyor.
diğer referanslar
Yukarıda belirtilen farenin pin kodu veritabanında olmaması ile bir hatadaki benzer sorunlara bir referansı belirtmek de yardımcı olabilir gnome-bluetooth
. Söylemeye gerek yok, konuyla ilgili daha fazla yorum, bu hata raporunda resmi olarak uygunsuzdur, ancak referanslar, bu sorunun doğası hakkında bir bakış açısı eklemeye yardımcı olabilir.
İşteevemu-describe /dev/input/event4
FWIW çıktısı .
Bluetooth adaptörleri
FWIW İki farklı USB Bluetooth adaptörü kullandım:
$ lsusb | grep Bluetooth
Bus 007 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
$ lsusb | grep Bluetooth
Bus 007 Device 011: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
vmmouse_detect
yardımcı programa başvurmanız gerektiğini düşünüyorum . xmodmap
ve xinput
hatta xorg.conf
Kubuntu'nuz altında yararlı olacak, ancak Windows VM altında bile yararlı olmayacak. Bu nedenle WinVM altında farenizi Windows için standart Logitech yardımcı programlarıyla yapılandırabilmeniz gerekir.