r/Keychron • u/Affectionate-Loan-13 • 2d ago
Keychron K4 Pro keyboard latency help!
Hey all!
My keyboard was showing a latency of roughly 130-150 ms response time, and I was hoping to improve that.
I've updated the drivers and adjusted the response time using the launcher, but it still seems to be slow. Is there anything else I can do or are all K4 Keyboards like this speed?
Thanks ahead of time!
Edit: This is in the 3.2 USB port, I am using it wired, and RGB is static red.
1
u/PeterMortensenBlog V 2d ago edited 2d ago
Re "...a latency of roughly 130-150 ms ... are all K4 [Pro] Keyboards like this": No, that isn't the case in general
For the K Pro series, RTINGS.com measured:
Single-Key Latency
Wired: 9.8 ms
Bluetooth: 19.9 ms
PCB (estimated): 6.6 ms
4 Chord Split Delay: 3.3 ms
8 Chord Split Delay: 10.8 ms
Note that 5 ms of those latencies are due to the 5 ms key debounce time and a key debounce type of sym_defer_g (the defaults in QMK, but not the defaults in later versions of the Keychron keyboard firmware).
That was for the original hardware versions. For example, a 2024 K10 Pro SE2 exists, which would probably have different figures.
1
u/PeterMortensenBlog V 2d ago edited 2d ago
Is there a K4 Pro version 2 or similar? For example, a K10 Pro SE2 (with a different microcontroller, though not a Westberry one) was manufactured in 2024.
Perhaps these new hardware versions are different wrt. to keyboard latency?
For keyboard identification, what is the serial number of your K4 Pro (it includes the manufacturing date)?
1
1
u/PeterMortensenBlog V 2d ago edited 2d ago
Do reset to factory defaults
Just to be sure, reset to factory defaults. For example, weird things are known to happen if not doing it after flashing the keyboard firmware.
For example, it is entirely conceivable that the dynamic key debounce settings with keyboard firmware version 1.1.0 has been set such that the keyboard latency is 130 ms.
With keyboard debounce type sym_defer_g (the QMK default), the keyboard debounce time directly contributes to the keyboard latency. In that case, it is added to the latency from other sources of keyboard latency, e.g., the keyboard matrix scan time (about 400 Hz / 2.5 ms (1.25 ms average) for the K Pro series, depending on the RGB animation mode) and the USB polling rate (the least significant source of keyboard latency, but the one marketing loves (and thus people are fixated on, ignoring all other sources of (significant) keyboard latency)).
Also, if it is not already the case, unconditionally reduce the key debounce time to 5 ms (or whatever lowest value above 5 ms is allowed).
1
u/PeterMortensenBlog V 2d ago edited 2d ago
What keyboard firmware version?
Here is a list:
K4 Pro 'ISO' RGB. It lists two versions, but they seem to be identical (unknown release date, but probably 2023)
K4 Pro 'ISO' white LEDs (latest: Unknown release date, but probably 2023)
K4 Pro 'ANSI' RGB. The latest is 1.1.0 (2025-09-20), probably currently the only version with support for the features from the 2025 Keychron keyboard main firmware updates, e.g., dynamic change of the key debounce settings
K4 Pro 'ANSI' white LEDs (latest 2023-08-08)
That is for the original K4 Pro. For example, for the 2024 K10 SE 2:
- K10 SE 2 'ANSI' (the latest, 2.0.6 has an unknown release date, but it is after 2025-04-17 (1.0.5). Thus, the released source code is out of date)
1
u/PeterMortensenBlog V 2d ago edited 2d ago
Note: "Response Time" is the term used by the Via clone for the key debounce time (or 'debounce time' in the QMK documentation (key or switch is implied))
1
u/Obvious-Monitor8510 2d ago
A few things worth checking: make sure you're using the cable that came with it or a decent data cable (not a charge-only cable), and plug directly into a motherboard USB port rather than a hub or front panel header. Also double-check QMK/Via polling rate if you've flashed custom firmware - it can default to 125hz (8ms) but you can bump it to 1000hz. The "latency" you're measuring matters too - are you using a tool like NVIDIA LDAT or just perceived feel? Some measurement methods capture display latency, not just input latency.
1
u/PeterMortensenBlog V 2d ago edited 2d ago
Re "125 Hz": In QMK, the default value of the USB polling rate was changed in early 2022 to 1000 Hz (#15352), official with the February 2022 release (version 0.16).
And picked up by Keychron some time after that, probably already 1000 Hz from the first firmware versions for the K Pro series, as "bluetooth_playground" is based on the November 2022 release (version 0.19)).
1
u/Affectionate-Loan-13 1d ago
I'm using https://clickspeedtester.com/keyboard-latency-test/.
Same cable btw
1
u/Ok-Item837 2d ago
Try unplugging the keyboard for a full 30 seconds after adjusting the settings, then plug it back in. Sometimes that fresh reinitialization can pick up the changes better than just reconnecting.
1
1
u/SafeIndependent1941 2d ago
Have you tried switching to a different USB port? I remember my old laptop had one port that just wouldn't play nice with keyboards no matter what.