Merkwürdigkeiten zwischen dem Trackpad mit Klicken und Ziehen mit der mittleren Taste und der Maus

Merkwürdigkeiten zwischen dem Trackpad mit Klicken und Ziehen mit der mittleren Taste und der Maus

Ich verwende RHEL 8.9 auf einem Dell Precision 7560-Laptop mit integriertem 3-Tasten-Trackpad (linke, mittlere und rechte Taste befinden sich alle zwischen dem Trackpad und der Vorderkante des Laptops). Ich habe eine GTK3-App, die Klick- und Ziehereignisse der mittleren Taste lesen und verarbeiten muss. Die App funktioniert einwandfrei, wenn ich die mittlere Taste des Trackpads verwende, aber NICHT, wenn ich eine externe 3-Tasten-Maus verwende. (Die Funktion der mittleren Taste der externen Maus wurde auf einem anderen System bestätigt und ich habe auch eine zweite externe Maus ausprobiert, die ebenfalls nicht funktionierte.) Wenn ich die mittlere Taste des Trackpads gedrückt halte, während ich den Mauszeiger über das Trackpad oder die Maus bewege, bewegt sich der Zeiger auf dem Display wie erwartet und in meiner App funktioniert alles einwandfrei, während sich der Displayzeiger beim Ziehen mit der mittleren Taste der externen Maus NICHT bewegt und meine App keine Bewegungsereignisse erkennt. Einfaches Klicken und Loslassen mit der mittleren Taste der externen Maus funktioniert jedoch einwandfrei. Ich habe versucht, es mit jedem der verschiedenen Anzeigeserver (X11 vs. Wayland, Classic vs. Unclassic(?) usw.) auszuführen, aber sie verhalten sich hier alle gleich.

Ich habe versucht, mit xev zu debuggen und habe genau das gesehen, was man bei Verwendung der mittleren Taste des Trackpads erwarten würde, d. h. ein Tastendruck, dann eine Reihe von MotionNotifys, dann ein ButtonRelease. Wenn ich versuche, mit der mittleren Taste einer externen Maus zu klicken und zu ziehen, verursacht das anfängliche Drücken und Halten der mittleren Taste kein Ereignis, das nachfolgende Ziehen generiert jedes Mal, wenn ich ein MotionNotify-Ereignis erwarten würde, ein ButtonPress/Release-Ereignispaar und schließlich wird beim Loslassen der Taste kein Ereignis gemeldet.

Als ob das obige Verhalten nicht schon seltsam genug wäre, kommt als Sahnehäubchen noch das inverse Verhalten von mindestens zwei verschiedenen Terminal-Apps (Gnome-Terminal und Xfce4-Terminal) in dieser Hinsicht hinzu. Wenn Sie mit der mittleren Maustaste auf eine externe Maus klicken und ziehen, wird der Inhalt des Terminalfensters gescrollt (d. h., Bewegungsereignisse werden irgendwie an die Terminals weitergegeben), obwohl sich der Anzeigecursor wiederum nicht bewegt. Wenn Sie mit der mittleren Maustaste auf dem Trackpad klicken und ziehen, wird der Inhalt des Terminalfensters jedoch nicht gescrollt, obwohl sich der Anzeigecursor bewegt.

Ich habe ein bisschen mit xinput herumgestöbert, aber keine Geräte oder Geräteeigenschaften gefunden, die offensichtliche Auswirkungen zu haben schienen:

% xinput --list
 Virtual core pointer                           id=2    [master pointer  (3)]
   ↳ Virtual core XTEST pointer                 id=4    [slave  pointer  (2)]
   ↳ xwayland-pointer:17                        id=6    [slave  pointer  (2)]
   ↳ xwayland-relative-pointer:17               id=7    [slave  pointer  (2)]
 Virtual core keyboard                          id=3    [master keyboard (2)]
   ...  
        
% xinput --list-props xwayland-pointer:17
Device 'xwayland-pointer:17':
        Device Enabled (121):   1
        Coordinate Transformation Matrix (123): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
        Device Accel Profile (247):     0
        Device Accel Constant Deceleration (248):       1.000000
        Device Accel Adaptive Deceleration (249):       1.000000
        Device Accel Velocity Scaling (250):    10.000000

Es kommt mir etwas seltsam vor, dass ich in der XInput-Geräteliste nichts sehe, was eindeutig auf unterschiedliche Trackpad- und Mausgeräte hinweist.

Hat irgendjemand eine Idee, was hier los ist? Ich möchte mit einer externen Maus und einem geschlossenen Laptop arbeiten. Ich habe auf dieser Site und anderswo ein paar ähnliche Situationen gegoogelt, aber keine Lösung gefunden, die auf mich zuzutreffen scheint. Der Laptop hat keinen Pointing Stick und ich habe meines Wissens keine Verknüpfungen in ~/.config erstellt.

Danke!

verwandte Informationen