summaryrefslogtreecommitdiff
path: root/keyboards/nullbitsco
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/nullbitsco
parent74fbd5a0313769655914166bc872d41461509bd3 (diff)
Remove encoder in-matrix workaround code (#20389)
Diffstat (limited to 'keyboards/nullbitsco')
-rw-r--r--keyboards/nullbitsco/tidbit/info.json12
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/default/keymap.c33
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/default/rules.mk1
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c54
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk1
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c78
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk1
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/via/keymap.c67
-rw-r--r--keyboards/nullbitsco/tidbit/keymaps/via/rules.mk3
-rw-r--r--keyboards/nullbitsco/tidbit/tidbit.c92
10 files changed, 165 insertions, 177 deletions
diff --git a/keyboards/nullbitsco/tidbit/info.json b/keyboards/nullbitsco/tidbit/info.json
index 00e8a9d7df..0fb13a25c2 100644
--- a/keyboards/nullbitsco/tidbit/info.json
+++ b/keyboards/nullbitsco/tidbit/info.json
@@ -35,33 +35,21 @@
35 {"matrix": [0, 4], "x": 4.25, "y": 0}, 35 {"matrix": [0, 4], "x": 4.25, "y": 0},
36 {"matrix": [0, 5], "x": 5.25, "y": 0}, 36 {"matrix": [0, 5], "x": 5.25, "y": 0},
37 37
38 {"matrix": [1, 0], "x": 0, "y": 1},
39 {"matrix": [1, 1], "x": 1, "y": 1},
40
41 {"matrix": [1, 2], "x": 2.25, "y": 1}, 38 {"matrix": [1, 2], "x": 2.25, "y": 1},
42 {"matrix": [1, 3], "x": 3.25, "y": 1}, 39 {"matrix": [1, 3], "x": 3.25, "y": 1},
43 {"matrix": [1, 4], "x": 4.25, "y": 1}, 40 {"matrix": [1, 4], "x": 4.25, "y": 1},
44 {"matrix": [1, 5], "x": 5.25, "y": 1}, 41 {"matrix": [1, 5], "x": 5.25, "y": 1},
45 42
46 {"matrix": [2, 0], "x": 0, "y": 2},
47 {"matrix": [2, 1], "x": 1, "y": 2},
48
49 {"matrix": [2, 2], "x": 2.25, "y": 2}, 43 {"matrix": [2, 2], "x": 2.25, "y": 2},
50 {"matrix": [2, 3], "x": 3.25, "y": 2}, 44 {"matrix": [2, 3], "x": 3.25, "y": 2},
51 {"matrix": [2, 4], "x": 4.25, "y": 2}, 45 {"matrix": [2, 4], "x": 4.25, "y": 2},
52 {"matrix": [2, 5], "x": 5.25, "y": 2}, 46 {"matrix": [2, 5], "x": 5.25, "y": 2},
53 47
54 {"matrix": [3, 0], "x": 0, "y": 3},
55 {"matrix": [3, 1], "x": 1, "y": 3},
56
57 {"matrix": [3, 2], "x": 2.25, "y": 3}, 48 {"matrix": [3, 2], "x": 2.25, "y": 3},
58 {"matrix": [3, 3], "x": 3.25, "y": 3}, 49 {"matrix": [3, 3], "x": 3.25, "y": 3},
59 {"matrix": [3, 4], "x": 4.25, "y": 3}, 50 {"matrix": [3, 4], "x": 4.25, "y": 3},
60 {"matrix": [3, 5], "x": 5.25, "y": 3}, 51 {"matrix": [3, 5], "x": 5.25, "y": 3},
61 52
62 {"matrix": [4, 0], "x": 0, "y": 4},
63 {"matrix": [4, 1], "x": 1, "y": 4},
64
65 {"matrix": [4, 2], "x": 2.25, "y": 4}, 53 {"matrix": [4, 2], "x": 2.25, "y": 4},
66 {"matrix": [4, 3], "x": 3.25, "y": 4}, 54 {"matrix": [4, 3], "x": 3.25, "y": 4},
67 {"matrix": [4, 4], "x": 4.25, "y": 4}, 55 {"matrix": [4, 4], "x": 4.25, "y": 4},
diff --git a/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c
index 6cd9f48c94..e3d9152fea 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c
+++ b/keyboards/nullbitsco/tidbit/keymaps/default/keymap.c
@@ -22,19 +22,26 @@ enum layers {
22}; 22};
23 23
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25 [_BASE] = LAYOUT( 25 [_BASE] = LAYOUT(
26 KC_PSLS, KC_PAST, KC_PMNS, 26 KC_PSLS, KC_PAST, KC_PMNS,
27 KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, 27 KC_P7, KC_P8, KC_P9, KC_PPLS,
28 KC_MPRV, KC_MNXT, KC_P4, KC_P5, KC_P6, KC_PPLS, 28 KC_P4, KC_P5, KC_P6, KC_PPLS,
29 KC_LEFT, KC_RGHT, KC_P1, KC_P2, KC_P3, KC_PENT, 29 KC_P1, KC_P2, KC_P3, KC_PENT,
30 KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT 30 KC_P0, KC_P0, KC_PDOT, KC_PENT
31 ), 31 ),
32 32
33 [_FUNC] = LAYOUT( 33 [_FUNC] = LAYOUT(
34 _______, _______, _______, 34 _______, _______, _______,
35 _______, _______, _______, _______, _______, _______, 35 _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, 36 _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______ 38 _______, _______, _______, _______
39 ), 39 )
40}; 40};
41
42#ifdef ENCODER_MAP_ENABLE
43const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
44 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
45 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
46};
47#endif
diff --git a/keyboards/nullbitsco/tidbit/keymaps/default/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/nullbitsco/tidbit/keymaps/default/rules.mk
@@ -0,0 +1 @@
ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c
index 2555026534..96c26c50ab 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c
+++ b/keyboards/nullbitsco/tidbit/keymaps/oled/keymap.c
@@ -25,34 +25,40 @@ enum layers {
25 25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_BASE] = LAYOUT( 27 [_BASE] = LAYOUT(
28 KC_PSLS, KC_PAST, KC_PMNS, 28 KC_PSLS, KC_PAST, KC_PMNS,
29 KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, 29 KC_P7, KC_P8, KC_P9, KC_PPLS,
30 KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, 30 KC_P4, KC_P5, KC_P6, KC_PPLS,
31 KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, 31 KC_P1, KC_P2, KC_P3, KC_PENT,
32 KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT 32 KC_P0, KC_P0, KC_PDOT, KC_PENT
33 ), 33 ),
34
35 [_VIA1] = LAYOUT( 34 [_VIA1] = LAYOUT(
36 _______, _______, _______, 35 _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, 36 _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______ 39 _______, _______, _______, _______
41 ), 40 ),
42
43 [_VIA2] = LAYOUT( 41 [_VIA2] = LAYOUT(
44 _______, _______, _______, 42 _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, 43 _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, 44 _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______ 46 _______, _______, _______, _______
49 ), 47 ),
50
51 [_VIA3] = LAYOUT( 48 [_VIA3] = LAYOUT(
52 _______, _______, _______, 49 _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, 50 _______, _______, _______, _______,
54 _______, _______, _______, _______, _______, _______, 51 _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, 52 _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______ 53 _______, _______, _______, _______
57 ), 54 )
55};
56
57#ifdef ENCODER_MAP_ENABLE
58const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
59 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
60 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
61 [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
62 [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
58}; 63};
64#endif
diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk
index ef531564fc..1b3509eac8 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk
+++ b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk
@@ -1,3 +1,4 @@
1VIA_ENABLE = yes 1VIA_ENABLE = yes
2OLED_ENABLE = yes 2OLED_ENABLE = yes
3OLED_DRIVER = SSD1306 3OLED_DRIVER = SSD1306
4ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
index 32306ef9d6..37bbaaab32 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
+++ b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/keymap.c
@@ -25,38 +25,44 @@ enum layer_names {
25 25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_LAY0] = LAYOUT( 27 [_LAY0] = LAYOUT(
28 KC_PSLS, KC_PAST, KC_PMNS, 28 KC_PSLS, KC_PAST, KC_PMNS,
29 KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, 29 KC_P7, KC_P8, KC_P9, KC_PPLS,
30 KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, 30 KC_P4, KC_P5, KC_P6, KC_PPLS,
31 KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, 31 KC_P1, KC_P2, KC_P3, KC_PENT,
32 KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT 32 KC_P0, KC_P0, KC_PDOT, KC_PENT
33 ), 33 ),
34
35 [_LAY1] = LAYOUT( 34 [_LAY1] = LAYOUT(
36 _______, _______, _______, 35 _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, 36 _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______,
40 _______, _______, _______, _______, _______, _______ 39 _______, _______, _______, _______
41 ), 40 ),
42
43 [_LAY2] = LAYOUT( 41 [_LAY2] = LAYOUT(
44 _______, _______, _______, 42 _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, 43 _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, 44 _______, _______, _______, _______,
47 _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______,
48 _______, _______, _______, _______, _______, _______ 46 _______, _______, _______, _______
49 ), 47 ),
50
51 [_LAY3] = LAYOUT( 48 [_LAY3] = LAYOUT(
52 _______, _______, _______, 49 _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, 50 _______, _______, _______, _______,
54 _______, _______, _______, _______, _______, _______, 51 _______, _______, _______, _______,
55 _______, _______, _______, _______, _______, _______, 52 _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______ 53 _______, _______, _______, _______
57 ), 54 )
58}; 55};
59 56
57#ifdef ENCODER_MAP_ENABLE
58const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
59 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
60 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
61 [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
62 [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
63};
64#endif
65
60#ifdef OLED_ENABLE 66#ifdef OLED_ENABLE
61/*=========================================== OLED CONFIGURATION ===========================================*/ 67/*=========================================== OLED CONFIGURATION ===========================================*/
62#define OLED_ROTATE true // OLED rotation (flip 180* from default orientation) 68#define OLED_ROTATE true // OLED rotation (flip 180* from default orientation)
@@ -112,18 +118,18 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
112// Draw static background image to OLED (keyboard with no bottom row) 118// Draw static background image to OLED (keyboard with no bottom row)
113static void render_background(void) { 119static void render_background(void) {
114 static const char PROGMEM nullbits_n_oled[] = { 120 static const char PROGMEM nullbits_n_oled[] = {
115 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 121 0x00, 0xe0, 0xf0, 0xf0, 0xf8, 0xf8, 0xf0, 0xf0, 0xe0, 0x80, 0x20, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
116 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 122 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
117 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 123 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
118 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00, 124 0x1f, 0x1f, 0x1f, 0x1f, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xfc, 0xf0, 0x00, 0x00,
119 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 125 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00,
121 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 127 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
122 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
123 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 129 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
124 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
125 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 131 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
126 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00, 132 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x07, 0x03, 0x00,
127 }; 133 };
128 oled_write_raw_P(nullbits_n_oled, sizeof(nullbits_n_oled)); 134 oled_write_raw_P(nullbits_n_oled, sizeof(nullbits_n_oled));
129} 135}
diff --git a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
index 1b72fd006a..605f034e1d 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
+++ b/keyboards/nullbitsco/tidbit/keymaps/snailmap_lite/rules.mk
@@ -4,3 +4,4 @@ VIA_ENABLE = yes
4SPACE_CADET_ENABLE = no 4SPACE_CADET_ENABLE = no
5GRAVE_ESC_ENABLE = no 5GRAVE_ESC_ENABLE = no
6MAGIC_ENABLE = no 6MAGIC_ENABLE = no
7ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c b/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c
index 895b02c292..96c26c50ab 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c
+++ b/keyboards/nullbitsco/tidbit/keymaps/via/keymap.c
@@ -24,36 +24,41 @@ enum layers {
24}; 24};
25 25
26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 26const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
27 [_BASE] = LAYOUT( 27 [_BASE] = LAYOUT(
28 KC_PSLS, KC_PAST, KC_PMNS, 28 KC_PSLS, KC_PAST, KC_PMNS,
29 KC_VOLD, KC_VOLU, KC_P7, KC_P8, KC_P9, KC_PPLS, 29 KC_P7, KC_P8, KC_P9, KC_PPLS,
30 KC_TRNS, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, 30 KC_P4, KC_P5, KC_P6, KC_PPLS,
31 KC_TRNS, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_PENT, 31 KC_P1, KC_P2, KC_P3, KC_PENT,
32 KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_PENT 32 KC_P0, KC_P0, KC_PDOT, KC_PENT
33 ), 33 ),
34 34 [_VIA1] = LAYOUT(
35 [_VIA1] = LAYOUT( 35 _______, _______, _______,
36 _______, _______, _______, 36 _______, _______, _______, _______,
37 _______, _______, _______, _______, _______, _______, 37 _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, 38 _______, _______, _______, _______,
39 _______, _______, _______, _______, _______, _______, 39 _______, _______, _______, _______
40 _______, _______, _______, _______, _______, _______ 40 ),
41 ), 41 [_VIA2] = LAYOUT(
42 42 _______, _______, _______,
43 [_VIA2] = LAYOUT( 43 _______, _______, _______, _______,
44 _______, _______, _______, 44 _______, _______, _______, _______,
45 _______, _______, _______, _______, _______, _______, 45 _______, _______, _______, _______,
46 _______, _______, _______, _______, _______, _______, 46 _______, _______, _______, _______
47 _______, _______, _______, _______, _______, _______, 47 ),
48 _______, _______, _______, _______, _______, _______ 48 [_VIA3] = LAYOUT(
49 ), 49 _______, _______, _______,
50 50 _______, _______, _______, _______,
51 [_VIA3] = LAYOUT( 51 _______, _______, _______, _______,
52 _______, _______, _______, 52 _______, _______, _______, _______,
53 _______, _______, _______, _______, _______, _______, 53 _______, _______, _______, _______
54 _______, _______, _______, _______, _______, _______, 54 )
55 _______, _______, _______, _______, _______, _______,
56 _______, _______, _______, _______, _______, _______
57 ),
58}; 55};
59 56
57#ifdef ENCODER_MAP_ENABLE
58const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
59 [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
60 [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
61 [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
62 [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______), },
63};
64#endif
diff --git a/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk
index 036bd6d1c3..f1adcab005 100644
--- a/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk
+++ b/keyboards/nullbitsco/tidbit/keymaps/via/rules.mk
@@ -1 +1,2 @@
1VIA_ENABLE = yes \ No newline at end of file 1VIA_ENABLE = yes
2ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/nullbitsco/tidbit/tidbit.c b/keyboards/nullbitsco/tidbit/tidbit.c
index eea5a5d54c..15bc0f6a7a 100644
--- a/keyboards/nullbitsco/tidbit/tidbit.c
+++ b/keyboards/nullbitsco/tidbit/tidbit.c
@@ -18,20 +18,6 @@
18#include "common/remote_kb.h" 18#include "common/remote_kb.h"
19#include "common/bitc_led.h" 19#include "common/bitc_led.h"
20 20
21typedef struct PACKED {
22 uint8_t r;
23 uint8_t c;
24} encodermap_t;
25
26// Map encoders to their respective virtual matrix entry
27// Allows for encoder control using VIA
28const encodermap_t encoder_map[4][2] = {
29 {{1, 0}, {1, 1}}, // Encoder 1 matrix location
30 {{2, 0}, {2, 1}}, // Encoder 2 matrix location
31 {{3, 0}, {3, 1}}, // Encoder 3 matrix location
32 {{4, 0}, {4, 1}}, // Encoder 4 matrix location
33};
34
35bool numlock_set = false; 21bool numlock_set = false;
36 22
37#ifdef OLED_ENABLE 23#ifdef OLED_ENABLE
@@ -41,40 +27,40 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
41 27
42static void render_logo(void) { 28static void render_logo(void) {
43 static const char PROGMEM tidbit_oled[] = { 29 static const char PROGMEM tidbit_oled[] = {
44 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 30 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
45 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 31 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff,
46 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 32 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f,
47 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00, 33 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x3e, 0x3e, 0x7e, 0xfc, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x00, 0x00,
48 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 34 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
49 0x1f, 0x1f, 0x3f, 0x7e, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35 0x1f, 0x1f, 0x3f, 0x7e, 0xfe, 0xfe, 0xfc, 0xf8, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 36 0xfe, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x00, 0x0e, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f,
51 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x00, 37 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1f, 0x1e, 0x00,
52 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 38 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
53 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 39 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
54 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 40 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0, 41 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xfe, 0xc0,
56 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 42 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
57 0xe0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 0xe0, 0xf0, 0xf0, 0xf8, 0xff, 0xff, 0xbf, 0x1f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
58 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
60 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 46 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
61 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 47 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
62 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 48 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
63 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03, 49 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x03,
64 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 50 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
65 0x03, 0x03, 0x03, 0x07, 0x07, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 51 0x03, 0x03, 0x03, 0x07, 0x07, 0xbf, 0xff, 0xff, 0xff, 0xfe, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00,
66 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 52 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
67 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 53 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
68 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x3f, 54 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x3f,
69 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 55 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
70 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 56 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8,
71 0xf8, 0xf8, 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00, 57 0xf8, 0xf8, 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3e, 0x3f, 0x3f, 0x1f, 0x0f, 0x07, 0x01, 0x00, 0x00,
72 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 58 0x00, 0x00, 0x00, 0x00, 0x1f, 0x7f, 0x7f, 0x7f, 0xff, 0xff, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8, 0xf8,
73 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 59 0xf8, 0x7c, 0x7c, 0x7c, 0x7e, 0x3f, 0x3f, 0x1f, 0x1f, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
74 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 60 0x7f, 0xff, 0xff, 0x7f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 61 0x00, 0x3f, 0x7f, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
76 }; 62 };
77 63
78 oled_write_raw_P(tidbit_oled, sizeof(tidbit_oled)); 64 oled_write_raw_P(tidbit_oled, sizeof(tidbit_oled));
79}; 65};
80 66
@@ -86,20 +72,6 @@ bool oled_task_kb(void) {
86 72
87#endif 73#endif
88 74
89static void process_encoder_matrix(encodermap_t pos) {
90 action_exec(MAKE_KEYEVENT(pos.r, pos.c, true));
91#if TAP_CODE_DELAY > 0
92 wait_ms(TAP_CODE_DELAY);
93#endif
94 action_exec(MAKE_KEYEVENT(pos.r, pos.c, false));
95}
96
97bool encoder_update_kb(uint8_t index, bool clockwise) {
98 if (!encoder_update_user(index, clockwise)) return false;
99 process_encoder_matrix(encoder_map[index][clockwise ? 0 : 1]);
100 return false;
101}
102
103// Use Bit-C LED to show NUM LOCK status 75// Use Bit-C LED to show NUM LOCK status
104void led_update_ports(led_t led_state) { 76void led_update_ports(led_t led_state) {
105 set_bitc_LED(led_state.num_lock ? LED_DIM : LED_OFF); 77 set_bitc_LED(led_state.num_lock ? LED_DIM : LED_OFF);