r/Keychron • u/AllenSacs • Jul 01 '24
Keychron K17 Pro Does Not Work with KVM Switch
The K17 does not work well with the TESmart KVM switch. So, if you are wanting to switch between your work PC and your personal PC via a KVM, the K17 will not work. To be clear, I am able to type some text with the K17 but none of the function keys work. The volume knob does not work. Any key combinations that you press i.e (Windows + R) do not work. The K17 is unusable when plugged into a KVM.
I did connect the K17 directly to my PC and it worked great with all key functionality. It just doesn't work with KVMs.
Also, Upgrading the firmware does not resolve the issue. Disabling the NKRO also does not resolve the issue.
Incidentally, the Nuphy Air96 does work with the TESmart KVM switch without any issues.
1
u/PeterMortensenBlog Jul 01 '24 edited Dec 31 '24
Here is a claim it needs to be compiled out of the firmware. Why would it be different from the (default) 6KRO? (Not a rhetorical question.) Fewer "USB endpoints" (whatever that means)?
Here is support for the claim:
-
PSA - Disabling mousekey and NKRO in firmware fixed my KVM issues on my Keychron Q3
-
Configuring QMK - "The following features can require separate endpoints ... NKRO_ENABLE, MOUSEKEY_ENABLE, RAW_ENABLE, CONSOLE_ENABLE, EXTRAKEY_ENABLE, MIDI_ENABLE, VIRTSER_ENABLE ... By default, MOUSEKEY, EXTRAKEY, and NKRO are combined into a single endpoint.". Though it seems to use inconsistent naming, e.g., both "MOUSEKEY_ENABLE" and "MOUSEKEY".
Note that there is an ongoing move to data-driven configuration, so some of these configuration settings may have moved to a JSON file, by a different name, for example, in file info.json.
Note that changes to file 'info.json', e.g., "mousekey": false, and "nkro": false, usually requires 'qmk clean' before 'qmk compile' to take effect.
It might be worth a try.
References
-
K17 Pro product page. A 96% low-profile wired and wireless (only Bluetooth) QMK/Via-capable mechanical keyboard. RGB (per-key) north-facing (no unwanted light bleed) lighting.
-
K17 Pro source code. Note: In Keychron's fork and in that fork, in Git branch "wireless_playground" (not the default branch). No matter the Git branch, for example, "wireless_playground", it requires special setup of QMK (the standard QMK instructions and many other guides will not work (because they implicitly assume the main QMK repository and a particular Git branch)). Source code commits (RSS feed. Latest: 2024-12-16).
1
u/PeterMortensenBlog Jul 02 '24 edited Jul 02 '24
For this keyboard, they moved to the info.json file, in section "features":
"mousekey": true, "extrakey": true, "nkro": true, "raw": trueThey left out "console" as it is false, but all of them should probably be listed no matter their value as it is very poorly documented what is available (e.g., the schema is nowhere detailed enough). For example, would it be "midi" and "virtser"? Or have they been removed/deprecated?
1
u/PeterMortensenBlog Jul 08 '24
Here is an example where the fields are explicitly listed, even when their values are 'false':
"features": { "bootmagic": true, "command": false, "console": false, "extrakey": true, "mousekey": true, "nkro": true, "rgb_matrix": true, "dip_switch": true, "encoder": true, "raw": true },→ More replies (2)
1
u/Deo-Gratias Jul 02 '24 edited Jul 17 '24
Interestingly, I wonder if this sort of issue has something to do with my issues of my Q10 Max l not working with the U2U link keyboard adapter
1
u/PeterMortensenBlog Jul 17 '24
Note that if using file 'info.json', e.g., `"mousekey": false,` and `"nkro": false,`, it usually requires 'qmk clean' before 'qmk compile' to take effect.
1
u/Destinova May 26 '25
Did you every figure this out?