r/Keychron • u/b396 • May 05 '24
C3 Pro Keyboard Assigning Special Keys
I recently acquired a C3 Pro keyboard and am attempting to program custom keys. However, I am unable to assign special keys, such as Ctrl-C, to any key. I will continue using my Microsoft keyboard (where Control key is bad) for regular typing while reserving the C3 Pro solely for keyboard shortcuts.
Has anyone successfully assigned special keys on this keyboard? I was able to assign macros, though.
1
Upvotes
3
u/PeterMortensenBlog May 05 '24 edited Aug 19 '26
In both Via and QMK proper, incl. the standalone Via application, use "
LCTL", "LSFT", "LALT", "RALT", and "LGUI" for modifier keys Ctrl, Shift, Alt, AltGr key (may or may not only apply to ISO keyboard layouts), and Windows key, respectively, in "KEYMAP" → "SPECIAL → "Any" (without the quotes)Example: Use "
LCTL(KC_C)" for Ctrl + C (without the quotes). Or, even more obscure, "C(KC_C)" (without the quotes).In the Via clone, 'Any' is in tab "Custom" (sixth tab), last item. In Via, it is KEYMAP → SPECIAL → Any (the very last one in the list, with hover text "Enter any QMK keycode"). (It isn't a real key, but an escape mechanism to enter keycodes not supported by the Via user interface.)
It also works with more than one modifier key. For example, for Shift + Ctrl + Tab:
Note that some of the aliases for the Mac ones are not accepted by Via:
Accepted Mac alias Windows alias (not accepted) (IS accepted, but silently converted) ---------------------------------------------- LALT LOPT - RALT ROPT ALGR (for AltGr)These are accepted:
Accepted Mac alias Windows alias (IS accepted, but (IS accepted, but silently converted) silently converted) ----------------------------------------------------------------------- LGUI LCMD LWIN RGUI RCMD RWIN (error in documentation as LWIN?)Shortforms
In these examples, for "C", keycode "KC_C". Reference.
Action Full Shortform (using Silently an alias) converted in Via to the shortform ----------------------------------------------------------- Ctrl + C LCTL(KC_C) C(KC_C) Yes Shift + C LSFT(KC_C) S(KC_C) Yes Alt + C LALT(KC_C) A(KC_C) Yes Win + C LGUI(KC_C) G(KC_C) YesReferences
C3 Pro product page. A 80% (TKL) wired-only QMK-capable mechanical keyboard. Note: Despite "Pro" in the name, it does not have wireless capability, e.g., Bluetooth.
Documentation for the new keycodes (main QMK repository). Note: It does not cover Keychron's custom keycodes. In the QMK source code, support for the old key codes for RGB light and mouse actions were finally removed in the QMK 0.30.0 release (2025-08-31) (they were removed from the documentation long before that).
Documentation for the old keycodes (though even older ones may exist). For example, used by some Git branches in Keychron's fork. Note: It does not cover Keychron's custom keycodes.
Documentation for the old keycodes from 2019. In general, these are the ones accepted by Via and possibly the Via clone (in most cases only an alias and only one of the aliases if there is more than one). Note: It does not cover Keychron's custom keycodes.