commit fe6f707a856044c754911b6b742f5518b3caaa22
parent 44aad7b92bb38c4fbd0ebc143a3f88c564c7373a
Author: adophoxia <100170946+adophoxia@users.noreply.github.com>
Date: Wed, 5 Oct 2022 10:42:21 -0700
[Keyboard] Add encoder map support for GMMK Pro (#18600)
Diffstat:
12 files changed, 53 insertions(+), 58 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
+\ No newline at end of file