From fe6f707a856044c754911b6b742f5518b3caaa22 Mon Sep 17 00:00:00 2001 From: adophoxia <100170946+adophoxia@users.noreply.github.com> Date: Wed, 5 Oct 2022 10:42:21 -0700 Subject: [PATCH] [Keyboard] Add encoder map support for GMMK Pro (#18600) --- .../pro/rev1/ansi/keymaps/default/keymap.c | 16 ++++++---------- .../pro/rev1/ansi/keymaps/default/rules.mk | 1 + .../gmmk/pro/rev1/ansi/keymaps/via/keymap.c | 18 ++++++++---------- .../gmmk/pro/rev1/ansi/keymaps/via/rules.mk | 1 + .../gmmk/pro/rev1/iso/keymaps/default/keymap.c | 14 +++++--------- .../gmmk/pro/rev1/iso/keymaps/default/rules.mk | 1 + .../gmmk/pro/rev1/iso/keymaps/via/keymap.c | 18 ++++++++---------- .../gmmk/pro/rev1/iso/keymaps/via/rules.mk | 1 + .../pro/rev2/ansi/keymaps/default/keymap.c | 16 ++++++---------- .../pro/rev2/ansi/keymaps/default/rules.mk | 1 + .../gmmk/pro/rev2/iso/keymaps/default/keymap.c | 14 +++++--------- .../gmmk/pro/rev2/iso/keymaps/default/rules.mk | 1 + 12 files changed, 44 insertions(+), 58 deletions(-) create mode 100644 keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk create mode 100644 keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk create mode 100644 keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk create mode 100644 keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c index 91f29f8d62ab02aa4d5e5d67d6e08e8631cf0a3e..6557734f59e9cf579fbd5a92208f113f17ede23b 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/keymap.c @@ -60,13 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return false; -} -#endif // ENCODER_ENABLE +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk new file mode 100644 index 0000000000000000000000000000000000000000..a40474b4d5c71c0cb5b821bec0ab63c175cdc43d --- /dev/null +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c index 1f59b52999f51fd2d544443cd4daa5ab835d1a51..71e3ecd5e6a275afce231ae641594aa10d8dc140 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/keymap.c @@ -77,13 +77,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return false; -} -#endif // ENCODER_ENABLE +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/rules.mk index 1e5b99807cb7a90b282a3001a38bf303774544ba..4253f570f0bbb6aceadcbcce42dcb6137fdb0d6f 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/via/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c index 0aedb78285bd6fb8d424333a050b5ca5e160d12e..af0366d20da171f1fc45f610cf532df14af6d400 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/default/keymap.c @@ -60,13 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return false; -} +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; #endif diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk new file mode 100644 index 0000000000000000000000000000000000000000..a40474b4d5c71c0cb5b821bec0ab63c175cdc43d --- /dev/null +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c b/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c index 7d0693c18c8c83972678d87e57528d1c5da5b394..9a37242a4ef979ed316c5a8ec2be92c3ee436ae1 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/via/keymap.c @@ -79,13 +79,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return false; -} -#endif // ENCODER_ENABLE +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/gmmk/pro/rev1/iso/keymaps/via/rules.mk b/keyboards/gmmk/pro/rev1/iso/keymaps/via/rules.mk index 1e5b99807cb7a90b282a3001a38bf303774544ba..4253f570f0bbb6aceadcbcce42dcb6137fdb0d6f 100644 --- a/keyboards/gmmk/pro/rev1/iso/keymaps/via/rules.mk +++ b/keyboards/gmmk/pro/rev1/iso/keymaps/via/rules.mk @@ -1 +1,2 @@ VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c index dc56a9ff8f7bc78e551dbd8360fb34e33778f0fe..30fd283d7d49970f91c2b4a2e13824a94f51a911 100644 --- a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/keymap.c @@ -60,13 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return false; -} -#endif // ENCODER_ENABLE +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) } +}; +#endif \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk new file mode 100644 index 0000000000000000000000000000000000000000..a40474b4d5c71c0cb5b821bec0ab63c175cdc43d --- /dev/null +++ b/keyboards/gmmk/pro/rev2/ansi/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c b/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c index c44e4905d033bd64575787d9408771da432d20e4..9da9bb2490d09ae93af0460ae22e3f30f3beadd6 100644 --- a/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c +++ b/keyboards/gmmk/pro/rev2/iso/keymaps/default/keymap.c @@ -60,13 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { }; // clang-format on -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - return false; -} +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; #endif diff --git a/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk b/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk new file mode 100644 index 0000000000000000000000000000000000000000..a40474b4d5c71c0cb5b821bec0ab63c175cdc43d --- /dev/null +++ b/keyboards/gmmk/pro/rev2/iso/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes \ No newline at end of file