tl; dr
Ich habe gerade einen Logitech T630 gekauft . Es ist eine Bluetooth-Maus, die mehrere Tastaturereignisse über Gesten (PDF) unterstützt. Diese Gesten sind in Ordnung und gut, aber ich kann sie kaum gebrauchen. Ich habe eine schreckliche Zeit, sie loszuwerden.
Ich möchte Folgendes in der Reihenfolge abnehmender Priorität tun:
- Deaktivieren Sie diese Gesten
- Ordnen Sie die Gesten neu zu (ich denke, dass dies ohne Hacken der Firmware oder Reverse Engineering der Windows / OS X-Gerätetreiber nicht möglich ist).
Ich will nicht:
- benutze Windows
- Deaktivieren Sie alle Gesten
Für weitere Informationen lesen Sie weiter…
Knöpfe und Gesten
Die dreizehn möglichen Mausereignisse sind:
- links Klick
- Mittelklick
- Rechtsklick
- hochscrollen
- runterscrollen
- nach links scrollen
- nach rechts scrollen
- Wischen Sie die Kante nach links
- Wischen Sie die Kante nach rechts
- Wischen Sie mit zwei Fingern nach links
- Wischen Sie mit zwei Fingern nach rechts
- zweimal tippen
- Doppeltippen mit zwei Fingern
Die ersten sieben sind in der Reihenfolge angeordnet, in der das Betriebssystem sie abbildet.
Nur die ersten drei sind mechanisch - alle anderen verwenden die Berührungsfläche:
GUI-Optionen
Das Einrichten in Kubuntu Trusty war ein Kinderspiel, bietet jedoch wenig Unterstützung für die Konfiguration dieser anderen Gesten.
Diese Gesten beziehen sich nicht auf:
- Touchpad (
synaptics
läuft nicht) - Barrierefreiheit
- heiße Ecken
- Standard-Mausgesten
Alle diesbezüglichen Einstellungen wurden überprüft und sind alle deaktiviert.
Befehlszeileneinstellungen
lomoco
Das lomoco
Dienstprogramm zum Konfigurieren spezieller Funktionen von Logitech USB-Mäusen ist nicht anwendbar.
xinput
Ich dachte, ich xinput
könnte etwas helfen:
$ 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
Beachten Sie die 13 Tastenbeschriftungen:
$ xinput --get-button-map "Ultrathin Touch Mouse"
1 2 3 4 5 6 7 8 9 10 11 12 13
Das Ausschalten hat nicht geholfen:
$ xinput --set-button-map "Ultrathin Touch Mouse" 1 2 3 4 5 6 7 0 0 0 0 0 0
Auch wenn es beispielsweise die mittlere Maustaste in einen Linksklick verwandeln kann :
$ xinput --set-button-map "Ultrathin Touch Mouse" 1 1 3 4 5 6 7 0 0 0 0 0 0
xmodmap
Ähnlich wie bei den xinput
gleichen Ergebnissen:
$ xmodmap -e "pointer = 1 2 3 4 5 6 7 0 0 0 0 0 0"
inputkbd
Von elmicha unten vorgeschlagen , funktioniert dies auf Kernel-Ebene und versucht, die Gesten zu null Tastaturereignissen zu führen. Sollte funktionieren, aber auch hier kein Glück mit folgendem Prozess:
$ 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
Danach zeigt die Keymap keine Änderung mehr.
xkbcomp
Dies schlug der X
Input-Hacker Peter Hutterer vor , sicherlich ein Mann, der wissen sollte, was er tat. Trotzdem kein Glück:
$ 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
Danach zeigt die Tastaturbeschreibung keine Änderung.
Peter war der Meinung, dass dies wahrscheinlich auf die Tatsache zurückzuführen X
ist , dass die Art des Geräts als Tastatur oder Maus verwirrt ist, ähnlich wie dieser Fehler , der das gegenteilige Problem hat. Dies kann erklären, warum alle anderen erwarteten Elemente nicht funktionieren. Er sagte jedoch auch, dass die Verwendung evdev
aus dem gleichen Grund nicht funktionieren sollte.
evdev
Zuerst schien es zu funktionieren, aber es funktioniert auch nicht. Dadurch wird versucht, den generischen Eingabetreiber zu nutzen X
, um die Schaltflächenzuordnung festzulegen, indem Folgendes an /usr/share/X11/xorg.conf.d/10-evdev.conf
oder angehängt wird /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
Dies scheint fehlerfrei in /var/log/Xorg.0.log
(using grep EE
) zu funktionieren und xinput
bestätigt die Tastenbelegung, führt jedoch nicht zum gewünschten Effekt.
Es ist jedoch bekannt, dass dies für den T631 funktioniert.
Tastaturereignisse
Ich denke, das Problem liegt in der Tatsache, dass diese Gesten Tastaturereignisse erzeugen:
$ 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) ----------
In Bezug auf die Keymap beziehen sich diese auf:
$ 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
Doppeltippen scheint nichts zu bewirken.
Weitere Referenzen
Es kann auch hilfreich sein, auf einen Verweis auf ähnliche Probleme in einem Fehler hinzuweisen, bei dem sich die oben genannte Maus nicht in der gnome-bluetooth
PIN-Code-Datenbank befindet. Es ist unnötig zu erwähnen, dass weitere Kommentare zu diesem Thema offiziell nicht aktuell zu diesem Fehlerbericht sind, aber die Verweise können dazu beitragen, eine Perspektive auf die Art dieses Problems zu geben.
Hier ist die Ausgabe von evemu-describe /dev/input/event4
FWIW.
Bluetooth-Adapter
FWIW Ich habe zwei verschiedene USB-Bluetooth-Adapter verwendet:
$ 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
Dienstprogramm. xmodmap
und xinput
und wird sogar xorg.conf
unter Ihrem Kubuntu nützlich sein, aber nicht unter Windows VM. Unter WinVM sollten Sie also in der Lage sein, Ihre Maus mit Standard-Logitech-Dienstprogrammen für Windows zu konfigurieren.