Confession time: I hoard mech keyboards
So I have this thing (call it a slight obsession) for mechanical keyboards. I’m fascinated by them. My daily driver until now was a 60% keyboard (a Filco Minila with MX Browns) but in the past I’ve used a few IBM Model Ms on a daily basis, especially my cherished “little” SSK. I also have a Unicomp with custom Tux keycaps and another Filco Minila with MX Blues, just in case the one with MX Browns breaks down I caught this virus back in 2014.
Fast forward to 2022: new apartment, new job, new desk (WFH FTW!). Out of the blue, the best thrift opportunity that I could have hoped for comes up: somebody was selling their Azio Retro Compact Keyboard in its elwood edition! Meaning exactly what I’ve been longing to get my hands on for over a year.
It’s a gorgeous-looking bluetooth keyboard with Kailh switches that emulate the feel of MX Blues. It can also work via USB and, for what it’s worth, it is also backlit if you care for that sort of thing. Without backlight, a single charge lasts for a long time. I’ve been using it daily for 2 weeks and I’m still at 60% battery. It has the ability to pair to up to three different devices via bluetooth. Which is perfect, because I can use it on my home computer, on my work laptop as well as on my Android phone.
That ain’t working
Except… well, certain manufacturers such as Azio (and also Keychron) seem to purposefully make beautiful keyboards just to spite Linux users.
The first problem I encountered was that I couldn’t even detect the keyboard using the
The second problem, once I got the keyboard paired, trusted and connected, was that the numlock was enabled by default on Manjaro
The third problem was that the function keys were spitting out gibberish
That’s the way you do it
Fortunately, solutions exist!
Detect and connect the keyboard
blueman applet doesn’t see the Azio RCK, or any other bluetooth device for that matter, you will need to launch
bluetoothctl (provided by the package
bluez-utils on Arch Linux and Manjaro, or simply by the
bluez package on Ubuntu):
1 2 3 bluetoothctl Agent registered [bluetooth]#
Now we instruct
bluetoothctl that it should scan for devices as they become available:
1 [bluetooth]# scan on
At this point, the keyboard should be in pairing mode. For the Azio RCK, first choose which device to pair among the possible three by pressing
3. Then enter pairing mode by pressing and holding
Ins. As the device becomes available,
bluetoothctl will signal this by showing the device address (it’s like a MAC address).
12:34:56:78:90:AB placeholder, you can now pair with the device, trust it and connect to it:
1 2 3 [bluetooth]# pair 12:34:56:78:90:AB [bluetooth]# trust 12:34:56:78:90:AB [bluetooth]# connect 12:34:56:78:90:AB
Now you’re good to go.
Turn off the numeric lock
In case only the right part of the keyboard seems to work but it only outputs numbers, it means the numlock is on. Turn it off by installing the
numlockx package and by running:
1 numlockx off
Enable function keys
Earlier in this post I mentioned Keychron because the solution comes from somebody having experienced the same problem with their keyboards on Debian.
The solution is to write
/sys/module/hid_apple/parameters/fnmode, as root:
1 echo 2 | sudo tee /sys/module/hid_apple/parameters/fnmode
This file describes how
fn keys behave: more info here.
If this solves the problem, the change can be made permanent by creating
/etc/modprobe.d/hid_apple.conf with the following contents:
1 options hid_apple fnmode=2
1 sudo update-initramfs -u -k all
Yes, the Azio RCK works under Linux with a bit of tinkering