In this post, I want to share my thoughts on the Logitech MX Keys S Keyboard after using its predecessor for four years and the MX Keys S itself for two years.
The TLDR; is: If you’re a Linux user, you might want to avoid this keyboard.
Table of Contents
Specs and overview
Among rubber-dome keyboards, the MX Keys is one of the top options. Its low-profile design closely resembles a laptop keyboard, providing a familiar typing experience. It competes with, and perhaps even surpasses, the excellent ThinkPad keyboards—which are comparable to Apple MacBook keyboards for those more accustomed to them.
The build quality is excellent, and the keyboard has a surprising heft. It features backlit illumination with shine-through keycaps, enhancing readability in low-light conditions. However, the keycaps are made of cheap ABS plastic, which can become shiny over time and may even start to peel.
To save battery life, the backlight automatically turns off after a set period. However, the keyboard includes a capacitive sensor that detects when your hands are near, allowing the backlight to turn on as soon as you hover your hands above it.
The main difference between the older “non-S” and the newer “S” variant is the use of the Bolt receiver on the latter.
The Bolt receiver is based on the Bluetooth LE transmission standard and offers stronger encryption and better robustness when multiple receivers are used in the same environment when compared to the older Unifying receiver. If you plan to use the keyboard for gaming, the Bolt receiver inherits the maximal polling rate of 133 Hz from Bluetooth LE.
You might be wondering why you’d choose the Bolt receiver over a standard Bluetooth connection if they’re so similar. The main advantage is the ability to interact with your PC during boot, such as accessing the BIOS or selecting an OS in the bootloader. The bluetooth stack is part of the OS and not started at this point, while the Bolt receiver works without OS support.
At this point it sounds like the keyboard is a decent choice and it actually is, unless..
Linux issues
The most frustrating issue on Linux is that the MX Keys S prevents your machine from hibernating. While it technically allows the system to enter suspend mode, the keyboard immediately sends a wake-up signal.
From my testing, this issue appears to be specific to the keyboard. I also have an M650 mouse paired to the same Bolt receiver, and when the keyboard is powered off, suspend works as expected.
A workaround is to disable wakeup from Logitech Bolt via udev, as described here. However, this will also disable wakeup via the mouse as well.
Another problem is that certain keys are mapped to macros rather than key events. This is particularly true for the print screen button, which triggers the “Windows + Shift + S” sequence. Although GNOME can manage this correctly, it stops you from issuing system requests that depend on the print screen keycode. These requests are quite handy for initiating a safe reboot if your system freezes for any reason.
Unfortunately, there is no effective workaround for this. While keys can be remapped in Solaar, these remappings occur in userspace and are therefore unavailable when switching to the console or if userspace becomes unresponsive.
This contrasts with the “Keychron B6 Pro” Keyboard, where settings are stored directly on the keyboard and persist no matter where you use it.