March 25, 2026

Keychron Q8 -- using VIA

VIA is a web based reconfiguration tool for many keyboards, including the Q8. They show three Q8 variants: Here are the instructions:

Try it -- I get errors

They say you should use this link. They also say this only works with Chromium browsers (I am running Google Chrome on Fedora Linux). I get errors:
NotAllowedError: Failed to open the device.
Received invalid protocol version from device
Device: Keychron Keychron Q8
Vid: 0x3434
Pid: 0x0180

I need a udev rule

Create a file /etc/udev/rules.d/99-via.rules with the following content:
KERNEL=="hidraw*", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="0180", MODE="0666", TAG+="uaccess"
Then do this:
su
udevadm control --reload-rules
udevadm trigger
Then unplug and replug the keyboard. Yes! Now VIA launches. It tells me my keyboard is a Q8 ANSI.

I play around and make some changes.

How does this work instantly without reflashing?

Apparently VIA relies on EEPROM in the keyboard which handles key mapping, unlike Oryx for the Ergodox which does need to reflash to make any changes.

This has certain limitations, and you can do more elaborate things by rebuilding QMK for the keyboard and reflashing it, but VIA can do everthing I want to do at this time.


Have any comments? Questions? Drop me a line!

Adventures in Computing / tom@mmto.org