This is a short howto on setting up a Keychron C3 Pro RGB in Linux. You'll need sudo rights, but that's about all.
Unfortunately, I needed to use a Windows machine to upgrade my firmware first, using the instructions at launcher.keychron.com, but I believe current models are shipping with the newer firmware pre-installed (c3_pro_ansi_rgb_v1.0.1_2403081755). If not, you can download the .bin file here.
# First, you need to know what groups you're currently # in, this example was run on a Rocky Linux 9.4 host. groups # steve wheel dialout # What I'm interested in here is the wheel group, it's what # gives me sudo on this machine, and I'd like anybody that has # sudo to be able to edit the keyboard layout with usevia.app # Create an empty file if it doesn't already exist sudo touch /etc/udev/rules.d/99-vial.rules # Add the rules below to that file, note the group is wheel. echo 'KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="3434", ATTRS{idProduct}=="0350", MODE="0660", GROUP="wheel", TAG+="uaccess", TAG+="udev-acl"' \ | sudo tee -a /etc/udev/rules.d/99-vial.rules > /dev/null # Make the rules take effect sudo udevadm control --reload-rules && sudo udevadm trigger
Download the .json.zip file from here or from the Keychron website, unzip it somewhere and keep track of the file c3_pro_ansi_rgb_v1.0.0_20240125.json as you'll need it soon.
Set up your keeb however you want, and don't forget the macroee goodness!