summaryrefslogtreecommitdiff
path: root/keyboards/meletrix
diff options
context:
space:
mode:
authorjack <0x6A73@pm.me>2023-06-19 09:46:27 -0600
committerGitHub <noreply@github.com>2023-06-19 09:46:27 -0600
commitc4a67d3f3302f3096bb6b15921c9587643164ba9 (patch)
treebf10e469333ba42b708e76cfc085eb450d92359e /keyboards/meletrix
parent74fbd5a0313769655914166bc872d41461509bd3 (diff)
Remove encoder in-matrix workaround code (#20389)
Diffstat (limited to 'keyboards/meletrix')
-rw-r--r--keyboards/meletrix/zoom65/info.json2
-rw-r--r--keyboards/meletrix/zoom65/keymaps/default/keymap.c4
-rw-r--r--keyboards/meletrix/zoom65/keymaps/via/keymap.c17
-rw-r--r--keyboards/meletrix/zoom65/keymaps/via/rules.mk3
-rw-r--r--keyboards/meletrix/zoom65/zoom65.c64
-rw-r--r--keyboards/meletrix/zoom65_lite/config.h21
-rw-r--r--keyboards/meletrix/zoom65_lite/info.json2
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c4
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c62
-rw-r--r--keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk3
10 files changed, 34 insertions, 148 deletions
diff --git a/keyboards/meletrix/zoom65/info.json b/keyboards/meletrix/zoom65/info.json
index 30e4962a29..59de004989 100644
--- a/keyboards/meletrix/zoom65/info.json
+++ b/keyboards/meletrix/zoom65/info.json
@@ -43,9 +43,7 @@
43 {"matrix": [0, 12], "x": 12, "y": 0}, 43 {"matrix": [0, 12], "x": 12, "y": 0},
44 {"matrix": [0, 13], "x": 13, "y": 0}, 44 {"matrix": [0, 13], "x": 13, "y": 0},
45 {"matrix": [2, 13], "x": 14, "y": 0}, 45 {"matrix": [2, 13], "x": 14, "y": 0},
46 {"matrix": [4, 3], "x": 15, "y": 0, "w": 0.5},
47 {"matrix": [0, 14], "x": 15.5, "y": 0}, 46 {"matrix": [0, 14], "x": 15.5, "y": 0},
48 {"matrix": [4, 5], "x": 16.5, "y": 0, "w": 0.5},
49 47
50 {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, 48 {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
51 {"matrix": [1, 1], "x": 1.5, "y": 1}, 49 {"matrix": [1, 1], "x": 1.5, "y": 1},
diff --git a/keyboards/meletrix/zoom65/keymaps/default/keymap.c b/keyboards/meletrix/zoom65/keymaps/default/keymap.c
index 3eab5dabb0..b96eff2257 100644
--- a/keyboards/meletrix/zoom65/keymaps/default/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/default/keymap.c
@@ -18,14 +18,14 @@
18 18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_all( 20 [0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_VOLD, KC_MUTE, KC_VOLU, 21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MUTE,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, 22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, 24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT 25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
26 ), 26 ),
27 [1] = LAYOUT_all( 27 [1] = LAYOUT_all(
28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, 28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MPLY,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, 31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
diff --git a/keyboards/meletrix/zoom65/keymaps/via/keymap.c b/keyboards/meletrix/zoom65/keymaps/via/keymap.c
index 62e10541c2..44651f3468 100644
--- a/keyboards/meletrix/zoom65/keymaps/via/keymap.c
+++ b/keyboards/meletrix/zoom65/keymaps/via/keymap.c
@@ -18,31 +18,40 @@
18 18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_all( 20 [0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_VOLD, KC_MUTE, KC_VOLU, 21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MUTE,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, 22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, 24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT 25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
26 ), 26 ),
27 [1] = LAYOUT_all( 27 [1] = LAYOUT_all(
28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, 28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MPLY,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, 31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
33 ), 33 ),
34 [2] = LAYOUT_all( 34 [2] = LAYOUT_all(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
40 ), 40 ),
41 [3] = LAYOUT_all( 41 [3] = LAYOUT_all(
42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
47 ), 47 ),
48}; 48};
49
50#ifdef ENCODER_MAP_ENABLE
51const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
52 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
53 [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
54 [2] = { ENCODER_CCW_CW(_______, _______) },
55 [3] = { ENCODER_CCW_CW(_______, _______) },
56};
57#endif
diff --git a/keyboards/meletrix/zoom65/keymaps/via/rules.mk b/keyboards/meletrix/zoom65/keymaps/via/rules.mk
index 43061db1dd..1189f4ad19 100644
--- a/keyboards/meletrix/zoom65/keymaps/via/rules.mk
+++ b/keyboards/meletrix/zoom65/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
1VIA_ENABLE = yes 1VIA_ENABLE = yes
2LTO_ENABLE = yes \ No newline at end of file 2LTO_ENABLE = yes
3ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/meletrix/zoom65/zoom65.c b/keyboards/meletrix/zoom65/zoom65.c
deleted file mode 100644
index 10b48c7b2d..0000000000
--- a/keyboards/meletrix/zoom65/zoom65.c
+++ /dev/null
@@ -1,64 +0,0 @@
1/* Copyright 2021 meletrix
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#include "quantum.h"
18
19#ifdef VIA_ENABLE
20static uint8_t encoder_state[NUM_ENCODERS] = {0};
21static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY;
22static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY;
23
24void encoder_action_unregister(void)
25{
26 for (int index = 0; index < NUM_ENCODERS; ++index)
27 {
28 if (encoder_state[index])
29 {
30 keyevent_t encoder_event = (keyevent_t){
31 .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
32 .pressed = false,
33 .time = timer_read(),
34 .type = KEY_EVENT
35 };
36 encoder_state[index] = 0;
37 action_exec(encoder_event);
38 }
39 }
40}
41void encoder_action_register(uint8_t index, bool clockwise)
42{
43 keyevent_t encoder_event = (keyevent_t){
44 .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
45 .pressed = true,
46 .time = timer_read(),
47 .type = KEY_EVENT
48 };
49 encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
50 action_exec(encoder_event);
51}
52
53void matrix_scan_kb(void)
54{
55 encoder_action_unregister();
56 matrix_scan_user();
57}
58
59bool encoder_update_kb(uint8_t index, bool clockwise)
60{
61 encoder_action_register(index, clockwise);
62 return true;
63};
64#endif
diff --git a/keyboards/meletrix/zoom65_lite/config.h b/keyboards/meletrix/zoom65_lite/config.h
deleted file mode 100644
index e5cc1f3e5b..0000000000
--- a/keyboards/meletrix/zoom65_lite/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
1/* Copyright 2021 meletrix
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17#pragma once
18
19// Note: array is { col, row )
20#define ENCODERS_CW_KEY { { 5, 4 } }
21#define ENCODERS_CCW_KEY { { 3, 4 } }
diff --git a/keyboards/meletrix/zoom65_lite/info.json b/keyboards/meletrix/zoom65_lite/info.json
index b8b59a487d..932dc8571e 100644
--- a/keyboards/meletrix/zoom65_lite/info.json
+++ b/keyboards/meletrix/zoom65_lite/info.json
@@ -43,9 +43,7 @@
43 {"matrix": [0, 12], "x": 12, "y": 0}, 43 {"matrix": [0, 12], "x": 12, "y": 0},
44 {"matrix": [0, 13], "x": 13, "y": 0}, 44 {"matrix": [0, 13], "x": 13, "y": 0},
45 {"matrix": [2, 13], "x": 14, "y": 0}, 45 {"matrix": [2, 13], "x": 14, "y": 0},
46 {"matrix": [4, 3], "x": 15, "y": 0, "w": 0.5},
47 {"matrix": [0, 14], "x": 15.5, "y": 0}, 46 {"matrix": [0, 14], "x": 15.5, "y": 0},
48 {"matrix": [4, 5], "x": 16.5, "y": 0, "w": 0.5},
49 47
50 {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, 48 {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
51 {"matrix": [1, 1], "x": 1.5, "y": 1}, 49 {"matrix": [1, 1], "x": 1.5, "y": 1},
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c
index 9d9aa67557..b96eff2257 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/default/keymap.c
@@ -18,14 +18,14 @@
18 18
19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
20 [0] = LAYOUT_all( 20 [0] = LAYOUT_all(
21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_VOLU, KC_MUTE, KC_VOLD, 21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MUTE,
22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, 22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, 24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT 25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
26 ), 26 ),
27 [1] = LAYOUT_all( 27 [1] = LAYOUT_all(
28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MNXT, KC_MPLY, KC_MPRV, 28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MPLY,
29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, 31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c b/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c
index 4adfaba69d..44651f3468 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c
+++ b/keyboards/meletrix/zoom65_lite/keymaps/via/keymap.c
@@ -16,78 +16,42 @@
16 16
17#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
18 18
19static uint8_t encoder_state[NUM_ENCODERS] = {0};
20static keypos_t encoder_cw[NUM_ENCODERS] = ENCODERS_CW_KEY;
21static keypos_t encoder_ccw[NUM_ENCODERS] = ENCODERS_CCW_KEY;
22
23void encoder_action_unregister(void)
24{
25 for (int index = 0; index < NUM_ENCODERS; ++index)
26 {
27 if (encoder_state[index])
28 {
29 keyevent_t encoder_event = (keyevent_t){
30 .key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index],
31 .pressed = false,
32 .time = timer_read(),
33 .type = KEY_EVENT
34 };
35 encoder_state[index] = 0;
36 action_exec(encoder_event);
37 }
38 }
39}
40void encoder_action_register(uint8_t index, bool clockwise)
41{
42 keyevent_t encoder_event = (keyevent_t){
43 .key = clockwise ? encoder_cw[index] : encoder_ccw[index],
44 .pressed = true,
45 .time = timer_read(),
46 .type = KEY_EVENT
47 };
48 encoder_state[index] = (clockwise ^ 1) | (clockwise << 1);
49 action_exec(encoder_event);
50}
51
52void matrix_scan_kb(void)
53{
54 encoder_action_unregister();
55 matrix_scan_user();
56}
57
58bool encoder_update_kb(uint8_t index, bool clockwise)
59{
60 encoder_action_register(index, clockwise);
61 return true;
62}
63
64const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 19const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
65 [0] = LAYOUT_all( 20 [0] = LAYOUT_all(
66 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_VOLU, KC_MUTE, KC_VOLD, 21 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_MUTE,
67 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, 22 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
68 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, 23 KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
69 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, 24 KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
70 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT 25 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
71 ), 26 ),
72 [1] = LAYOUT_all( 27 [1] = LAYOUT_all(
73 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MNXT, KC_MPLY, KC_MPRV, 28 KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_MPLY,
74 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 29 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
75 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 30 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
76 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, 31 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
77 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 32 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
78 ), 33 ),
79 [2] = LAYOUT_all( 34 [2] = LAYOUT_all(
80 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
81 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
82 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
83 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
84 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
85 ), 40 ),
86 [3] = LAYOUT_all( 41 [3] = LAYOUT_all(
87 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 42 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
88 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
89 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 44 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
90 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
91 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ 46 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
92 ), 47 ),
93}; 48};
49
50#ifdef ENCODER_MAP_ENABLE
51const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
52 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
53 [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
54 [2] = { ENCODER_CCW_CW(_______, _______) },
55 [3] = { ENCODER_CCW_CW(_______, _______) },
56};
57#endif
diff --git a/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk b/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk
index 43061db1dd..1189f4ad19 100644
--- a/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk
+++ b/keyboards/meletrix/zoom65_lite/keymaps/via/rules.mk
@@ -1,2 +1,3 @@
1VIA_ENABLE = yes 1VIA_ENABLE = yes
2LTO_ENABLE = yes \ No newline at end of file 2LTO_ENABLE = yes
3ENCODER_MAP_ENABLE = yes