Magic Mouse unter Linux (wayland)

rayjoe

Aktives Mitglied
Thread Starter
Registriert
13.09.2023
Beiträge
1.781
Reaktionspunkte
1.384
Würde meine neue Magic Mouse gerne auch unter Linux (Debian Trixie, Kernel 6.12.10.)verwenden. Grundsätzlich habe ich die Maus auch zum laufen gebracht, sie wird per bluetooth gepaired und es funktionieren dann jedoch lediglich die Mauszeigerbewegungen und das links und rechts (Kontextmenü) Klicken korrekt, ansonsten leider keinerlei Scroll-Gesten. Angeblich sollte ja das Kernel Modul hid_magicmouse für die Funktionalität sorgen.

Code:
# lsmod | grep hid
hid_magicmouse         20480  0
uhid                   20480  1
hid_cmedia             12288  0
hid_generic            12288  0
usbhid                 77824  0
hid                   262144  5 hid_cmedia,usbhid,hid_generic,uhid,hid_magicmouse
usbcore               405504  11 xhci_hcd,usbnet,snd_usb_audio,usbhid,snd_usbmidi_lib,btmtk,r8153_ecm,btusb,xhci_pci,cdc_ether,r8152

Unter sway (was ich gerne als Desktop verwende) habe ich auch versucht (analog zum Trackpad, was gut funktioniert) einen Eintrag in die config Datei zu machen, das scheint jedoch keine Auswirkungen zu haben und ändert auch nichts an der fehlenden Scroll-Funktionalität:

Code:
~$ swaymsg -t get_inputs
Input device: Magic Mouse von Ray Mouse
  Type: Mouse
  Identifier: 76:803:Magic_Mouse_von_Ray_Mouse
  Product ID: 803
  Vendor ID: 76
  Libinput Send Events: enabled

Code:
input "76:803:Magic_Mouse_von_Ray_Mouse" {
       natural_scroll enabled
}

Kann mir hier jemand weiterhelfen?
 
Chatgpt dem alten Plappermäulchen fällt auch nichts mehr dazu ein. Nach vielen an und für sich guten Vorschlägen, dem Austesten von Optionen zum Kernelmodul, dem Bearbeiten der Modulquellen und Neukompilierens des Moduls, dem Testen von libinput debug-events und evtest drehen wir (chatgpt und ich) uns immer wieder um den Punkt, dass sich "hid-generic" die Maus schnappt und nicht "magicmouse". Manuelles Umhängen mit unbind und bind wurde nun zum dritten mal vorgeschlagen, das klappt nicht, da das bluetooth Gerät nach dem unbind weg ist ...
 
Oh, Danke für den Tipp und die URL.

Anscheinend wurden die jeweiligen Funktionalitäten für die Apple Magic Mäuse und Trackpads direkt in die 6er Kernel reingepatched.
Tatsächlich funktioniert damit nun das Scrolling für die Magic Mouse 2 (A1657), als auch die ältere Magic Mouse 1 (A1296) "out-of-the-box". Cool!

Ich habe auf meinem Macmini4,1 Server (mid 2010) mit Manjaro einfach den Kernel auf 6.13 angehoben und die A1657 per BT gepaired.
Um "Swipe, Tap und Pinch" zu konfigurieren kann man touchegg (touchégg) und die GUI touche (touché) verwenden.
Ist fast so schön wie am Mac ;)

Ich habe hier noch einen weiteren Macmini4,1 mit CD-Schlitz rumstehen. Dort hängt ein altes Magic Trackpad 1 (A1339) per BT dran unter Linux Mint 21.3 (Kernel 5.15.0.131). Das funktioniert auch unter dieser Ausführung bereits (touche plus touchegg). Die Magic Mäuse leider nur ohne "Magic" .
 
Anscheinend wurden die jeweiligen Funktionalitäten für die Apple Magic Mäuse und Trackpads direkt in die 6er Kernel reingepatched.
Tatsächlich funktioniert damit nun das Scrolling für die Magic Mouse 2 (A1657), als auch die ältere Magic Mouse 1 (A1296) "out-of-the-box". Cool!
Ja, das Kernelmodul hid_magicmouse ist seit einiger Zeit drin, aber man muss wohl für die volle Funktionalität tatsächlich noch zwischen den Trackpads/Mäusen mit Lightning und USB-C unterscheiden. Für meine neue Magic Mouse ging trotz neuesten Kernel erst mit dem oben von mir verlinkten Patch das Scrollen.
 
Stimmt. Es gibt ja auch noch die neue Apple Magic Mouse 2 mit USB-C (Modell A3204 von Oktober 2024). Das habe ich total übersehen. Die Mäuse sind ja grundsätzlich alle gleich designed. Das hat sich seit 2009 nicht geändert. Nur wie man die Teile lädt (Gen1. AA Akkus oder Batterien 2009, Gen 2. Lightning 2015 und jetzt auch USB-C 2024) ist unterschiedlich. Ebenso natürlich sind die BT Specs. angehoben worden mit jeder Generation.
 
