summaryrefslogtreecommitdiff
path: root/keyboards/gmmk/pro/rev1/ansi
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/gmmk/pro/rev1/ansi')
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk19
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c4
2 files changed, 21 insertions, 2 deletions
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
diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
index b71d18d481..49e2050ea0 100644
--- a/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
+++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/coryginsberg/keymap.c
@@ -17,7 +17,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include QMK_KEYBOARD_H
-void dance_media(qk_tap_dance_state_t *state, void *user_data) {
+void dance_media(tap_dance_state_t *state, void *user_data) {
if (state->count == 1) {
tap_code(KC_MPLY);
} else if (state->count == 2) {
@@ -29,7 +29,7 @@ void dance_media(qk_tap_dance_state_t *state, void *user_data) {
}
}
-qk_tap_dance_action_t tap_dance_actions[] = {
+tap_dance_action_t tap_dance_actions[] = {
// Tap once for shift, twice for Caps Lock
[0] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS),
[1] = ACTION_TAP_DANCE_FN(dance_media)};