Bluetooth Mouse
Für meinen Laptop habe ich eine Logitech MX Anywhere 2S Mouse und möchte diese unter Windows und Linux über Bluetooth benutzen. Mit den Logitech Unifying USB-Empfänger ist das kein Problem, aber ich hab nur 2x USB-C Anschlüsse am Laptop. Die Mouse hat drei Speicherplätze und ich könnte einen für Laptop Windows und einen für Laptop Linux verbrauchen, möchte ich aber nicht. Ich möchte einen Speicherplatz für den Laptop nutzen egeal, ob Windows oder Linux.
Das Problem ist, dass beim Bluetooth Pairing unter jeden Betriebssystem ein individueller Schlüssel vergeben wird. Ich bin nach folgender Anleitung vorgegangen.
Vorbereitung
Zuerst müssen wir unter beiden Betriebssystemen ein Bluetooth Pairing durchführen, damit das System entsprechende Konfigurationen / Treiber für die Mouse hinterlegt.
Die Empfehlung ist zuerst Linux und dann Windows, weil unter Windows weiter gearbeitet werden soll.
Auslesen
Nun muss der Bluetooth Schlüssel unter Windows ausgelesen werden. Dazu benötigt man die Microsoft PsTools Suite. Unter Windows-System im Startmenü muss man mit rechtem Mausklick die Eingabeaufforderung mit Administrationsrechten starten.
PsExec64.exe -s -i regedit
Unter HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\${DEVICE}\${ADDRESS} muss man die Daten sichern. Device und Address sind immer ander daher muss man schauen, welches Parameter die Mouse hat. Anschließend kann man Linux starten.
Ersetzen
Jetzt muss der Linux Bluetooth Schlüssel durch den Windows Bluetooth Schlüssel ersetzt werden. Dazu im Terminal als SuperUser die zur Maus gehörende Datei /var/lib/bluetooth/${DEVICE}/${ADDRESS}/info anpassen.
sudo nano /var/lib/bluetooth/${DEVICE}/${ADDRESS}/info
Dann müssen aus Daten aus der Windows Registry Datei an die passende Stelle übertragen werden.
- Inhalt von LTK (Win) nach LongTermKey, Key (Linux), nur Großbuchstaben, keine Kommas, kein "hex:"
- Inhalt von ERand (Win) nach LongTermKey, Rand (Linux), Hexadezimalzahl ohne Komma aufschreiben, spiegeln und in eine Dezimalzahl wandeln
- Inhalt von EDIV (Win) nach LongTermKey, EDiv (Linux)Hexadezimalzahl ohne Komma aufschreiben und in eine Dezimalzahl wandeln (nicht spiegeln)
- Inhalt von IRK (Win) nach IdentifyResolvingKey, Key (Linux), nur Großbuchstaben, keine Kommas, kein "hex:"
- Inhalt von CSRK (Win) nach LocalSignatureKey, Key (Linux), nur Großbuchstaben, keine Kommas, kein "hex:"
sudo systemctl restart bluetooth