Ich habe auf meinem Macmini4,1 Server (mid 2010) mit Manjaro einfach den Kernel auf 6.13 angehoben und die A1657 per BT gepaired.
Um "Swipe, Tap und Pinch" zu konfigurieren kann man touchegg (touchégg) und die GUI touche (touché) verwenden.

Touchegg habe ich installiert, kann aber keinen Unterschied feststellen. Die GUI touche lässt sich hier aus unerfindlichen Gründen nicht starten, das stürzt mit Fehlermeldungen ab. Kannst Du mir mal die Einträge im Config File (.config/touchegg/touchegg.conf) zeigen für "Swipe" und "Tap"?

Wenn das "Blättern" (Seite zurück) in Firefox noch ginge, das wäre toll.
 
Touchegg habe ich installiert, kann aber keinen Unterschied feststellen. Die GUI touche lässt sich hier aus unerfindlichen Gründen nicht starten, das stürzt mit Fehlermeldungen ab. Kannst Du mir mal die Einträge im Config File (.config/touchegg/touchegg.conf) zeigen für "Swipe" und "Tap"?
Die GUI (touché) ist tatsächlich ziemlich buggy. Ist ja schon schämenswert das empfohlen zu haben, sorry. Nicht nur das es immer mal Abstürze produziert. Manchmal reisst es auch meine gesamte XFCE4/lightdm Desktop Session in den Abgrund. Jetzt lese ich auch noch das nur X11 unterstützt wird und kein Wayland. https://github.com/JoseExposito/touchegg?tab=readme-ov-file#faq

Der touchegg daemon (service) funktioniert bei mir nach weiterem rumprobieren tatsächlich nur okay mit dem AppleMagic Trackpad (getestet auf einem 1 Gen A1339). Eigentlich verwende ich das vor allem zum Desktop-Workspace wechseln (swipe links,rechts). Da touchegg applikationsbezogen (Firefox, Chromium bspw.) konfiguriert werden kann. Habe ich mal das Blättern (3-Finger-Swipe links = zürück | 3-Finger-Swipe rechts =vor) eingerichtet unter beiden Browsern und gemapped gegen die bekannten Tastaturkürzeln (ALT+ Pfeiltaste | ALT+ Pfeiltaste rechts).
Das geht! Aber eben nur mit dem Trackpad.

Die Magic Mäuse werden zwar direkt per
Code:
libinput list-devices
angezeigt aber vom touchegg daemon nicht eingebunden.
touchegg listet meine Magic Mäuse leider nicht mit auf. Ist hier also völlig von lösgelöst.

Die jeweilige Desktop-Environments (XFCE4, Gnome, Cinnamon,...) bieten mehr oder weniger Konfig-Unterstützung. In den XFCE4-settings kann ich schon mal die Magic Mäuse rudimentär über ein GUI einrichten. Aber kein erweitertes Swiping, Tapping oder Pinching. Der Standard-Swipe (Scroll) up-down wird halt unterstützt.
 
Interessant ist das Verhalten der Magic Mäuse unter der Manjaro XFCE4 6.13 er Kernel Umgebung. Dort geht das 4 und 3 Finger Swipen, sobald man sich aktiv auf dem Desktop bewegt. Je nachdem welchen Bereich der Mauzeiger aktiv unter sich hat (Window oder Task) kann ein Wechsel zwischen Apps oder dem Desktop in die Workspace gewechselt werden. Leider total unvorhersehbar, vor allem wenn man Wurschtefinger oder Pranken hat und auf der Maus rumwischen will.
 
Ich habe auf meinem Macmini4,1 Server (mid 2010) mit Manjaro einfach den Kernel auf 6.13 angehoben und die A1657 per BT gepaired.
Um "Swipe, Tap und Pinch" zu konfigurieren kann man touchegg (touchégg) und die GUI touche (touché) verwenden.
War wohl mehr Wunschgedanke als Realität. Das hat man davon, wenn man nur Halbwissen anhäuft. Richtigstellung: Man kann mit der Combo touchegg/touché unter X11 das Swiping, Pinching und Tapping globalgalaktisch und applikationsbezogen für ein Magic Trackpad einrichten. Sorry, wenn ich Hoffnungen geweckt haben sollte.
 
Man kann mit der Combo touchegg/touché unter X11 das Swiping, Pinching und Tapping globalgalaktisch und applikationsbezogen für ein Magic Trackpad einrichten. Sorry, wenn ich Hoffnungen geweckt haben sollte.
Passt schon und vielen Dank für den Erfahrungsaustausch! Momentan reicht mir unter Linux ja eigentlich auch die Maus, so wie sie aktuell funktioniert. Grundsätzlich meine ich schon, dass es irgendwie gehen müsste noch mehr rauszuholen. Nur eine Frage der Zeit, bis ein guter "Hacker" das noch in das Kernelmodul zaubert. Momentan nutze ich als DE vor allem sway, da geht eh viel mit Tastatur.
 
