Keychron Q3 Ultra 8k // Silk POM Red (linear) // 45±15 gf

I am actually typing this on a Keychron model, specifically the Q3 Ultra 8k. I found one with the german iso layout in white, with red linear switches. I believe the 8k polling rate is overkill and I could’ve easily ordered the Q3 Max with a polling rate of 1k. Unfortunately the model availability is rather limited. Also, this model is really heavy. Like two bottles of milk heavy. It’s not easy to just move it a few centimetes without a conscious thought.

Keychron V3 Ultra TKL // Silk POM Brown (tactile) // 55±15 gf

Other keyboards on my desk were the V3 Ultra TKL from Keychron with brown tactile switches, which I found okayish, but I didn’t like the black color of the keyboard. Funny enough, the V3 weighs only half of the Q3 and since I compared both side-by-side I found the V3 lacking in “touch-value”. (I have no idea how to describe the good feeling of well-desinged hardware in one word. Think of Apple laptops.) So, the V3 doesn’t get to stay.

Epomaker TH87 // Creamy Jade (linear) // 45±5 gf

Next to the Keychrons was an Epomaker TH87, with linear creamy jade switches. This one wins the costume contest for best old-school look, including the bold font from the Windows 95 era. It’s keys were also very easy to type on. Sadly the device is recognized as Apple on my workstation, it seems that Epomaker uses the same Vendor IDs as an Apple Aluminium Keyboard. I didn’t have trouble with the keys during my writing tests but found a few users on the internet that complained.

In the end I didn’t have a good feeling with the Epomaker and decided not to pursue this one further.

Configuring a Keychron keyboard using a browser

While I am still waiting on the Wobkey Rainy 75 I will take a look at the Keychron launcher to see, what I can configure on this shiny Q3 model.

I wasn’t able to connect my keyboard right away on launcher.keychron.com. My browser was able to identify the hardware part, but couldn’t connect to it. The solution was as easy as Filip wrote in “Get Keychron Launcher working on Linux”:

Create a custom udev rule for Keychron devices

# Identify the hardware ID from the manufacturer

# During the writing of this post I moved to a different computer
# and can't access the Q3 right now. Therefore you have to live
# with Filip's Keychron K2 HE model in this example 

lsusb | grep -i keychron

Bus 003 Device 006: ID 3434:0e20 Keychron Keychron K2 HE
#           Vendor ID ---^   ^--- Model ID

# I am allowing all Keychron keyboards to be modified and add 
# only the Vendor ID to this udev rule. Once I am finished the
# file looks like this

cat /etc/udev/rules.d/70-keychron.rules

KERNEL=="hidraw*", SUBSYSTEM=="hidraw", \
ATTRS{idVendor}=="3434", MODE="0660", TAG+="uaccess"

# This allows all logged in users to read and write to HID 
# Keychron devices without the need for sudo

Reboot your computer or use the udevadm tool to reload the ruleset. You should be good to go.

I have to say I love the idea of configuring my device using a web browser. It feels liberating to not install a third-party software in order to configure a button on a device. Now the only thing missing is making this software available for self-hosting.