- Solaar ist ein Tool zur Verwaltung verschiedener Logitech-Tastaturen, -Mäuse und anderer Geräte unter Linux, die über Unifying-, Bolt-, Lightspeed- oder Nano-Empfänger, per USB-Kabel oder Bluetooth verbunden sind
- Solaar ist kein Gerätetreiber und reagiert nur auf spezielle Nachrichten von Geräten, die vom Linux-Eingabesystem ignoriert werden
- Zu den wichtigsten Funktionen gehören Pairing/Entkoppeln von Empfängern und Geräten, Konfiguration von Geräteeinstellungen, Einrichtung benutzerdefinierter Tasten sowie das Ausführen von Regeln als Reaktion auf spezielle Nachrichten
- Aktuelle vorgefertigte Pakete sind in den Standard-Repositories einiger Linux-Distributionen wie Fedora verfügbar; falls im Distributions-Repository keine aktuelle Version vorhanden ist, können Pakete für Arch, Ubuntu/Kubuntu PPA oder NixOS Flake genutzt werden
- Auch in den Repositories von Debian, Ubuntu universe, Gentoo und Mageia ist Solaar verfügbar, diese können jedoch einige Versionen hinter der aktuellen Version zurückliegen
Von Solaar verwaltete Logitech-Geräte
- Solaar ist ein Linux-Manager für viele Logitech-Tastaturen, -Mäuse und andere Geräte
- Unterstützte Verbindungsarten sind:
- Drahtlose Verbindung über Unifying-, Bolt-, Lightspeed- und Nano-Empfänger
- Verbindung per USB-Kabel
- Verbindung über Bluetooth
- Solaar ist kein Gerätetreiber und reagiert nur auf spezielle Nachrichten von Geräten, die vom Linux-Eingabesystem ignoriert werden
Unterstützte Funktionen
- Solaar unterstützt Pairing/Entkoppeln zwischen Empfänger und Gerät
- Geräteeinstellungen können konfiguriert werden
- Benutzerdefinierte Tasteneinstellungen werden unterstützt
- Als Reaktion auf spezielle Nachrichten eines Geräts können Regeln ausgeführt werden
- Dokumentationslinks
Installationspakete
- Aktuelle vorgefertigte Pakete sind in den Standard-Repositories einiger Linux-Distributionen wie Fedora verfügbar
- Falls im Standard-Repository der Distribution keine aktuelle Solaar-Version vorhanden ist, können folgende Pakete ausprobiert werden:
- Arch solaar package: Paket im extra-Repository
- Solaar stable ppa: Paket für Ubuntu/Kubuntu
- Svenum/Solaar-Flake: NixOS-Flake-Paket
Repositories mit möglicherweise veralteten Versionen
- Solaar ist auch in einigen anderen Repositories verfügbar, diese können jedoch einige Versionen hinter der aktuellen Version zurückliegen
1 Kommentare
Hacker-News-Kommentare
Ich benutze seit über 10 Jahren eine MX Master und bin mit Leistung, Akku, Design und Haptik sehr zufrieden.
Mit der 150 MB großen Logitech-Software, die man zur Verwaltung unter Windows installieren muss, bin ich überhaupt nicht zufrieden, und es fühlt sich so an, als würde sie jede Menge unnötiger Telemetriedaten senden.
Nachdem ich mich ständig über Bluetooth-Verbindungsprobleme geärgert hatte, fand ich vor ein paar Monaten Solaar; die Oberfläche ist besser, einfacher und leichter als die Logitech-Tools und zeigt die Vorteile von Open-Source-Software sehr gut.
Solaar hat das Pairing in 30 Sekunden erledigt, und ich bin sehr zufrieden.
Allerdings erscheint Bolt im Betriebssystem nicht als richtiges Bluetooth, daher kann man den Akkustand nur in Solaar prüfen.
Wenn sie ein paar Tage lief, hatte der Corsair-Prozess fast 1 Stunde CPU-Zeit angesammelt, bei Logitech waren es höchstens ein paar Minuten.
Nachdem ich das gesehen hatte, habe ich mein gesamtes Corsair-Equipment durch Logitech oder andere Produkte ersetzt.
Ich wollte eigentlich nur die Regenbogen-LED ausschalten, und wenn ich das nächste Mal eine neue Maus kaufe, werde ich wohl Solaar ausprobieren.
Es wäre schön, wenn das auch auf den Mac portiert würde.
Heute habe ich entdeckt, dass im Maustreiber standardmäßig ein AI Prompt Builder aktiviert ist, und das war noch absurder, weil ich seit Monaten hartnäckig Anfragen nach Berechtigung für den Eingabeverlauf ablehne.
Ich nutze die Unternehmens-"Offline"-Version von Logitech, um den Großteil der Zusatzprogramme loszuwerden; diese Version soll nicht nach Hause telefonieren und keine zusätzlichen Berechtigungen verlangen. Das kann je nach Umgebung unterschiedlich sein.
https://support.logi.com/hc/en-us/articles/11570501236119-Lo...
Was für eine Welt.
https://www.logitech.com/en-us/software/logi-ai-prompt-build...
Es emuliert Swipe-Events, und man kann sie nicht auf die standardmäßigen Mouse Forward und Mouse Backward (M4/M5) setzen.
https://superuser.com/a/1216049
Unter Windows stelle ich es genau so ein, um das Verhalten in jeder Anwendung konsistent zu halten.
Damit kann man Tasten zuweisen und auch Tastenkombinationen hinzufügen.
Allerdings scheint es noch keinen Trigger für Mausbewegungen zu geben, etwa die Spaces zu wechseln, indem man die Zurück-Taste gedrückt hält und nach links bewegt; ich suche noch danach.
https://plentycom.jp/en/steermouse/
https://news.ycombinator.com/item?id=29056847
Der Wacom-Treiber sammelt und überträgt Anwendungsnamen und Fenstertitel und tut das selbst nach großer Kontroverse weiterhin.
Es kostet ein paar Dollar, hat aber eine Testversion und lässt sich auch über Homebrew installieren.
https://better-mouse.com
Ich frage mich, ob es unter Windows so eine Alternative gibt.
Logitech-Mäuse sind im Allgemeinen gut, aber einer der großen Nachteile ist, dass die Makro-Funktion nicht onboard ist; selbst mehrere Tastenanschläge auf eine einzige Taste zu legen, geht ohne Begleitsoftware wie G-Hub nicht.
Unter Linux gibt es Solaar und Piper/libratbagd, und unter macOS scheint SteerMouse auch für Mäuse mit vielen Tasten recht gut zu passen.
Wenn es unter Windows etwas als Ersatz für G-Hub gäbe, könnte ich Logitech-Mäuse Freunden und Familienmitgliedern, die nur Windows nutzen, viel leichter empfehlen.
Aus diesem Grund mochte ich früher Roccat am liebsten. Alles, was die Maus konnte, war vollständig onboard möglich, sodass es nach der einmaligen Einrichtung keine Einschränkungen gab, selbst wenn man die verwendete Software löschte.
Allerdings war die Hardware-Qualitätskontrolle schon lange fragwürdig, und seit der Übernahme durch Turtle Beach wird es vermutlich noch schlimmer.
Das gilt selbst für absurd teure Gaming-Mäuse.
Bevor ich Logitech kaufte, hatte ich nie eine Maus erlebt, bei der die Tasten kaputtgingen, und auch bei Leuten in meinem Umfeld ändert sich die Geschichte, wenn man nachfragt, wie viele sie nach all dem Lob schon erneut gekauft haben.
Als ich den Maus-Dongle verloren hatte und nur Ubuntu zur Verfügung stand, war Solaar wirklich eine große Hilfe.
Ich konnte die Maus mit demselben Dongle koppeln, den die Tastatur benutzt hatte, und verwende sie seitdem ohne Probleme weiter.
Ich benutze eine MX Mechanical Mini-Tastatur und eine MX Ergo-Maus, aber die Dongles sind unterschiedlich und nicht kompatibel, sodass sie sich nicht mit demselben Dongle koppeln lassen.
Außerdem hat der Dongle im rechten USB-A-Port meines Laptops aus irgendeinem Grund immer Latenz.
Ich frage mich, ob Solaar solche Probleme lösen kann.
Bei uns im Unternehmen werden drahtlose Tastatur-/Maus-Kits ausgegeben, weil das günstiger ist, als die fest verbaute Laptop-Tastatur zu ersetzen, und für die Nutzer wahrscheinlich auch das Risiko von RSI senkt.
Wenn man das als Junior auf die harte Tour lernt, ist das überhaupt nicht lustig.
Ich benutze Solaar schon ziemlich lange mit einer alten MX Master 2S.
Hauptsächlich nutze ich es, um den Punkt einzustellen, an dem das Scrollrad aufhört zu rasten und in den Freilauf übergeht.
Logitech hat in die Maus einen elektrischen Hebel eingebaut, der die Ratsche steuert, und Solaar hat eine Option dafür, die bei mir sehr gut funktioniert.
Schön ist auch, dass man bestimmte Gesten über die Daumentaste mit Tastatur-Shortcuts verknüpfen kann.
Ich kaufe Logitech wegen Solaar.
Ich hoffe, die Solaar-Entwickler werden dafür wenigstens einigermaßen entlohnt, und dann fehlt eigentlich nur noch ein AI Prompt Builder.
Ich habe wirklich keine Vorstellung, wie AI in ein Dienstprogramm zur Mauskonfiguration eingebaut werden könnte.
Es wäre gut, wenn jemand mit Linux-Kenntnissen das erklären könnte.
So wie ich es verstehe, ist das so etwas wie eine Treiber-Implementierung für Linux, und ich frage mich, wie das vollständig nur in Python geschrieben sein kann.
Treibercode wird normalerweise in C oder C++ geschrieben, und soweit ich weiß, ist Rust heutzutage der neue Ansatz für Kernel-Entwicklung.
Ich verstehe nicht, wie das in reinem Python funktionieren kann.
Die normalen Linux-Treiber übernehmen den Teil, der zum Empfangen von HID-Nachrichten nötig ist, und Solaar verarbeitet darüber dann die herstellerspezifischen Nachrichten.
Das ist ähnlich wie ein Programm, das über vorhandene Netzwerktreiber des Betriebssystems herstellerspezifische TCP-Nachrichten sendet; dieses Programm muss selbst kein Netzwerktreiber auf Kernel-Ebene sein.
Es scheint also nicht auf Kernel-Ebene zu laufen.
Die Benutzer mussten selbst prüfen, ob IRQ21 bereits vom BIOS oder einem anderen Gerät verwendet wurde, und danach Gerätetreiber installieren, die bestimmte Speicheradressen lesen und schreiben, um mit dem Controller nach den proprietären Verfahren der jeweiligen Firma zu kommunizieren.
Heute ist die Hardware-Branche mit der Standardisierung der Gerätefunktionsweisen viel weiter.
Dank Memory-Mapped I/O kann das Betriebssystem viele Gerätetreiber auf ähnliche Weise behandeln und muss nur die Speicheroperationen nach dem Lesen und Schreiben verarbeiten.
Bei USB wurden Geräteklassen standardisiert, sodass Geräte als Kommunikationsgeräte, Audiogeräte, Video-Capture-Geräte oder wie hier als HID auftreten.
Dadurch kann der Kernel mehr als 80 % der Treiberentwicklung übernehmen, besonders unter Linux mit der Philosophie „Alles ist eine Datei“.
Wenn man einen USB-Dongle einsteckt, entstehen dann vereinfacht gesagt Dateien wie
/sys/class/hid//{control, data}.Wenn man zum Beispiel einen sehr speziellen Wert in die Datei
controlschreibt, um den RF-Kanal des Dongles zu ändern, nimmt der Kernel das entgegen und sendet es an das Gerät, und man kann.../datapercatauslesen, um rohe Tastatur-/Mausdaten zu erhalten.Theoretisch könnte man also in Python die Datei
.../dataan einen Lese-Handler binden, die Eingaben verarbeiten und danach Betriebssystembefehle für Mausbewegungen oder Tastaturereignisse ausgeben und es damit wie einen Gerätetreiber wirken lassen.Der entscheidende Teil ist die Verarbeitung der Eingaben, und genau das ist der schwierige Teil, der Reverse Engineering erfordert.
Da das Betriebssystem diesen Teil nicht übernimmt, ersetzt es einige Aufgaben, die sonst die Logitech-Anwendungen erledigen.
Vielleicht ist das eine dumme Frage, aber ich verstehe nicht, warum man überhaupt eine App zur Verwaltung von Tastatur und Maus braucht.
Sollte das nicht direkt über generische Treiber unterstützt werden?
Bei der MX Master kann man zum Beispiel konfigurieren, welche Ereignisse die sechs Tasten auslösen sollen.
Bei der K810 erzeugen die Funktionstasten anscheinend kaputte Spezialereignisse, lassen sich per Software aber wieder auf normale Standard-Funktionstasten wie F1 zurücksetzen.
Mit HID++ ist hier der Logitech-Dongle gemeint, teilweise in Kombination mit der Bluetooth-Unterstützung des eigentlichen Geräts.
Die zusätzlichen Optionen und die Pairing-Steuerung für Logitech-Trackballs sieht man in diesem Screenshot.
[1] https://usercontent.irccloud-cdn.com/file/2cZcZiNk/image.png
Solche Funktionen sind nicht Teil des USB-HID-Standards, daher unterstützt sie kein Betriebssystem von Haus aus.
Meist geht es bei Mäusen um DPI und Abtastrate, bei Tastaturen um haptische Reaktions-Einstellungen (https://wooting.io/) und Tastenbelegungen.
Wenn man die eigenen Einstellungen auch an fremden Rechnern, etwa auf einer LAN-Party, konsistent laden möchte, ist so etwas nicht nur nett, sondern fast unverzichtbar.
Ich nutze Solaar seit einigen Jahren, und es funktioniert genau wie beworben, ohne Probleme.
Danke, dass dieses nützliche Projekt weiterhin gepflegt wird.
Ich nutze seit einigen Jahren die Logitech K400-Tastatur mit integriertem Touchpad zusammen mit Solaar.
Sie läuft an einem Raspberry Pi, der mit dem Fernseher verbunden ist, und funktioniert ausgesprochen gut ohne irgendwelche Probleme.
Ich habe sie nie mit der Logitech-Software auf dem Mac oder unter Windows verbunden.