Vorzuziehen wäre es, wenn die Linux Desktop Bauer (für Gnome, KDE, XFCE, Cinnamon, MATE, etc.) libinput besser integrieren würden. Sodass man die externen Zeigegeräte als Desktop-Benutzer auch sauberer einbinden und einstellen kann....seufz
:sneaky: . Brauchst Du noch das Config File?
 
Brauchst Du noch das Config File?
Ne, hab ja alles bzgl. touchegg nun gelöscht. Werde auch mal versuchen den Entwickler vom o.g. Treiber über github zu kontaktieren, ob der in der Richtung gedenkt noch irgendwie weiter zu machen.
 
Ray Joe,
Wie bist Du grundsätzlich vorgegangen? Hast du über o.g. git repo das deb-package gebaut und dann manuell in Debian installiert? Oder ein Kernel Upgrade (6.13) durchgeführt?
A kernel patch for the trackpad has been accepted and backported to LTS kernels. It's available in:


  • 6.1 LTS - 6.1.120 and newer
  • 6.6 LTS - 6.6.66 and newer
  • 6.12 LTS - 6.12.5 and newer
  • 6.13 and newer

This is not needed for Apple Magic devices with lightning port connectors, which are supported in kernel version 5.15+.
Wenn ich die Webpage richtig verstehe, dann sollten die Treiber (Modules) in den Debian LTS 6er Reihen ja bereits vorhanden sein. Und eben in 6.13, welches ausserhalb der LTS Reihe agiert. Interessehalber: Welches Debian hat denn schon 6.13 dabei? Trixie (Testing), Sid (unstable)?
 
Hast du über o.g. git repo das deb-package gebaut und dann manuell in Debian installiert?
Ja, genau so habe ich das installiert.

Ich nutze grundsätzlich Debian Testing, also aktuell Trixie.

Code:
$ uname -a
Linux angel 6.12.12-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.12-1 (2025-02-02) x86_64 GNU/Linux

Erst mit https://github.com/mr-cal/Linux-Magic-Trackpad-2-USB-C-Driver hat die scroll Funktion auf Anhieb funktioniert. Vorher hatte ich einen ganzen Tag damit zugebracht, mit Hilfe von chatgpt alles Mögliche auszuprobieren, was aber nichts gebracht hat. Die Maus hatte ohne weiteres zunächst in ihren Grundfunktionen funktioniert, aber einfach keine Scroll Gesten umgesetzt.
 
Das klappt bei mir mit meiner BT Lightning Apple Magic Mouse 2 am Macmini4,1 Server mit Manjaro XFCE4 (x11) (6.13er Kernel) gar nicht.
Code:
event7  - Magic Mouse: libinput bug: kernel fuzz of 4 but LIBINPUT_FUZZ_35 is missing
event7  - Magic Mouse: libinput bug: kernel fuzz of 4 but LIBINPUT_FUZZ_36 is missing

Scheint ein ewiger alter "libinput bug" zu sein. Wurde auch nicht weiter nachverfolgt. Siehe: https://github.com/bulletmark/libinput-gestures/issues/279

Verhält sich mit touchegg/touche genauso. Beide Programme, libinput-gestures und touchegg benötigen libinput.

Das Trackpad geht, wird erkannt und kann dann über /etc/libinput-gestures.conf oder einem individuellen $HOME/.config/libinput-gestures.conf verdrahtet, konfiguriert und angebunden werden. Da ich faul bin dachte ich, nimm das touché GUI und mach das. Jetzt schau ich mal ob ich genug Elan habe, um das über die conf-files zu machen.

Eigentlich möchte man bei all der Zeit mit Lesen und Verstehen am liebsten diese Apple Spielzeuge wieder in die Schublade schieben und einfach die gute alte immer funktionierende Logitech MX Mouse mit ihrem 2.4 Funkverkehrstöpsel nehmen. Ich meine die ist sowieso immer überall dran, ansonsten würde man ja auch durchdrehen :D
 
Hab jetzt zumindest für die Magic Mouse noch eine "Geste" (eher Kombi) herausgefunden, die wohl per default im Browser (hier Firefox) funktioniert:
ALT + wischen ist dann zurück zur vorherigen Seite und umgekehrt.
 
mmmh...geht. Ist etwas wackelig, weil über ALT+Wisch hoch | runter auch das Zooming gesteuert wird. Und nicht nur im Firefox, sondern auch auf meinem Desktop. Das "wobbled" dann alles ziemlich durch - kein Wunder mit Wurschtefingern -
 
Zurück
Oben Unten