From f32070bfef50a51300d41bbd1f5732a64055fd5a Mon Sep 17 00:00:00 2001 From: Andre Brait Date: Sun, 4 Dec 2022 07:56:04 +0100 Subject: [PATCH] [Keymap] Change DEBOUNCE_TYPE to sym_eager_pk to reduce latency (#19153) --- .../pro/rev1/ansi/keymaps/andrebrait/rules.mk | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk index 8983ba87c3..d5942a2e90 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk @@ -2,3 +2,22 @@ # Disabling MouseKey because it breaks my KVM switch MOUSEKEY_ENABLE = no + +# Cherry MX-style switches and diodes are not susceptible to noise, no need for noise-resistant algorithms. +# This significantly reduces latency. +# +# The matrix scan frequency seems to be around 1820 Hz, so even sym_defer_g would perform ok, +# but the "defer" part would mean we would wait DEBOUNCE ms before sending any events. +# Using "asym_eager_defer_pk" does not seem to benefit us in anything. +# The GMMK Pro has more then enough system resources for a per-key algorithm. +# Using an "eager" algorithm leads to extremely low latency while also reducing the chances of chattering +# due to it's "post-event" debouncing (of sorts). +# +# I have observed zero chattering or double-keypress issues on my Gateron Yellow switches. +# Most chattering issues on the GMMK Pro seem to be related to its proprietary hot-swap sockets anyway. +DEBOUNCE_TYPE = sym_eager_pk + +# Useful for debugging +# CONSOLE_ENABLE = yes +# DEBUG_MATRIX_SCAN_RATE_ENABLE = yes +# DEBUG_MATRIX_SCAN_RATE = yes