Kinesis Advantage 360 bluetooth dual-boot

on Christopher Hoelter's Blog

A quick guide on getting the kinesis advantage 360 bluetooth to connect to linux and windows when dual booting on a single machine.
#programming #bluetooth #dual-boot

The kinesis advantage 360 has been a great keyboard working mostly without any issues. Sometimes the two halves won't sync with each other, but power cycling them repeatedly will eventually fix that. I dual boot my desktop between windows 10 and linux (Fedora Silverblue) and originally paired the kinesis with the linux partition. When I booted into windows and tried to pair the keyboard on an unused bluetooth profile, I ran into issues since it's using the same underlying bluetooth device on the desktop.

This reddit post indicated that it wouldn't be quite so simple to get this keyboard working seamlessly across both operating systems, but it pointed me in the right direction for solutions. I followed the guidance on this page to get it working.

These are the steps I went through to get it connect to both operating systems on the same bluetooth profile.

  1. Boot into windows and pair the keyboard on the target bluetooth profile.
  2. Restart and boot into linux. On the keyboard, forget the pairing of the previous target profile (mod+right win). Now, pair the keyboard on linux.
  3. Copy the paired bluetooth key from linux. This will be in a file at the path /var/lib/bluetooth/{controller-mac-address}/{keyboard-mac-address}/info. Look for a line like key={32 characters here} in the file, that's the key. It may there multiple times. Write it down or copy it somewhere accessible when you reboot into windows.
  4. Reboot into windows and ensure the keyboard doesn't try and connect. Now, you need to edit the registry file for the bluetooth keyboard and replace the key with the key grabbed from the linux partition.
  5. Download PSExec in order to open up the registry editor with the proper permissions. Once the tool is unzipped, in an admin command shell run .\PsExec64.exe -s -i regedit.exe.
  6. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys in the editor, and find the entry for the keyboard.
  7. Replace the ltk key in that location with the one copied over from linux.
  8. Reboot and the keyboard should now connect and be functional across both operating systems!

My first few attempts were unsuccessful. On one of them I copied the key from windows to linux, and the keyboard would connect but it wouldn't function.

I hope my experience with getting this working helps someone else!


Please leave a comment or drop a message at https://lists.sr.ht/~hoelter/public-inbox. Email me directly at blog@christopherhoelter.com.