The short version: ZMK must be set up for v0.3, not the latest version (as of 2026-06-22), otherwise the result is a compile error. The command line for compiling is: Introduction Keychron released the source code for V6 Ultra 8K on 2026-05-23 …

Compiling and flashing firmware for the Keychron V6 Ultra 8K, incl. setting up a local ZMK environment from scratch Read more »

The short version: A few lines of Python code using the Matplotlib library will convert between HSV and RGB colour values. An online tool is not required. For example, the open source keyboard firmware QMK tends to use HSV values …

Converting to and from RGB and HSV colour values Read more »

The short version: After setting up ZMK, for example, with the completely linear pastable command lines provided below, use “west build -b planck//zmk” instead of “west build -b planck_rev6” to build the sample keyboard firmware (to test that building actually …

Hello, World! for ZMK, the latest version Read more »

The short version: A wireless QMK-based Keychron keyboard can provide the information about the battery state, e.g. “81%”, to the operating system, just like, for example, a wireless computer mouse. Though the operating system may have to be configured for …

The battery state of a wireless Keychron QMK-based keyboard can be displayed in the operating system Read more »

Use Sample output: That is sortable output, but a resolution of 1/100 second is probably sufficient. The output can be rounded by postprocessing. A sample application For example, it can be used to get absolute timestamps for start and end …

Linux command-line snippet for absolute timestamps with subsecond resolution in ISO 8601 format Read more »

It doesn’t appear there is a way to change the keyboard layout in Xfce using the GUI (e.g., the default desktop environment in ArcoLinux), but it is possible as described here. Though it isn’t permanent, so it must be done …

Changing/switching keyboard layout in Xfce, that is, from the default US keyboard layout to another keyboard layout Read more »

The default setup of the terminal program in ArcoLinux is not OK. In particular, the opacity makes it practically unusable. Here is a description of how to configure it to get it into a usable state. Introduction Under the surface, …

Setting up the terminal/console program Alacritty to be usable (e.g., on ArcoLinux) Read more »

dfu-util can be used to both read off and to flash (update) firmware on embedded devices, say for the firmware on a QMK-based keyboard like the Keychron V5 (about 50 KB). But it is very poorly documented. In most cases, the …

Flash utility ‘dfu-util’ gotcha: Always use option ‘-a 0’ Read more »