From 14e14e9ab8420bf15929d07da389a08a6d79fe3c Mon Sep 17 00:00:00 2001 From: 3geek14 Date: Sun, 30 Jul 2023 00:22:39 -0400 Subject: [PATCH 01/65] Correct "less than" to "up to" in squeezing_avr?id=layers (#21639) --- docs/squeezing_avr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/squeezing_avr.md b/docs/squeezing_avr.md index d5ced5738264..241b3e7826be 100644 --- a/docs/squeezing_avr.md +++ b/docs/squeezing_avr.md @@ -75,7 +75,7 @@ MUSIC_ENABLE = no There are also some options for layers, that can reduce the firmware size. All of these settings are for your `config.h`. -You can limit the number of layers that the firmware uses -- if you're using less than 8 layers in total: +You can limit the number of layers that the firmware uses -- if you're using up to 8 layers in total: ```c #define LAYER_STATE_8BIT ``` From 030511ece33bfe08307ce519219fde9ab3077cff Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 31 Jul 2023 09:34:19 +1000 Subject: [PATCH 02/65] CLI: Improve error messages when layout key matrix row/col is OOB (#21640) --- lib/python/qmk/cli/generate/keyboard_h.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/python/qmk/cli/generate/keyboard_h.py b/lib/python/qmk/cli/generate/keyboard_h.py index fa4036e39a68..b9e89032b9e2 100755 --- a/lib/python/qmk/cli/generate/keyboard_h.py +++ b/lib/python/qmk/cli/generate/keyboard_h.py @@ -37,14 +37,19 @@ def _generate_layouts(keyboard, kb_info_json): row, col = key_data['matrix'] identifier = f'k{ROW_LETTERS[row]}{COL_LETTERS[col]}' - try: - layout_matrix[row][col] = identifier - layout_keys.append(identifier) - except IndexError: + if row >= row_num or col >= col_num: key_name = key_data.get('label', identifier) - cli.log.error(f'{keyboard}/{layout_name}: Matrix data out of bounds at index {index} ({key_name}): [{row}, {col}]') + if row >= row_num: + cli.log.error(f'{keyboard}/{layout_name}: Matrix row for key {index} ({key_name}) is {row} but must be less than {row_num}') + + if col >= col_num: + cli.log.error(f'{keyboard}/{layout_name}: Matrix column for key {index} ({key_name}) is {col} but must be less than {col_num}') + return [] + layout_matrix[row][col] = identifier + layout_keys.append(identifier) + lines.append('') lines.append(f'#define {layout_name}({", ".join(layout_keys)}) {{ \\') From cc3bd728f00d95c2360bca9326de2ba30078c274 Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 31 Jul 2023 09:34:40 +1000 Subject: [PATCH 03/65] Fix layout offsets for a handful of boards (#21636) --- keyboards/custommk/evo70/info.json | 148 ++++++------ keyboards/dailycraft/owl8/info.json | 24 +- .../5x6_right/teensy2pp/config.h | 2 - keyboards/kabedon/kabedon98e/info.json | 228 +++++++++--------- keyboards/keebio/bamfk1/info.json | 6 +- keyboards/nightly_boards/octopad/info.json | 20 +- keyboards/nullbitsco/tidbit/info.json | 38 +-- keyboards/rmi_kb/squishytkl/info.json | 216 ++++++++--------- keyboards/synthlabs/solo/info.json | 46 ++-- keyboards/yandrstudio/nz67v2/info.json | 138 +++++------ 10 files changed, 432 insertions(+), 434 deletions(-) diff --git a/keyboards/custommk/evo70/info.json b/keyboards/custommk/evo70/info.json index ec6547346245..95464e691a60 100644 --- a/keyboards/custommk/evo70/info.json +++ b/keyboards/custommk/evo70/info.json @@ -68,90 +68,90 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 0], "x": 2.5, "y": 1.1}, - {"matrix": [5, 0], "x": 3.5, "y": 1.1}, - {"matrix": [0, 1], "x": 4.5, "y": 1.1}, - {"matrix": [0, 2], "x": 5.5, "y": 1.1}, - {"matrix": [0, 3], "x": 6.5, "y": 1.1}, - {"matrix": [0, 4], "x": 7.5, "y": 1.1}, - {"matrix": [0, 5], "x": 8.5, "y": 1.1}, - {"matrix": [0, 6], "x": 9.5, "y": 1.1}, - {"matrix": [0, 7], "x": 10.5, "y": 1.1}, - {"matrix": [0, 8], "x": 11.5, "y": 1.1}, - {"matrix": [0, 9], "x": 12.5, "y": 1.1}, - {"matrix": [0, 10], "x": 13.5, "y": 1.1}, - {"matrix": [0, 11], "x": 14.5, "y": 1.1}, - {"matrix": [0, 12], "x": 15.5, "y": 1.1, "w": 2}, - {"matrix": [0, 13], "x": 17.5, "y": 1.1}, + {"matrix": [0, 0], "x": 2.5, "y": 0}, + {"matrix": [5, 0], "x": 3.5, "y": 0}, + {"matrix": [0, 1], "x": 4.5, "y": 0}, + {"matrix": [0, 2], "x": 5.5, "y": 0}, + {"matrix": [0, 3], "x": 6.5, "y": 0}, + {"matrix": [0, 4], "x": 7.5, "y": 0}, + {"matrix": [0, 5], "x": 8.5, "y": 0}, + {"matrix": [0, 6], "x": 9.5, "y": 0}, + {"matrix": [0, 7], "x": 10.5, "y": 0}, + {"matrix": [0, 8], "x": 11.5, "y": 0}, + {"matrix": [0, 9], "x": 12.5, "y": 0}, + {"matrix": [0, 10], "x": 13.5, "y": 0}, + {"matrix": [0, 11], "x": 14.5, "y": 0}, + {"matrix": [0, 12], "x": 15.5, "y": 0, "w": 2}, + {"matrix": [0, 13], "x": 17.5, "y": 0}, - {"matrix": [5, 1], "x": 2.5, "y": 2.1, "w": 1.5}, - {"matrix": [1, 0], "x": 4, "y": 2.1}, - {"matrix": [1, 1], "x": 5, "y": 2.1}, - {"matrix": [1, 2], "x": 6, "y": 2.1}, - {"matrix": [1, 3], "x": 7, "y": 2.1}, - {"matrix": [1, 4], "x": 8, "y": 2.1}, - {"matrix": [1, 5], "x": 9, "y": 2.1}, - {"matrix": [1, 6], "x": 10, "y": 2.1}, - {"matrix": [1, 7], "x": 11, "y": 2.1}, - {"matrix": [1, 8], "x": 12, "y": 2.1}, - {"matrix": [1, 9], "x": 13, "y": 2.1}, - {"matrix": [1, 10], "x": 14, "y": 2.1}, - {"matrix": [1, 11], "x": 15, "y": 2.1}, - {"matrix": [1, 12], "x": 16, "y": 2.1, "w": 1.5}, - {"matrix": [1, 13], "x": 17.5, "y": 2.1}, + {"matrix": [5, 1], "x": 2.5, "y": 1, "w": 1.5}, + {"matrix": [1, 0], "x": 4, "y": 1}, + {"matrix": [1, 1], "x": 5, "y": 1}, + {"matrix": [1, 2], "x": 6, "y": 1}, + {"matrix": [1, 3], "x": 7, "y": 1}, + {"matrix": [1, 4], "x": 8, "y": 1}, + {"matrix": [1, 5], "x": 9, "y": 1}, + {"matrix": [1, 6], "x": 10, "y": 1}, + {"matrix": [1, 7], "x": 11, "y": 1}, + {"matrix": [1, 8], "x": 12, "y": 1}, + {"matrix": [1, 9], "x": 13, "y": 1}, + {"matrix": [1, 10], "x": 14, "y": 1}, + {"matrix": [1, 11], "x": 15, "y": 1}, + {"matrix": [1, 12], "x": 16, "y": 1, "w": 1.5}, + {"matrix": [1, 13], "x": 17.5, "y": 1}, - {"matrix": [5, 5], "x": 0, "y": 3.1}, - {"matrix": [2, 0], "x": 1, "y": 3.1}, + {"matrix": [5, 5], "x": 0, "y": 2}, + {"matrix": [2, 0], "x": 1, "y": 2}, - {"matrix": [5, 2], "x": 2.5, "y": 3.1, "w": 1.75}, - {"matrix": [2, 1], "x": 4.25, "y": 3.1}, - {"matrix": [2, 2], "x": 5.25, "y": 3.1}, - {"matrix": [2, 3], "x": 6.25, "y": 3.1}, - {"matrix": [2, 4], "x": 7.25, "y": 3.1}, - {"matrix": [2, 5], "x": 8.25, "y": 3.1}, - {"matrix": [2, 6], "x": 9.25, "y": 3.1}, - {"matrix": [2, 7], "x": 10.25, "y": 3.1}, - {"matrix": [2, 8], "x": 11.25, "y": 3.1}, - {"matrix": [2, 9], "x": 12.25, "y": 3.1}, - {"matrix": [2, 10], "x": 13.25, "y": 3.1}, - {"matrix": [2, 11], "x": 14.25, "y": 3.1}, - {"matrix": [2, 12], "x": 15.25, "y": 3.1, "w": 2.25}, - {"matrix": [2, 13], "x": 17.5, "y": 3.1}, + {"matrix": [5, 2], "x": 2.5, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 4.25, "y": 2}, + {"matrix": [2, 2], "x": 5.25, "y": 2}, + {"matrix": [2, 3], "x": 6.25, "y": 2}, + {"matrix": [2, 4], "x": 7.25, "y": 2}, + {"matrix": [2, 5], "x": 8.25, "y": 2}, + {"matrix": [2, 6], "x": 9.25, "y": 2}, + {"matrix": [2, 7], "x": 10.25, "y": 2}, + {"matrix": [2, 8], "x": 11.25, "y": 2}, + {"matrix": [2, 9], "x": 12.25, "y": 2}, + {"matrix": [2, 10], "x": 13.25, "y": 2}, + {"matrix": [2, 11], "x": 14.25, "y": 2}, + {"matrix": [2, 12], "x": 15.25, "y": 2, "w": 2.25}, + {"matrix": [2, 13], "x": 17.5, "y": 2}, - {"matrix": [4, 6], "x": 0, "y": 4.1}, - {"matrix": [4, 4], "x": 1, "y": 4.1}, + {"matrix": [4, 6], "x": 0, "y": 3}, + {"matrix": [4, 4], "x": 1, "y": 3}, - {"matrix": [3, 0], "x": 2.5, "y": 4.1, "w": 2.25}, - {"matrix": [3, 1], "x": 4.75, "y": 4.1}, - {"matrix": [3, 2], "x": 5.75, "y": 4.1}, - {"matrix": [3, 3], "x": 6.75, "y": 4.1}, - {"matrix": [3, 4], "x": 7.75, "y": 4.1}, - {"matrix": [3, 5], "x": 8.75, "y": 4.1}, - {"matrix": [3, 6], "x": 9.75, "y": 4.1}, - {"matrix": [3, 7], "x": 10.75, "y": 4.1}, - {"matrix": [3, 8], "x": 11.75, "y": 4.1}, - {"matrix": [3, 9], "x": 12.75, "y": 4.1}, - {"matrix": [3, 10], "x": 13.75, "y": 4.1}, - {"matrix": [3, 11], "x": 14.75, "y": 4.1, "w": 1.75}, - {"matrix": [3, 12], "x": 16.5, "y": 4.1}, - {"matrix": [3, 13], "x": 17.5, "y": 4.1}, + {"matrix": [3, 0], "x": 2.5, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 4.75, "y": 3}, + {"matrix": [3, 2], "x": 5.75, "y": 3}, + {"matrix": [3, 3], "x": 6.75, "y": 3}, + {"matrix": [3, 4], "x": 7.75, "y": 3}, + {"matrix": [3, 5], "x": 8.75, "y": 3}, + {"matrix": [3, 6], "x": 9.75, "y": 3}, + {"matrix": [3, 7], "x": 10.75, "y": 3}, + {"matrix": [3, 8], "x": 11.75, "y": 3}, + {"matrix": [3, 9], "x": 12.75, "y": 3}, + {"matrix": [3, 10], "x": 13.75, "y": 3}, + {"matrix": [3, 11], "x": 14.75, "y": 3, "w": 1.75}, + {"matrix": [3, 12], "x": 16.5, "y": 3}, + {"matrix": [3, 13], "x": 17.5, "y": 3}, - {"matrix": [4, 1], "x": 0, "y": 5.1}, - {"matrix": [4, 3], "x": 1, "y": 5.1}, + {"matrix": [4, 1], "x": 0, "y": 4}, + {"matrix": [4, 3], "x": 1, "y": 4}, - {"matrix": [5, 4], "x": 2.5, "y": 5.1, "w": 1.25}, - {"matrix": [4, 0], "x": 3.75, "y": 5.1, "w": 1.25}, - {"matrix": [4, 2], "x": 5, "y": 5.1, "w": 1.25}, - {"matrix": [4, 5], "x": 6.25, "y": 5.1, "w": 6.25}, + {"matrix": [5, 4], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 0], "x": 3.75, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 5, "y": 4, "w": 1.25}, + {"matrix": [4, 5], "x": 6.25, "y": 4, "w": 6.25}, - {"matrix": [5, 6], "x": 0.5, "y": 1.1}, + {"matrix": [5, 6], "x": 0.5, "y": 0}, - {"matrix": [4, 8], "x": 12.5, "y": 5.1, "w": 1.25}, - {"matrix": [4, 9], "x": 13.75, "y": 5.1, "w": 1.25}, + {"matrix": [4, 8], "x": 12.5, "y": 4, "w": 1.25}, + {"matrix": [4, 9], "x": 13.75, "y": 4, "w": 1.25}, - {"matrix": [4, 11], "x": 15.5, "y": 5.1}, - {"matrix": [4, 12], "x": 16.5, "y": 5.1}, - {"matrix": [4, 13], "x": 17.5, "y": 5.1} + {"matrix": [4, 11], "x": 15.5, "y": 4}, + {"matrix": [4, 12], "x": 16.5, "y": 4}, + {"matrix": [4, 13], "x": 17.5, "y": 4} ] } } diff --git a/keyboards/dailycraft/owl8/info.json b/keyboards/dailycraft/owl8/info.json index 194bd5bdb6e0..9dc42c8fd786 100644 --- a/keyboards/dailycraft/owl8/info.json +++ b/keyboards/dailycraft/owl8/info.json @@ -24,20 +24,20 @@ "layouts": { "LAYOUT": { "layout": [ - {"x":0, "y":1.25, "matrix": [0, 8]}, - {"x":1, "y":1.25, "matrix": [0, 9]}, - {"x":2, "y":1.25, "matrix": [0, 10]}, - {"x":3, "y":1.25, "matrix": [0, 11]}, + {"x":0, "y":0, "matrix": [0, 8]}, + {"x":1, "y":0, "matrix": [0, 9]}, + {"x":2, "y":0, "matrix": [0, 10]}, + {"x":3, "y":0, "matrix": [0, 11]}, - {"x": 0, "y": 2.5, "matrix": [0, 0]}, - {"x": 1, "y": 2.5, "matrix": [0, 1]}, - {"x": 2, "y": 2.5, "matrix": [0, 2]}, - {"x": 3, "y": 2.5, "matrix": [0, 3]}, + {"x": 0, "y": 1.25, "matrix": [0, 0]}, + {"x": 1, "y": 1.25, "matrix": [0, 1]}, + {"x": 2, "y": 1.25, "matrix": [0, 2]}, + {"x": 3, "y": 1.25, "matrix": [0, 3]}, - {"x": 0, "y": 3.5, "matrix": [0, 4]}, - {"x": 1, "y": 3.5, "matrix": [0, 5]}, - {"x": 2, "y": 3.5, "matrix": [0, 6]}, - {"x": 3, "y": 3.5, "matrix": [0, 7]} + {"x": 0, "y": 2.25, "matrix": [0, 4]}, + {"x": 1, "y": 2.25, "matrix": [0, 5]}, + {"x": 2, "y": 2.25, "matrix": [0, 6]}, + {"x": 3, "y": 2.25, "matrix": [0, 7]} ] } } diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h index 769a348e652c..331a5ec73113 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/teensy2pp/config.h @@ -18,8 +18,6 @@ along with this program. If not, see . #pragma once -#define RGBLIGHT_LIMIT_VAL 80 - #define DEBUG_LED_PIN D6 #define AUDIO_PIN C6 diff --git a/keyboards/kabedon/kabedon98e/info.json b/keyboards/kabedon/kabedon98e/info.json index 40888d829270..3c33d30a6a3a 100644 --- a/keyboards/kabedon/kabedon98e/info.json +++ b/keyboards/kabedon/kabedon98e/info.json @@ -35,120 +35,120 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [1, 0], "x": 0, "y": 0.5}, - - {"matrix": [0, 1], "x": 1.667, "y": 0.5}, - {"matrix": [1, 1], "x": 2.667, "y": 0.5}, - {"matrix": [0, 2], "x": 3.667, "y": 0.5}, - {"matrix": [1, 2], "x": 4.667, "y": 0.5}, - - {"matrix": [0, 3], "x": 6.333, "y": 0.5}, - {"matrix": [1, 3], "x": 7.333, "y": 0.5}, - {"matrix": [0, 4], "x": 8.333, "y": 0.5}, - {"matrix": [1, 4], "x": 9.333, "y": 0.5}, - - {"matrix": [0, 5], "x": 11, "y": 0.5}, - {"matrix": [1, 5], "x": 12, "y": 0.5}, - {"matrix": [1, 6], "x": 13, "y": 0.5}, - {"matrix": [1, 7], "x": 14, "y": 0.5}, - - {"matrix": [5, 7], "x": 15.5, "y": 0.5}, - {"matrix": [4, 8], "x": 17, "y": 0.5}, - - {"matrix": [4, 0], "x": 18.5, "y": 0.5}, - - {"matrix": [3, 0], "x": 0, "y": 1.75}, - {"matrix": [2, 1], "x": 1, "y": 1.75}, - {"matrix": [3, 1], "x": 2, "y": 1.75}, - {"matrix": [2, 2], "x": 3, "y": 1.75}, - {"matrix": [3, 2], "x": 4, "y": 1.75}, - {"matrix": [2, 3], "x": 5, "y": 1.75}, - {"matrix": [3, 3], "x": 6, "y": 1.75}, - {"matrix": [2, 4], "x": 7, "y": 1.75}, - {"matrix": [3, 4], "x": 8, "y": 1.75}, - {"matrix": [2, 5], "x": 9, "y": 1.75}, - {"matrix": [3, 5], "x": 10, "y": 1.75}, - {"matrix": [2, 6], "x": 11, "y": 1.75}, - {"matrix": [3, 6], "x": 12, "y": 1.75}, - {"matrix": [3, 7], "x": 13, "y": 1.75, "w": 2}, - - {"matrix": [3, 9], "x": 15.5, "y": 1.75}, - {"matrix": [4, 9], "x": 16.5, "y": 1.75}, - {"matrix": [4, 10], "x": 17.5, "y": 1.75}, - {"matrix": [5, 10], "x": 18.5, "y": 1.75}, - - {"matrix": [5, 0], "x": 0, "y": 2.75, "w": 1.5}, - {"matrix": [4, 1], "x": 1.5, "y": 2.75}, - {"matrix": [5, 1], "x": 2.5, "y": 2.75}, - {"matrix": [4, 2], "x": 3.5, "y": 2.75}, - {"matrix": [5, 2], "x": 4.5, "y": 2.75}, - {"matrix": [4, 3], "x": 5.5, "y": 2.75}, - {"matrix": [5, 3], "x": 6.5, "y": 2.75}, - {"matrix": [4, 4], "x": 7.5, "y": 2.75}, - {"matrix": [5, 4], "x": 8.5, "y": 2.75}, - {"matrix": [4, 5], "x": 9.5, "y": 2.75}, - {"matrix": [5, 5], "x": 10.5, "y": 2.75}, - {"matrix": [4, 6], "x": 11.5, "y": 2.75}, - {"matrix": [5, 6], "x": 12.5, "y": 2.75}, - {"matrix": [4, 7], "x": 13.5, "y": 2.75, "w": 1.5}, - - {"matrix": [5, 9], "x": 15.5, "y": 2.75}, - {"matrix": [6, 9], "x": 16.5, "y": 2.75}, - {"matrix": [6, 10], "x": 17.5, "y": 2.75}, - - {"matrix": [7, 0], "x": 0, "y": 3.75, "w": 1.75}, - {"matrix": [6, 1], "x": 1.75, "y": 3.75}, - {"matrix": [7, 1], "x": 2.75, "y": 3.75}, - {"matrix": [6, 2], "x": 3.75, "y": 3.75}, - {"matrix": [7, 2], "x": 4.75, "y": 3.75}, - {"matrix": [6, 3], "x": 5.75, "y": 3.75}, - {"matrix": [7, 3], "x": 6.75, "y": 3.75}, - {"matrix": [6, 4], "x": 7.75, "y": 3.75}, - {"matrix": [7, 4], "x": 8.75, "y": 3.75}, - {"matrix": [6, 5], "x": 9.75, "y": 3.75}, - {"matrix": [7, 5], "x": 10.75, "y": 3.75}, - {"matrix": [6, 6], "x": 11.75, "y": 3.75}, - {"matrix": [7, 7], "x": 12.75, "y": 3.75, "w": 2.25}, - - {"matrix": [7, 9], "x": 15.5, "y": 3.75}, - {"matrix": [8, 9], "x": 16.5, "y": 3.75}, - {"matrix": [8, 10], "x": 17.5, "y": 3.75}, - {"matrix": [7, 10], "x": 18.5, "y": 2.75, "h": 2}, - - {"matrix": [9, 0], "x": 0, "y": 4.75, "w": 2.25}, - {"matrix": [9, 1], "x": 2.25, "y": 4.75}, - {"matrix": [8, 2], "x": 3.25, "y": 4.75}, - {"matrix": [9, 2], "x": 4.25, "y": 4.75}, - {"matrix": [8, 3], "x": 5.25, "y": 4.75}, - {"matrix": [9, 3], "x": 6.25, "y": 4.75}, - {"matrix": [8, 4], "x": 7.25, "y": 4.75}, - {"matrix": [9, 4], "x": 8.25, "y": 4.75}, - {"matrix": [8, 5], "x": 9.25, "y": 4.75}, - {"matrix": [9, 5], "x": 10.25, "y": 4.75}, - {"matrix": [8, 6], "x": 11.25, "y": 4.75}, - {"matrix": [9, 7], "x": 12.25, "y": 4.75, "w": 1.75}, - - {"matrix": [8, 8], "x": 14.25, "y": 5}, - - {"matrix": [9, 9], "x": 15.5, "y": 4.75}, - {"matrix": [10, 9], "x": 16.5, "y": 4.75}, - {"matrix": [9, 10], "x": 17.5, "y": 4.75}, - - {"matrix": [11, 0], "x": 0, "y": 5.75, "w": 1.25}, - {"matrix": [10, 1], "x": 1.25, "y": 5.75}, - {"matrix": [11, 1], "x": 2.25, "y": 5.75}, - {"matrix": [11, 3], "x": 3.25, "y": 5.75}, - {"matrix": [11, 2], "x": 4.25, "y": 5.75, "w": 6.25}, - {"matrix": [11, 5], "x": 10.5, "y": 5.75, "w": 1.25}, - {"matrix": [10, 7], "x": 11.75, "y": 5.75, "w": 1.25}, - - {"matrix": [11, 7], "x": 13.25, "y": 6}, - {"matrix": [10, 8], "x": 14.25, "y": 6}, - {"matrix": [11, 8], "x": 15.25, "y": 6}, - - {"matrix": [11, 9], "x": 16.5, "y": 5.75}, - {"matrix": [10, 10], "x": 17.5, "y": 5.75}, - {"matrix": [11, 10], "x": 18.5, "y": 4.75, "h": 2} + {"matrix": [1, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.667, "y": 0}, + {"matrix": [1, 1], "x": 2.667, "y": 0}, + {"matrix": [0, 2], "x": 3.667, "y": 0}, + {"matrix": [1, 2], "x": 4.667, "y": 0}, + + {"matrix": [0, 3], "x": 6.333, "y": 0}, + {"matrix": [1, 3], "x": 7.333, "y": 0}, + {"matrix": [0, 4], "x": 8.333, "y": 0}, + {"matrix": [1, 4], "x": 9.333, "y": 0}, + + {"matrix": [0, 5], "x": 11, "y": 0}, + {"matrix": [1, 5], "x": 12, "y": 0}, + {"matrix": [1, 6], "x": 13, "y": 0}, + {"matrix": [1, 7], "x": 14, "y": 0}, + + {"matrix": [5, 7], "x": 15.5, "y": 0}, + {"matrix": [4, 8], "x": 17, "y": 0}, + + {"matrix": [4, 0], "x": 18.5, "y": 0}, + + {"matrix": [3, 0], "x": 0, "y": 1.25}, + {"matrix": [2, 1], "x": 1, "y": 1.25}, + {"matrix": [3, 1], "x": 2, "y": 1.25}, + {"matrix": [2, 2], "x": 3, "y": 1.25}, + {"matrix": [3, 2], "x": 4, "y": 1.25}, + {"matrix": [2, 3], "x": 5, "y": 1.25}, + {"matrix": [3, 3], "x": 6, "y": 1.25}, + {"matrix": [2, 4], "x": 7, "y": 1.25}, + {"matrix": [3, 4], "x": 8, "y": 1.25}, + {"matrix": [2, 5], "x": 9, "y": 1.25}, + {"matrix": [3, 5], "x": 10, "y": 1.25}, + {"matrix": [2, 6], "x": 11, "y": 1.25}, + {"matrix": [3, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 7], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [3, 9], "x": 15.5, "y": 1.25}, + {"matrix": [4, 9], "x": 16.5, "y": 1.25}, + {"matrix": [4, 10], "x": 17.5, "y": 1.25}, + {"matrix": [5, 10], "x": 18.5, "y": 1.25}, + + {"matrix": [5, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [4, 1], "x": 1.5, "y": 2.25}, + {"matrix": [5, 1], "x": 2.5, "y": 2.25}, + {"matrix": [4, 2], "x": 3.5, "y": 2.25}, + {"matrix": [5, 2], "x": 4.5, "y": 2.25}, + {"matrix": [4, 3], "x": 5.5, "y": 2.25}, + {"matrix": [5, 3], "x": 6.5, "y": 2.25}, + {"matrix": [4, 4], "x": 7.5, "y": 2.25}, + {"matrix": [5, 4], "x": 8.5, "y": 2.25}, + {"matrix": [4, 5], "x": 9.5, "y": 2.25}, + {"matrix": [5, 5], "x": 10.5, "y": 2.25}, + {"matrix": [4, 6], "x": 11.5, "y": 2.25}, + {"matrix": [5, 6], "x": 12.5, "y": 2.25}, + {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [5, 9], "x": 15.5, "y": 2.25}, + {"matrix": [6, 9], "x": 16.5, "y": 2.25}, + {"matrix": [6, 10], "x": 17.5, "y": 2.25}, + + {"matrix": [7, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [6, 1], "x": 1.75, "y": 3.25}, + {"matrix": [7, 1], "x": 2.75, "y": 3.25}, + {"matrix": [6, 2], "x": 3.75, "y": 3.25}, + {"matrix": [7, 2], "x": 4.75, "y": 3.25}, + {"matrix": [6, 3], "x": 5.75, "y": 3.25}, + {"matrix": [7, 3], "x": 6.75, "y": 3.25}, + {"matrix": [6, 4], "x": 7.75, "y": 3.25}, + {"matrix": [7, 4], "x": 8.75, "y": 3.25}, + {"matrix": [6, 5], "x": 9.75, "y": 3.25}, + {"matrix": [7, 5], "x": 10.75, "y": 3.25}, + {"matrix": [6, 6], "x": 11.75, "y": 3.25}, + {"matrix": [7, 7], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [7, 9], "x": 15.5, "y": 3.25}, + {"matrix": [8, 9], "x": 16.5, "y": 3.25}, + {"matrix": [8, 10], "x": 17.5, "y": 3.25}, + {"matrix": [7, 10], "x": 18.5, "y": 2.25, "h": 2}, + + {"matrix": [9, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [9, 1], "x": 2.25, "y": 4.25}, + {"matrix": [8, 2], "x": 3.25, "y": 4.25}, + {"matrix": [9, 2], "x": 4.25, "y": 4.25}, + {"matrix": [8, 3], "x": 5.25, "y": 4.25}, + {"matrix": [9, 3], "x": 6.25, "y": 4.25}, + {"matrix": [8, 4], "x": 7.25, "y": 4.25}, + {"matrix": [9, 4], "x": 8.25, "y": 4.25}, + {"matrix": [8, 5], "x": 9.25, "y": 4.25}, + {"matrix": [9, 5], "x": 10.25, "y": 4.25}, + {"matrix": [8, 6], "x": 11.25, "y": 4.25}, + {"matrix": [9, 7], "x": 12.25, "y": 4.25, "w": 1.75}, + + {"matrix": [8, 8], "x": 14.25, "y": 4.5}, + + {"matrix": [9, 9], "x": 15.5, "y": 4.25}, + {"matrix": [10, 9], "x": 16.5, "y": 4.25}, + {"matrix": [9, 10], "x": 17.5, "y": 4.25}, + + {"matrix": [11, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 1.25, "y": 5.25}, + {"matrix": [11, 1], "x": 2.25, "y": 5.25}, + {"matrix": [11, 3], "x": 3.25, "y": 5.25}, + {"matrix": [11, 2], "x": 4.25, "y": 5.25, "w": 6.25}, + {"matrix": [11, 5], "x": 10.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 7], "x": 11.75, "y": 5.25, "w": 1.25}, + + {"matrix": [11, 7], "x": 13.25, "y": 5.5}, + {"matrix": [10, 8], "x": 14.25, "y": 5.5}, + {"matrix": [11, 8], "x": 15.25, "y": 5.5}, + + {"matrix": [11, 9], "x": 16.5, "y": 5.25}, + {"matrix": [10, 10], "x": 17.5, "y": 5.25}, + {"matrix": [11, 10], "x": 18.5, "y": 4.25, "h": 2} ] } } diff --git a/keyboards/keebio/bamfk1/info.json b/keyboards/keebio/bamfk1/info.json index 042f8555af17..c8055bfc525c 100644 --- a/keyboards/keebio/bamfk1/info.json +++ b/keyboards/keebio/bamfk1/info.json @@ -33,9 +33,9 @@ "layouts": { "LAYOUT": { "layout": [ - {"x": 1.5, "y": 0, "h": 2, "w": 2, "matrix": [0, 0]}, - {"x": 0.5, "y": 2.25, "matrix": [0, 1]}, - {"x": 3.5, "y": 2.25, "matrix": [0, 2]} + {"x": 1, "y": 0, "h": 2, "w": 2, "matrix": [0, 0]}, + {"x": 0, "y": 2.25, "matrix": [0, 1]}, + {"x": 3, "y": 2.25, "matrix": [0, 2]} ] } } diff --git a/keyboards/nightly_boards/octopad/info.json b/keyboards/nightly_boards/octopad/info.json index 0f1463e98657..db2b62c16501 100644 --- a/keyboards/nightly_boards/octopad/info.json +++ b/keyboards/nightly_boards/octopad/info.json @@ -30,19 +30,19 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 4], "x": 1, "y": 0}, + {"matrix": [0, 4], "x": 0, "y": 0}, - {"matrix": [1, 4], "x": 4.5, "y": 0}, + {"matrix": [1, 4], "x": 3.5, "y": 0}, - {"matrix": [0, 0], "x": 1.25, "y": 1.25}, - {"matrix": [0, 1], "x": 2.25, "y": 1.25}, - {"matrix": [0, 2], "x": 3.25, "y": 1.25}, - {"matrix": [0, 3], "x": 4.25, "y": 1.25}, + {"matrix": [0, 0], "x": 0.25, "y": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1.25}, + {"matrix": [0, 3], "x": 3.25, "y": 1.25}, - {"matrix": [1, 0], "x": 1.25, "y": 2.25}, - {"matrix": [1, 1], "x": 2.25, "y": 2.25}, - {"matrix": [1, 2], "x": 3.25, "y": 2.25}, - {"matrix": [1, 3], "x": 4.25, "y": 2.25} + {"matrix": [1, 0], "x": 0.25, "y": 2.25}, + {"matrix": [1, 1], "x": 1.25, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2.25}, + {"matrix": [1, 3], "x": 3.25, "y": 2.25} ] } } diff --git a/keyboards/nullbitsco/tidbit/info.json b/keyboards/nullbitsco/tidbit/info.json index 0fb13a25c2be..c31c52cd587a 100644 --- a/keyboards/nullbitsco/tidbit/info.json +++ b/keyboards/nullbitsco/tidbit/info.json @@ -31,29 +31,29 @@ "layouts": { "LAYOUT": { "layout": [ - {"matrix": [0, 3], "x": 3.25, "y": 0}, - {"matrix": [0, 4], "x": 4.25, "y": 0}, - {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 3], "x": 1, "y": 0}, + {"matrix": [0, 4], "x": 2, "y": 0}, + {"matrix": [0, 5], "x": 3, "y": 0}, - {"matrix": [1, 2], "x": 2.25, "y": 1}, - {"matrix": [1, 3], "x": 3.25, "y": 1}, - {"matrix": [1, 4], "x": 4.25, "y": 1}, - {"matrix": [1, 5], "x": 5.25, "y": 1}, + {"matrix": [1, 2], "x": 0, "y": 1}, + {"matrix": [1, 3], "x": 1, "y": 1}, + {"matrix": [1, 4], "x": 2, "y": 1}, + {"matrix": [1, 5], "x": 3, "y": 1}, - {"matrix": [2, 2], "x": 2.25, "y": 2}, - {"matrix": [2, 3], "x": 3.25, "y": 2}, - {"matrix": [2, 4], "x": 4.25, "y": 2}, - {"matrix": [2, 5], "x": 5.25, "y": 2}, + {"matrix": [2, 2], "x": 0, "y": 2}, + {"matrix": [2, 3], "x": 1, "y": 2}, + {"matrix": [2, 4], "x": 2, "y": 2}, + {"matrix": [2, 5], "x": 3, "y": 2}, - {"matrix": [3, 2], "x": 2.25, "y": 3}, - {"matrix": [3, 3], "x": 3.25, "y": 3}, - {"matrix": [3, 4], "x": 4.25, "y": 3}, - {"matrix": [3, 5], "x": 5.25, "y": 3}, + {"matrix": [3, 2], "x": 0, "y": 3}, + {"matrix": [3, 3], "x": 1, "y": 3}, + {"matrix": [3, 4], "x": 2, "y": 3}, + {"matrix": [3, 5], "x": 3, "y": 3}, - {"matrix": [4, 2], "x": 2.25, "y": 4}, - {"matrix": [4, 3], "x": 3.25, "y": 4}, - {"matrix": [4, 4], "x": 4.25, "y": 4}, - {"matrix": [4, 5], "x": 5.25, "y": 4} + {"matrix": [4, 2], "x": 0, "y": 4}, + {"matrix": [4, 3], "x": 1, "y": 4}, + {"matrix": [4, 4], "x": 2, "y": 4}, + {"matrix": [4, 5], "x": 3, "y": 4} ] } } diff --git a/keyboards/rmi_kb/squishytkl/info.json b/keyboards/rmi_kb/squishytkl/info.json index f2ebdf503a4f..724394485c9f 100644 --- a/keyboards/rmi_kb/squishytkl/info.json +++ b/keyboards/rmi_kb/squishytkl/info.json @@ -353,114 +353,114 @@ }, "LAYOUT_all": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.5}, - - {"matrix": [0, 1], "x": 1.25, "y": 0.5}, - {"matrix": [0, 2], "x": 2.25, "y": 0.5}, - {"matrix": [0, 3], "x": 3.25, "y": 0.5}, - {"matrix": [0, 4], "x": 4.25, "y": 0.5}, - - {"matrix": [1, 0], "x": 5.5, "y": 0.5}, - {"matrix": [1, 1], "x": 6.5, "y": 0.5}, - {"matrix": [1, 2], "x": 7.5, "y": 0.5}, - {"matrix": [1, 3], "x": 8.5, "y": 0.5}, - - {"matrix": [2, 0], "x": 9.75, "y": 0.5}, - {"matrix": [2, 1], "x": 10.75, "y": 0.5}, - {"matrix": [2, 2], "x": 11.75, "y": 0.5}, - {"matrix": [2, 3], "x": 12.75, "y": 0.5}, - - {"matrix": [2, 4], "x": 14, "y": 0.5}, - - {"matrix": [3, 20], "x": 15.25, "y": 0.5}, - {"matrix": [3, 21], "x": 16.25, "y": 0.5}, - {"matrix": [3, 22], "x": 17.25, "y": 0.5}, - - {"matrix": [8, 5], "x": 0, "y": 1.75}, - {"matrix": [8, 6], "x": 1, "y": 1.75}, - {"matrix": [8, 7], "x": 2, "y": 1.75}, - {"matrix": [8, 8], "x": 3, "y": 1.75}, - {"matrix": [8, 9], "x": 4, "y": 1.75}, - {"matrix": [8, 10], "x": 5, "y": 1.75}, - {"matrix": [8, 11], "x": 6, "y": 1.75}, - {"matrix": [8, 12], "x": 7, "y": 1.75}, - {"matrix": [8, 13], "x": 8, "y": 1.75}, - {"matrix": [8, 14], "x": 9, "y": 1.75}, - {"matrix": [8, 15], "x": 10, "y": 1.75}, - {"matrix": [8, 16], "x": 11, "y": 1.75}, - {"matrix": [8, 17], "x": 12, "y": 1.75}, - {"matrix": [8, 18], "x": 13, "y": 1.75}, - {"matrix": [8, 19], "x": 14, "y": 1.75}, - - {"matrix": [4, 20], "x": 15.25, "y": 1.75}, - {"matrix": [4, 21], "x": 16.25, "y": 1.75}, - {"matrix": [4, 22], "x": 17.25, "y": 1.75}, - - {"matrix": [9, 5], "x": 0, "y": 2.75, "w": 1.5}, - {"matrix": [9, 6], "x": 1.5, "y": 2.75}, - {"matrix": [9, 7], "x": 2.5, "y": 2.75}, - {"matrix": [9, 8], "x": 3.5, "y": 2.75}, - {"matrix": [9, 9], "x": 4.5, "y": 2.75}, - {"matrix": [9, 10], "x": 5.5, "y": 2.75}, - {"matrix": [9, 11], "x": 6.5, "y": 2.75}, - {"matrix": [9, 12], "x": 7.5, "y": 2.75}, - {"matrix": [9, 13], "x": 8.5, "y": 2.75}, - {"matrix": [9, 14], "x": 9.5, "y": 2.75}, - {"matrix": [9, 15], "x": 10.5, "y": 2.75}, - {"matrix": [9, 16], "x": 11.5, "y": 2.75}, - {"matrix": [9, 17], "x": 12.5, "y": 2.75}, - {"matrix": [9, 19], "x": 13.5, "y": 2.75, "w": 1.5}, - - {"matrix": [5, 20], "x": 15.25, "y": 2.75}, - {"matrix": [5, 21], "x": 16.25, "y": 2.75}, - {"matrix": [5, 22], "x": 17.25, "y": 2.75}, - - {"matrix": [10, 5], "x": 0, "y": 3.75, "w": 1.75}, - {"matrix": [10, 6], "x": 1.75, "y": 3.75}, - {"matrix": [10, 7], "x": 2.75, "y": 3.75}, - {"matrix": [10, 8], "x": 3.75, "y": 3.75}, - {"matrix": [10, 9], "x": 4.75, "y": 3.75}, - {"matrix": [10, 10], "x": 5.75, "y": 3.75}, - {"matrix": [10, 11], "x": 6.75, "y": 3.75}, - {"matrix": [10, 12], "x": 7.75, "y": 3.75}, - {"matrix": [10, 13], "x": 8.75, "y": 3.75}, - {"matrix": [10, 14], "x": 9.75, "y": 3.75}, - {"matrix": [10, 15], "x": 10.75, "y": 3.75}, - {"matrix": [10, 16], "x": 11.75, "y": 3.75}, - {"matrix": [10, 18], "x": 12.75, "y": 3.75, "w": 2.25}, - - {"matrix": [11, 5], "x": 0, "y": 4.75, "w": 1.25}, - {"matrix": [11, 6], "x": 1.25, "y": 4.75}, - {"matrix": [11, 7], "x": 2.25, "y": 4.75}, - {"matrix": [11, 8], "x": 3.25, "y": 4.75}, - {"matrix": [11, 9], "x": 4.25, "y": 4.75}, - {"matrix": [11, 10], "x": 5.25, "y": 4.75}, - {"matrix": [11, 11], "x": 6.25, "y": 4.75}, - {"matrix": [11, 12], "x": 7.25, "y": 4.75}, - {"matrix": [11, 13], "x": 8.25, "y": 4.75}, - {"matrix": [11, 14], "x": 9.25, "y": 4.75}, - {"matrix": [11, 15], "x": 10.25, "y": 4.75}, - {"matrix": [11, 16], "x": 11.25, "y": 4.75}, - {"matrix": [11, 18], "x": 12.25, "y": 4.75, "w": 1.75}, - {"matrix": [11, 19], "x": 14, "y": 4.75}, - - {"matrix": [6, 24], "x": 16.25, "y": 4.75}, - - {"matrix": [12, 5], "x": 0, "y": 5.75, "w": 1.25}, - {"matrix": [12, 6], "x": 1.25, "y": 5.75, "w": 1.25}, - {"matrix": [12, 7], "x": 2.5, "y": 5.75, "w": 1.25}, - {"matrix": [12, 8], "x": 3.75, "y": 5.75}, - {"matrix": [12, 9], "x": 4.75, "y": 5.75, "w": 1.5}, - {"matrix": [12, 13], "x": 6.25, "y": 5.75}, - {"matrix": [12, 14], "x": 7.25, "y": 5.75, "w": 2.75}, - {"matrix": [12, 15], "x": 10, "y": 5.75, "w": 1.25}, - {"matrix": [12, 16], "x": 11.25, "y": 5.75, "w": 1.25}, - {"matrix": [12, 18], "x": 12.5, "y": 5.75, "w": 1.25}, - {"matrix": [12, 19], "x": 13.75, "y": 5.75, "w": 1.25}, - - {"matrix": [7, 23], "x": 15.25, "y": 5.75}, - {"matrix": [7, 24], "x": 16.25, "y": 5.75}, - {"matrix": [7, 25], "x": 17.25, "y": 5.75} + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [0, 1], "x": 1.25, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + + {"matrix": [1, 0], "x": 5.5, "y": 0}, + {"matrix": [1, 1], "x": 6.5, "y": 0}, + {"matrix": [1, 2], "x": 7.5, "y": 0}, + {"matrix": [1, 3], "x": 8.5, "y": 0}, + + {"matrix": [2, 0], "x": 9.75, "y": 0}, + {"matrix": [2, 1], "x": 10.75, "y": 0}, + {"matrix": [2, 2], "x": 11.75, "y": 0}, + {"matrix": [2, 3], "x": 12.75, "y": 0}, + + {"matrix": [2, 4], "x": 14, "y": 0}, + + {"matrix": [3, 20], "x": 15.25, "y": 0}, + {"matrix": [3, 21], "x": 16.25, "y": 0}, + {"matrix": [3, 22], "x": 17.25, "y": 0}, + + {"matrix": [8, 5], "x": 0, "y": 1.25}, + {"matrix": [8, 6], "x": 1, "y": 1.25}, + {"matrix": [8, 7], "x": 2, "y": 1.25}, + {"matrix": [8, 8], "x": 3, "y": 1.25}, + {"matrix": [8, 9], "x": 4, "y": 1.25}, + {"matrix": [8, 10], "x": 5, "y": 1.25}, + {"matrix": [8, 11], "x": 6, "y": 1.25}, + {"matrix": [8, 12], "x": 7, "y": 1.25}, + {"matrix": [8, 13], "x": 8, "y": 1.25}, + {"matrix": [8, 14], "x": 9, "y": 1.25}, + {"matrix": [8, 15], "x": 10, "y": 1.25}, + {"matrix": [8, 16], "x": 11, "y": 1.25}, + {"matrix": [8, 17], "x": 12, "y": 1.25}, + {"matrix": [8, 18], "x": 13, "y": 1.25}, + {"matrix": [8, 19], "x": 14, "y": 1.25}, + + {"matrix": [4, 20], "x": 15.25, "y": 1.25}, + {"matrix": [4, 21], "x": 16.25, "y": 1.25}, + {"matrix": [4, 22], "x": 17.25, "y": 1.25}, + + {"matrix": [9, 5], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [9, 6], "x": 1.5, "y": 2.25}, + {"matrix": [9, 7], "x": 2.5, "y": 2.25}, + {"matrix": [9, 8], "x": 3.5, "y": 2.25}, + {"matrix": [9, 9], "x": 4.5, "y": 2.25}, + {"matrix": [9, 10], "x": 5.5, "y": 2.25}, + {"matrix": [9, 11], "x": 6.5, "y": 2.25}, + {"matrix": [9, 12], "x": 7.5, "y": 2.25}, + {"matrix": [9, 13], "x": 8.5, "y": 2.25}, + {"matrix": [9, 14], "x": 9.5, "y": 2.25}, + {"matrix": [9, 15], "x": 10.5, "y": 2.25}, + {"matrix": [9, 16], "x": 11.5, "y": 2.25}, + {"matrix": [9, 17], "x": 12.5, "y": 2.25}, + {"matrix": [9, 19], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [5, 20], "x": 15.25, "y": 2.25}, + {"matrix": [5, 21], "x": 16.25, "y": 2.25}, + {"matrix": [5, 22], "x": 17.25, "y": 2.25}, + + {"matrix": [10, 5], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [10, 6], "x": 1.75, "y": 3.25}, + {"matrix": [10, 7], "x": 2.75, "y": 3.25}, + {"matrix": [10, 8], "x": 3.75, "y": 3.25}, + {"matrix": [10, 9], "x": 4.75, "y": 3.25}, + {"matrix": [10, 10], "x": 5.75, "y": 3.25}, + {"matrix": [10, 11], "x": 6.75, "y": 3.25}, + {"matrix": [10, 12], "x": 7.75, "y": 3.25}, + {"matrix": [10, 13], "x": 8.75, "y": 3.25}, + {"matrix": [10, 14], "x": 9.75, "y": 3.25}, + {"matrix": [10, 15], "x": 10.75, "y": 3.25}, + {"matrix": [10, 16], "x": 11.75, "y": 3.25}, + {"matrix": [10, 18], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [11, 5], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [11, 6], "x": 1.25, "y": 4.25}, + {"matrix": [11, 7], "x": 2.25, "y": 4.25}, + {"matrix": [11, 8], "x": 3.25, "y": 4.25}, + {"matrix": [11, 9], "x": 4.25, "y": 4.25}, + {"matrix": [11, 10], "x": 5.25, "y": 4.25}, + {"matrix": [11, 11], "x": 6.25, "y": 4.25}, + {"matrix": [11, 12], "x": 7.25, "y": 4.25}, + {"matrix": [11, 13], "x": 8.25, "y": 4.25}, + {"matrix": [11, 14], "x": 9.25, "y": 4.25}, + {"matrix": [11, 15], "x": 10.25, "y": 4.25}, + {"matrix": [11, 16], "x": 11.25, "y": 4.25}, + {"matrix": [11, 18], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [11, 19], "x": 14, "y": 4.25}, + + {"matrix": [6, 24], "x": 16.25, "y": 4.25}, + + {"matrix": [12, 5], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [12, 6], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [12, 7], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [12, 8], "x": 3.75, "y": 5.25}, + {"matrix": [12, 9], "x": 4.75, "y": 5.25, "w": 1.5}, + {"matrix": [12, 13], "x": 6.25, "y": 5.25}, + {"matrix": [12, 14], "x": 7.25, "y": 5.25, "w": 2.75}, + {"matrix": [12, 15], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [12, 16], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [12, 18], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [12, 19], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [7, 23], "x": 15.25, "y": 5.25}, + {"matrix": [7, 24], "x": 16.25, "y": 5.25}, + {"matrix": [7, 25], "x": 17.25, "y": 5.25} ] } } diff --git a/keyboards/synthlabs/solo/info.json b/keyboards/synthlabs/solo/info.json index 2076fa3e7721..613ace72657e 100644 --- a/keyboards/synthlabs/solo/info.json +++ b/keyboards/synthlabs/solo/info.json @@ -29,33 +29,33 @@ "layouts": { "LAYOUT_all": { "layout": [ - {"label": "P2 1", "x": 3, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 0]}, - {"label": "P1 2", "x": 3.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 1]}, - {"label": "P2 3", "x": 4, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 2]}, - {"label": "P1 4", "x": 4.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 3]}, - {"label": "P2 5", "x": 5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 4]}, - {"label": "P1 6", "x": 5.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 5]}, - {"label": "P2 7", "x": 6, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 6]}, - {"label":"Knob Press", "x":0.5, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, - {"label": "P1 1", "x": 3, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 0]}, - {"label": "P2 2", "x": 3.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 1]}, - {"label": "P1 3", "x": 4, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 2]}, - {"label": "P2 4", "x": 4.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 3]}, - {"label": "P1 5", "x": 5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 4]}, - {"label": "P2 6", "x": 5.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 5]}, - {"label": "P1 7", "x": 6, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 6]} + {"label": "P2 1", "x": 2.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 0]}, + {"label": "P1 2", "x": 3, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 1]}, + {"label": "P2 3", "x": 3.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 2]}, + {"label": "P1 4", "x": 4, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 3]}, + {"label": "P2 5", "x": 4.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 4]}, + {"label": "P1 6", "x": 5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 5]}, + {"label": "P2 7", "x": 5.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 6]}, + {"label":"Knob Press", "x":0, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, + {"label": "P1 1", "x": 2.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 0]}, + {"label": "P2 2", "x": 3, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 1]}, + {"label": "P1 3", "x": 3.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 2]}, + {"label": "P2 4", "x": 4, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 3]}, + {"label": "P1 5", "x": 4.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 4]}, + {"label": "P2 6", "x": 5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 5]}, + {"label": "P1 7", "x": 5.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 6]} ] }, "LAYOUT_left": { "layout": [ - {"label": "P1 2", "x": 3.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 1]}, - {"label": "P1 4", "x": 4.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 3]}, - {"label": "P1 6", "x": 5.5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 5]}, - {"label":"Knob Press", "x":0.5, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, - {"label": "P1 1", "x": 3, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 0]}, - {"label": "P1 3", "x": 4, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 2]}, - {"label": "P1 5", "x": 5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 4]}, - {"label": "P1 7", "x": 6, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 6]} + {"label": "P1 2", "x": 3, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 1]}, + {"label": "P1 4", "x": 4, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 3]}, + {"label": "P1 6", "x": 5, "y": 0, "w": 0.5, "h": 1.5, "matrix": [0, 5]}, + {"label":"Knob Press", "x":0, "y":1, "w":1.5, "h":1.5, "matrix":[1,1]}, + {"label": "P1 1", "x": 2.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 0]}, + {"label": "P1 3", "x": 3.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 2]}, + {"label": "P1 5", "x": 4.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 4]}, + {"label": "P1 7", "x": 5.5, "y": 2, "w": 0.5, "h": 1.5, "matrix": [2, 6]} ] }, "LAYOUT_right": { diff --git a/keyboards/yandrstudio/nz67v2/info.json b/keyboards/yandrstudio/nz67v2/info.json index 89af204fc3dc..b351aed1ee69 100644 --- a/keyboards/yandrstudio/nz67v2/info.json +++ b/keyboards/yandrstudio/nz67v2/info.json @@ -29,79 +29,79 @@ "layouts": { "LAYOUT_all": { "layout": [ - {"matrix": [0, 0], "x": 0, "y": 0.5}, - {"matrix": [0, 1], "x": 1, "y": 0.5}, - {"matrix": [0, 2], "x": 2, "y": 0.5}, - {"matrix": [0, 3], "x": 3, "y": 0.5}, - {"matrix": [0, 4], "x": 4, "y": 0.5}, - {"matrix": [0, 5], "x": 5, "y": 0.5}, - {"matrix": [0, 6], "x": 6, "y": 0.5}, - {"matrix": [0, 7], "x": 7, "y": 0.5}, - {"matrix": [0, 8], "x": 8, "y": 0.5}, - {"matrix": [0, 9], "x": 9, "y": 0.5}, - {"matrix": [0, 10], "x": 10, "y": 0.5}, - {"matrix": [0, 11], "x": 11, "y": 0.5}, - {"matrix": [0, 12], "x": 12, "y": 0.5}, - {"matrix": [0, 13], "x": 13, "y": 0.5, "w": 2}, - {"matrix": [0, 14], "x": 15, "y": 0.5}, + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + {"matrix": [0, 14], "x": 15, "y": 0}, - {"matrix": [1, 0], "x": 0, "y": 1.5, "w": 1.5}, - {"matrix": [1, 1], "x": 1.5, "y": 1.5}, - {"matrix": [1, 2], "x": 2.5, "y": 1.5}, - {"matrix": [1, 3], "x": 3.5, "y": 1.5}, - {"matrix": [1, 4], "x": 4.5, "y": 1.5}, - {"matrix": [1, 5], "x": 5.5, "y": 1.5}, - {"matrix": [1, 6], "x": 6.5, "y": 1.5}, - {"matrix": [1, 7], "x": 7.5, "y": 1.5}, - {"matrix": [1, 8], "x": 8.5, "y": 1.5}, - {"matrix": [1, 9], "x": 9.5, "y": 1.5}, - {"matrix": [1, 10], "x": 10.5, "y": 1.5}, - {"matrix": [1, 11], "x": 11.5, "y": 1.5}, - {"matrix": [1, 12], "x": 12.5, "y": 1.5}, - {"matrix": [1, 13], "x": 13.5, "y": 1.5, "w": 1.5}, - {"matrix": [1, 14], "x": 15, "y": 1.5}, + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1, 14], "x": 15, "y": 1}, - {"matrix": [2, 0], "x": 0, "y": 2.5, "w": 1.75}, - {"matrix": [2, 1], "x": 1.75, "y": 2.5}, - {"matrix": [2, 2], "x": 2.75, "y": 2.5}, - {"matrix": [2, 3], "x": 3.75, "y": 2.5}, - {"matrix": [2, 4], "x": 4.75, "y": 2.5}, - {"matrix": [2, 5], "x": 5.75, "y": 2.5}, - {"matrix": [2, 6], "x": 6.75, "y": 2.5}, - {"matrix": [2, 7], "x": 7.75, "y": 2.5}, - {"matrix": [2, 8], "x": 8.75, "y": 2.5}, - {"matrix": [2, 9], "x": 9.75, "y": 2.5}, - {"matrix": [2, 10], "x": 10.75, "y": 2.5}, - {"matrix": [2, 11], "x": 11.75, "y": 2.5}, - {"matrix": [2, 13], "x": 12.75, "y": 2.5, "w": 2.25}, - {"matrix": [2, 14], "x": 15, "y": 2.5}, + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25}, + {"matrix": [2, 14], "x": 15, "y": 2}, - {"matrix": [3, 0], "x": 0, "y": 3.5, "w": 2.25}, - {"matrix": [3, 1], "x": 2.25, "y": 3.5}, - {"matrix": [3, 2], "x": 3.25, "y": 3.5}, - {"matrix": [3, 3], "x": 4.25, "y": 3.5}, - {"matrix": [3, 4], "x": 5.25, "y": 3.5}, - {"matrix": [3, 5], "x": 6.25, "y": 3.5}, - {"matrix": [3, 6], "x": 7.25, "y": 3.5}, - {"matrix": [3, 7], "x": 8.25, "y": 3.5}, - {"matrix": [3, 8], "x": 9.25, "y": 3.5}, - {"matrix": [3, 9], "x": 10.25, "y": 3.5}, - {"matrix": [3, 10], "x": 11.25, "y": 3.5}, - {"matrix": [3, 12], "x": 12.25, "y": 3.5, "w": 1.75}, - {"matrix": [3, 13], "x": 14, "y": 3.5}, - {"matrix": [3, 14], "x": 15, "y": 3.5}, + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 7.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, - {"matrix": [4, 0], "x": 0, "y": 4.5, "w": 1.25}, - {"matrix": [4, 1], "x": 1.25, "y": 4.5, "w": 1.25}, - {"matrix": [4, 2], "x": 2.5, "y": 4.5, "w": 1.25}, - {"matrix": [4, 3], "x": 3.75, "y": 4.5, "w": 2.25}, - {"matrix": [4, 5], "x": 6, "y": 4.5, "w": 1.75}, - {"matrix": [4, 7], "x": 7.75, "y": 4.5, "w": 2.25}, - {"matrix": [4, 9], "x": 10, "y": 4.5, "w": 1.25}, - {"matrix": [4, 10], "x": 11.25, "y": 4.5, "w": 1.25}, - {"matrix": [4, 12], "x": 13, "y": 4.5}, - {"matrix": [4, 13], "x": 14, "y": 4.5}, - {"matrix": [4, 14], "x": 15, "y": 4.5} + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 2.25}, + {"matrix": [4, 5], "x": 6, "y": 4, "w": 1.75}, + {"matrix": [4, 7], "x": 7.75, "y": 4, "w": 2.25}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 1.25}, + {"matrix": [4, 10], "x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 13, "y": 4}, + {"matrix": [4, 13], "x": 14, "y": 4}, + {"matrix": [4, 14], "x": 15, "y": 4} ] }, "LAYOUT_65_ansi_blocker": { From f407d9059878087bdc458479247d908c88f8d89d Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 31 Jul 2023 09:35:06 +1000 Subject: [PATCH 04/65] keycode aliases: work around ChibiOS ch.h include guard (#21497) --- lib/python/qmk/cli/generate/keycodes.py | 5 +++++ quantum/keymap_extras/keymap_swiss_de.h | 2 ++ quantum/keymap_extras/keymap_swiss_fr.h | 2 ++ 3 files changed, 9 insertions(+) diff --git a/lib/python/qmk/cli/generate/keycodes.py b/lib/python/qmk/cli/generate/keycodes.py index 3b69b17ed1cd..ed8b6827bdfe 100644 --- a/lib/python/qmk/cli/generate/keycodes.py +++ b/lib/python/qmk/cli/generate/keycodes.py @@ -96,6 +96,11 @@ def _generate_helpers(lines, keycodes): def _generate_aliases(lines, keycodes): + # Work around ChibiOS ch.h include guard + if 'CH_H' in [value['key'] for value in keycodes['aliases'].values()]: + lines.append('') + lines.append('#undef CH_H') + lines.append('') lines.append('// Aliases') for key, value in keycodes["aliases"].items(): diff --git a/quantum/keymap_extras/keymap_swiss_de.h b/quantum/keymap_extras/keymap_swiss_de.h index 69bba7293e67..c22191dd4e7a 100644 --- a/quantum/keymap_extras/keymap_swiss_de.h +++ b/quantum/keymap_extras/keymap_swiss_de.h @@ -27,6 +27,8 @@ #include "keycodes.h" // clang-format off +#undef CH_H + // Aliases #define CH_SECT KC_GRV // § #define CH_1 KC_1 // 1 diff --git a/quantum/keymap_extras/keymap_swiss_fr.h b/quantum/keymap_extras/keymap_swiss_fr.h index 1e2f833db16f..e0e8e52c9cef 100644 --- a/quantum/keymap_extras/keymap_swiss_fr.h +++ b/quantum/keymap_extras/keymap_swiss_fr.h @@ -27,6 +27,8 @@ #include "keycodes.h" // clang-format off +#undef CH_H + // Aliases #define CH_SECT KC_GRV // § #define CH_1 KC_1 // 1 From 6018b56c5595b97e45837d1ee9c96d9c3d795c43 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 1 Aug 2023 00:43:10 +1000 Subject: [PATCH 05/65] Remove old OLED API code (#21651) --- keyboards/10bleoledhub/config.h | 2 - keyboards/crkbd/keymaps/crkqwes/config.h | 2 - keyboards/crkbd/keymaps/hvp/keymap.c | 4 - keyboards/crkbd/keymaps/markstos/config.h | 3 - keyboards/helix/rev2/keymaps/default/keymap.c | 8 - .../helix/rev2/keymaps/default/oled_display.c | 147 ----------------- .../helix/rev2/keymaps/five_rows_jis/keymap.c | 120 +------------- keyboards/helix/rev2/keymaps/froggy/keymap.c | 126 --------------- .../helix/rev2/keymaps/froggy_106/keymap.c | 152 ------------------ keyboards/helix/rev2/keymaps/yshrsmz/keymap.c | 134 --------------- keyboards/latincompass/latinpad/config.h | 2 - keyboards/lily58/keymaps/chuan/config.h | 2 - keyboards/lily58/keymaps/chuan/keymap.c | 7 - keyboards/lily58/keymaps/datadavd/config.h | 2 - keyboards/lily58/keymaps/domnantas/config.h | 2 - keyboards/lily58/keymaps/hvp/config.h | 2 - keyboards/lily58/keymaps/hvp/keymap.c | 57 ------- keyboards/lily58/keymaps/jhelvy/config.h | 2 - keyboards/lily58/keymaps/jhelvy/keymap.c | 69 -------- .../lily58/keymaps/mikefightsbears/keymap.c | 3 - keyboards/lily58/keymaps/yshrsmz/keymap.c | 3 - keyboards/lily58/keymaps/yuchi/keymap.c | 3 - keyboards/rgbkb/sol/keymaps/xyverz/config.h | 26 --- .../rgbkb/zygomorph/keymaps/5x6pad/keymap.c | 112 ------------- keyboards/spacetime/rev2/rev2.c | 24 --- .../community/split_3x6_3/drashna/config.h | 1 - quantum/split_common/split_util.c | 3 - quantum/split_common/split_util.h | 1 - 28 files changed, 2 insertions(+), 1017 deletions(-) delete mode 100644 keyboards/rgbkb/sol/keymaps/xyverz/config.h delete mode 100644 keyboards/spacetime/rev2/rev2.c diff --git a/keyboards/10bleoledhub/config.h b/keyboards/10bleoledhub/config.h index d5ec73643618..87716c62737b 100644 --- a/keyboards/10bleoledhub/config.h +++ b/keyboards/10bleoledhub/config.h @@ -16,8 +16,6 @@ along with this program. If not, see .*/ #pragma once -#define SSD1306OLED - #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD #define RGBLIGHT_EFFECT_RAINBOW_SWIRL diff --git a/keyboards/crkbd/keymaps/crkqwes/config.h b/keyboards/crkbd/keymaps/crkqwes/config.h index 5be6a0449b45..b2209c7e6dfc 100644 --- a/keyboards/crkbd/keymaps/crkqwes/config.h +++ b/keyboards/crkbd/keymaps/crkqwes/config.h @@ -28,9 +28,7 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #define SSD1306OLED #undef USE_I2C -#undef SSD1306OLED #define QUICK_TAP_TERM 0 #define TAPPING_TERM 200 diff --git a/keyboards/crkbd/keymaps/hvp/keymap.c b/keyboards/crkbd/keymaps/hvp/keymap.c index 7e1953e34d64..fc57fc1bb067 100644 --- a/keyboards/crkbd/keymaps/hvp/keymap.c +++ b/keyboards/crkbd/keymaps/hvp/keymap.c @@ -1,9 +1,5 @@ #include QMK_KEYBOARD_H #include "hvp.c" -#ifdef SSD1306OLED -# include "ssd1306.h" -# include -#endif #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings diff --git a/keyboards/crkbd/keymaps/markstos/config.h b/keyboards/crkbd/keymaps/markstos/config.h index 24101724de0e..0a3d7a360cf7 100644 --- a/keyboards/crkbd/keymaps/markstos/config.h +++ b/keyboards/crkbd/keymaps/markstos/config.h @@ -16,9 +16,6 @@ This is the C configuration file for the keymap #define MASTER_RIGHT // #define EE_HANDS -//#define SSD1306OLED - - // By default, when holding a dual-function key shortly after tapping it, the // tapped key will begin repeating. This is handy for fast typists when typing // words with double letters, such as "happy". If you turn this setting ON, it diff --git a/keyboards/helix/rev2/keymaps/default/keymap.c b/keyboards/helix/rev2/keymaps/default/keymap.c index 25b0c3dff8e2..b777d35d4536 100644 --- a/keyboards/helix/rev2/keymaps/default/keymap.c +++ b/keyboards/helix/rev2/keymaps/default/keymap.c @@ -340,10 +340,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - void matrix_init_user(void) { #ifdef AUDIO_ENABLE startup_user(); @@ -351,10 +347,6 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif } diff --git a/keyboards/helix/rev2/keymaps/default/oled_display.c b/keyboards/helix/rev2/keymaps/default/oled_display.c index 384356bd1446..4eb815ce487b 100644 --- a/keyboards/helix/rev2/keymaps/default/oled_display.c +++ b/keyboards/helix/rev2/keymaps/default/oled_display.c @@ -136,150 +136,3 @@ bool oled_task_user(void) { return false; } #endif // end of OLED_ENABLE - -//SSD1306 OLED update loop -/* - The following code is left as a sample to help you transition from SSD1306OLED to OLED_ENABLE. - - * `matrix_write(matrix, data)` is replaced by `oled_write(data, false)`. - * `matrix_write_P(matrix, data)` is replaced by `oled_write_P(data, false)`. - * It is no longer necessary to call `iota_gfx_task()`. - * `matrix_update()` are no longer needed. - * `iota_gfx_task_user()` is no longer needed. Instead, `bool oled_task_user(void)` is provided. - - 以下のコードは、SSD1306OLED から OLED_ENABLE に移行する助けになるようにサンプルとして残してあります。 - - * `matrix_write(matrix, data)` は、`oled_write(data, false)` に書き換えます。 - * `matrix_write_P(matrix, data)` は、`oled_write_P(data, false)` に書き換えます。 - * `iota_gfx_task()` を呼び出す必要はなくなります。 - * `matrix_update()` は不要になります。 - * `iota_gfx_task_user()` は不要になります。代りに `bool oled_task_user(void)` を用意します。 - */ - -#ifdef SSD1306OLED -#include "ssd1306.h" -#define oled_write(data,flag) matrix_write(matrix, data) -#define oled_write_P(data,flag) matrix_write_P(matrix, data) - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -static void render_logo(struct CharacterMatrix *matrix) { - - static const char helix_logo[] PROGMEM ={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - oled_write_P(helix_logo, false); -} - -static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { -# ifdef RGBLIGHT_ENABLE - char buf[30]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_get_mode(), - rgblight_get_hue()/RGBLIGHT_HUE_STEP, - rgblight_get_sat()/RGBLIGHT_SAT_STEP, - rgblight_get_val()/RGBLIGHT_VAL_STEP); - } else { - snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); - } - oled_write(buf, false); - } -# endif -} - -static void render_layer_status(struct CharacterMatrix *matrix) { - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[10]; - oled_write_P(PSTR("Layer: "), false); - switch (layer_state) { - case L_BASE: - oled_write_P(PSTR("Default"), false); - break; - case L_RAISE: - oled_write_P(PSTR("Raise"), false); - break; - case L_LOWER: - oled_write_P(PSTR("Lower"), false); - break; - case L_ADJUST: - case L_ADJUST_TRI: - oled_write_P(PSTR("Adjust"), false); - break; - default: - oled_write_P(PSTR("Undef-"), false); - snprintf(buf,sizeof(buf), "%ld", layer_state); - oled_write(buf, false); - } - oled_write_P(PSTR("\n"), false); -} - -void render_status(struct CharacterMatrix *matrix) { - // Render to mode icon - static const char os_logo[][2][3] PROGMEM = {{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if (is_mac_mode()) { - oled_write_P(os_logo[0][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[0][1], false); - } else { - oled_write_P(os_logo[1][0], false); - oled_write_P(PSTR("\n"), false); - oled_write_P(os_logo[1][1], false); - } - - oled_write_P(PSTR(" "), false); - render_layer_status(matrix); - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - oled_write_P(led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" "), false); - oled_write_P(led_state.caps_lock ? PSTR("CAPS") : PSTR(" "), false); - oled_write_P(led_state.scroll_lock ? PSTR("SCLK") : PSTR(" "), false); - oled_write_P(PSTR("\n"), false); - render_rgbled_status(true, matrix); -} - -# if OLED_UPDATE_INTERVAL > 0 -uint16_t oled_update_timeout; -# endif - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -# if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -# endif - -# if OLED_UPDATE_INTERVAL > 0 - if (timer_elapsed(oled_update_timeout) < OLED_UPDATE_INTERVAL) { - return; - } - oled_update_timeout = timer_read(); -# endif - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - render_rgbled_status(false, &matrix); - render_layer_status(&matrix); - } - matrix_update(&display, &matrix); -} - -#endif // end of SSD1306OLED diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c index ff7b174f5bdc..75e50968bcfe 100644 --- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c +++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c @@ -2,9 +2,6 @@ #include "keymap_japanese.h" #include #include -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif // * If you want to recognize that you pressed the Adjust key with the Lower / Raise key you can enable this comment out. However, the binary size may be over. * // #define ADJUST_MACRO_ENABLE @@ -192,7 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), }; -#if defined(SSD1306OLED) || defined(OLED_ENABLE) +#if defined(OLED_ENABLE) char keylog[24] = {}; const char code_to_name[60] = { ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f', @@ -249,7 +246,7 @@ void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) { #endif bool process_record_user(uint16_t keycode, keyrecord_t *record) { - #if defined(SSD1306OLED) || defined(OLED_ENABLE) + #if defined(OLED_ENABLE) if (record->event.pressed) { set_keylog(keycode, record); } @@ -310,121 +307,8 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -static inline void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -//assign the right code to your layers for OLED display -#define L_BASE _BASE -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) -#define L_LOW_E (1<<_LOW_E) -#define L_RAI_E (1<<_RAI_E) -#define L_ADJUST_TRIE (L_ADJUST|L_RAI_E|L_LOW_E) - -const char helix_logo[]={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - -static inline void render_logo(struct CharacterMatrix *matrix) { - - matrix_write(matrix, helix_logo); -} - -const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - -static inline void render_status(struct CharacterMatrix *matrix) { - - char buf[20]; - // Render to mode icon - if(keymap_config.swap_lalt_lgui==false){ - matrix_write(matrix, mac_win_logo[0][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, mac_win_logo[0][1]); - } else { - matrix_write(matrix, mac_win_logo[1][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, mac_win_logo[1][1]); - } - - #ifdef RGBLIGHT_ENABLE - snprintf(buf, sizeof(buf), " LED mode:%d", (short)RGB_current_mode); - matrix_write(matrix, buf); - #endif - - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - matrix_write_P(matrix, PSTR("\nLayer: ")); - switch (layer_state) { - case L_BASE: - matrix_write_P(matrix, default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base")); - break; - case L_RAISE: - matrix_write_P(matrix, PSTR("Raise")); - break; - case L_RAI_E: - matrix_write_P(matrix, PSTR("RaiseEx")); - break; - case L_LOWER: - matrix_write_P(matrix, PSTR("Lower")); - break; - case L_LOW_E: - matrix_write_P(matrix, PSTR("LowerEx")); - break; - case L_ADJUST: - case L_ADJUST_TRI: - case L_ADJUST_TRIE: - matrix_write_P(matrix, PSTR("Adjust")); - break; - default: - snprintf(buf, sizeof(buf), "%d", (short)layer_state); - matrix_write(matrix, buf); - } - - matrix_write(matrix, keylog); -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - - #if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } - #endif - - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - } - - matrix_update(&display, &matrix); } -#endif // end of SSD1306OLED - //OLED update loop #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { diff --git a/keyboards/helix/rev2/keymaps/froggy/keymap.c b/keyboards/helix/rev2/keymaps/froggy/keymap.c index c29c5832de0f..dc047d311874 100644 --- a/keyboards/helix/rev2/keymaps/froggy/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy/keymap.c @@ -4,10 +4,6 @@ #define MIN(x, y) (((x) < (y)) ? (x) : (y)) #define MAX(x, y) (((x) > (y)) ? (x) : (y)) -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - #define LAYOUT_half( \ L00, L01, L02, L03, L04, L05, \ L10, L11, L12, L13, L14, L15, \ @@ -450,10 +446,6 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif } @@ -555,10 +547,6 @@ uint8_t layer_state_old; //runs every scan cycle (a lot) void matrix_scan_user(void) { - #ifdef SSD1306OLED - iota_gfx_task(); // this is what updates the display continuously - #endif - if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){ register_delay_code(_BASE); if(!delay_key_pressed){ @@ -629,120 +617,6 @@ void matrix_scan_user(void) { #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -// Render to OLED -void render_status(struct CharacterMatrix *matrix) { - - // froggy logo - static char logo[4][1][17]= - { - { - {0x65,0x66,0x67,0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0} - }, - { - {0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0} - }, - { - {0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0} - }, - { - {0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0} - } - }; - - static char indctr[8][2][4]= - { - // white icon - { - {0x60,0x61,0x62,0}, - {0x63,0x64,0} - }, - { - {0x80,0x81,0x82,0}, - {0x83,0x84,0} - }, - { - {0xa0,0xa1,0xa2,0}, - {0xa3,0xa4,0} - }, - { - {0xc0,0xc1,0xc2,0}, - {0xc3,0xc4,0} - }, - // Black icon - { - {0x75,0x76,0x77,0}, - {0x78,0x79,0} - }, - { - {0x95,0x96,0x97,0}, - {0x98,0x99,0} - }, - { - {0xb5,0xb6,0xb7,0}, - {0xb8,0xb9,0} - }, - { - {0xd5,0xd6,0xd7,0}, - {0xd8,0xd9,0} - }, - }; - - int rown = 0; - int rowf = 0; - int rowa = 0; - int rows = 0; - - //Set Indicator icon - led_t led_state = host_keyboard_led_state(); - if (led_state.num_lock) { rown = 4; } else { rown = 0; } - if (led_state.caps_lock) { rowa = 4; } else { rowa = 0; } - if (led_state.scroll_lock) { rows = 4; } else { rows = 0; } - if (layer_state == L_FUNC) { rowf = 4; } - - matrix_write(matrix, indctr[rown] [0]); - matrix_write(matrix, indctr[rowf] [1]); - matrix_write(matrix, logo [0] [0]); - matrix_write(matrix, indctr[rown+1][0]); - matrix_write(matrix, indctr[rowf+1][1]); - matrix_write(matrix, logo [1] [0]); - matrix_write(matrix, indctr[rowa+2][0]); - matrix_write(matrix, indctr[rows+2][1]); - matrix_write(matrix, logo [2] [0]); - matrix_write(matrix, indctr[rowa+3][0]); - matrix_write(matrix, indctr[rows+3][1]); - matrix_write(matrix, logo [3] [0]); - -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -#if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -#endif - - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } - matrix_update(&display, &matrix); -} - -#endif // end of SSD1306OLED - //OLED update loop #ifdef OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c index b9c6aa232450..d0a17cb4ae64 100644 --- a/keyboards/helix/rev2/keymaps/froggy_106/keymap.c +++ b/keyboards/helix/rev2/keymaps/froggy_106/keymap.c @@ -1,9 +1,6 @@ #include QMK_KEYBOARD_H #include "keymap_japanese.h" #include -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #define LAYOUT_half( \ L00, L01, L02, L03, L04, L05, \ @@ -563,15 +560,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } - -//keyboard start-up code. Runs once when the firmware starts up. -void matrix_init_user(void) { - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - // LED Effect #ifdef RGBLIGHT_ENABLE unsigned char rgb[7][5][3]; @@ -632,10 +620,6 @@ layer_state_t layer_state_old; //runs every scan cycle (a lot) void matrix_scan_user(void) { - #ifdef SSD1306OLED - iota_gfx_task(); // this is what updates the display continuously - #endif - if(delay_key_stat && (timer_elapsed(key_timer) > DELAY_TIME)){ if (IS_MODE_106()) register_delay_code(_BASE_106); @@ -693,142 +677,6 @@ void matrix_scan_user(void) { #endif } -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -// Render to OLED -void render_status(struct CharacterMatrix *matrix) { - - // froggy logo - static char logo[4][17]= - { - {0x68,0x69,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0x73,0x74,0}, - {0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,0}, - {0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,0}, - {0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0}, - }; - - static char modectl[4][2][4]= - { - { - {0x65,0x66,0x67,0}, //WIN - {0x85,0x86,0x87,0}, //WIN - }, - { - {0xa5,0xa6,0xa7,0}, //US(101) - {0xc5,0xc6,0xc7,0}, //US(101) - }, - { - {0xbd,0xbe,0xbf,0}, //MAC - {0xdd,0xde,0xdf,0}, //MAC - }, - { - {0xba,0xbb,0xbc,0}, //JP(106) - {0xda,0xdb,0xdc,0}, //JP(106) - }, - }; - - static char indctr[8][2][4]= - { - // white icon - { - {0x60,0x61,0x62,0}, //NUM - {0x63,0x64,0} //FUNC - }, - { - {0x80,0x81,0x82,0}, //NUM - {0x83,0x84,0} //FUNC - }, - { - {0xa0,0xa1,0xa2,0}, //CAPS - {0xa3,0xa4,0} //SCLK - }, - { - {0xc0,0xc1,0xc2,0}, //CAPS - {0xc3,0xc4,0} //SCLK - }, - // Black icon - { - {0x75,0x76,0x77,0}, //NUM - {0x78,0x79,0} //FUNC - }, - { - {0x95,0x96,0x97,0}, //NUM - {0x98,0x99,0} //FUNC - }, - { - {0xb5,0xb6,0xb7,0}, //CAPS - {0xb8,0xb9,0} //SCLK - }, - { - {0xd5,0xd6,0xd7,0}, //CAPS - {0xd8,0xd9,0} //SCLK - }, - }; - - int rown = 0; - int rowf = 0; - int rowa = 0; - int rows = 0; - int rowm = 0; - int rowj = 1; - - //Set Indicator icon - led_t led_state = host_keyboard_led_state(); - if (led_state.num_lock) { rown = 4; } - if (led_state.caps_lock) { rowa = 4; } - if (led_state.scroll_lock) { rows = 4; } - if (IS_LAYER_ON(_FUNC)) { rowf = 4; } - - //Set Mode icon - if (IS_MODE_MAC()) { rowm = 2; } - if (IS_MODE_106()) { rowj = 3; } - - matrix_write(matrix, indctr[rown] [0]); - matrix_write(matrix, indctr[rowf] [1]); - matrix_write(matrix, modectl[rowm] [0]); - matrix_write(matrix, logo[0]); - matrix_write(matrix, indctr[rown+1][0]); - matrix_write(matrix, indctr[rowf+1][1]); - matrix_write(matrix, modectl[rowm] [1]); - matrix_write(matrix, logo[1]); - matrix_write(matrix, indctr[rowa+2][0]); - matrix_write(matrix, indctr[rows+2][1]); - matrix_write(matrix, modectl[rowj] [0]); - matrix_write(matrix, logo[2]); - matrix_write(matrix, indctr[rowa+3][0]); - matrix_write(matrix, indctr[rows+3][1]); - matrix_write(matrix, modectl[rowj] [1]); - matrix_write(matrix, logo[3]); - -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -#if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -#endif - - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } - matrix_update(&display, &matrix); -} - -#endif // end of SSD1306OLED - //OLED update loop #ifdef OLED_ENABLE diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c index 1fc5dfba99c9..20fa181d776b 100644 --- a/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c +++ b/keyboards/helix/rev2/keymaps/yshrsmz/keymap.c @@ -1,9 +1,6 @@ #include QMK_KEYBOARD_H #include #include -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. @@ -331,10 +328,6 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_get_mode(); #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif } @@ -363,133 +356,6 @@ void music_scale_user(void) #endif - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -void matrix_scan_user(void) { - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -//assign the right code to your layers for OLED display -#define L_BASE 0 -#define L_LOWER (1<<_LOWER) -#define L_RAISE (1<<_RAISE) -#define L_ADJUST (1<<_ADJUST) -#define L_ADJUST_TRI (L_ADJUST|L_RAISE|L_LOWER) - -static void render_logo(struct CharacterMatrix *matrix) { - - static const char helix_logo[] PROGMEM ={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - matrix_write_P(matrix, helix_logo); - //matrix_write_P(&matrix, PSTR(" Split keyboard kit")); -} - -static void render_rgbled_status(bool full, struct CharacterMatrix *matrix) { -#ifdef RGBLIGHT_ENABLE - char buf[30]; - if (RGBLIGHT_MODES > 1 && rgblight_is_enabled()) { - if (full) { - snprintf(buf, sizeof(buf), " LED %2d: %d,%d,%d ", - rgblight_get_mode(), - rgblight_get_hue()/RGBLIGHT_HUE_STEP, - rgblight_get_sat()/RGBLIGHT_SAT_STEP, - rgblight_get_val()/RGBLIGHT_VAL_STEP); - } else { - snprintf(buf, sizeof(buf), "[%2d] ", rgblight_get_mode()); - } - matrix_write(matrix, buf); - } -#endif -} - -static void render_layer_status(struct CharacterMatrix *matrix) { - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[10]; - matrix_write_P(matrix, PSTR("Layer: ")); - switch (layer_state) { - case L_BASE: - matrix_write_P(matrix, PSTR("Default")); - break; - case L_RAISE: - matrix_write_P(matrix, PSTR("Raise")); - break; - case L_LOWER: - matrix_write_P(matrix, PSTR("Lower")); - break; - case L_ADJUST: - case L_ADJUST_TRI: - matrix_write_P(matrix, PSTR("Adjust")); - break; - default: - matrix_write_P(matrix, PSTR("Undef-")); - snprintf(buf,sizeof(buf), "%ld", layer_state); - matrix_write(matrix, buf); - } -} - -void render_status(struct CharacterMatrix *matrix) { - - // Render to mode icon - static const char os_logo[][2][3] PROGMEM ={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if(keymap_config.swap_lalt_lgui==false){ - matrix_write_P(matrix, os_logo[0][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write_P(matrix, os_logo[0][1]); - }else{ - matrix_write_P(matrix, os_logo[1][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write_P(matrix, os_logo[1][1]); - } - - matrix_write_P(matrix, PSTR(" ")); - render_layer_status(matrix); - matrix_write_P(matrix, PSTR("\n")); - - // Host Keyboard LED Status - led_t led_state = host_keyboard_led_state(); - matrix_write_P(matrix, led_state.num_lock ? PSTR("NUMLOCK") : PSTR(" ")); - matrix_write_P(matrix, led_state.caps_lock ? PSTR("CAPS") : PSTR(" ")); - matrix_write_P(matrix, led_state.scroll_lock ? PSTR("SCLK") : PSTR(" ")); - matrix_write_P(matrix, PSTR("\n")); - render_rgbled_status(true, matrix); -} - - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -#if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -#endif - - matrix_clear(&matrix); - if (is_keyboard_master()) { - render_status(&matrix); - } else { - render_logo(&matrix); - render_rgbled_status(false, &matrix); - render_layer_status(&matrix); - } - matrix_update(&display, &matrix); -} - -#endif // end of SSD1306OLED - #ifdef OLED_ENABLE oled_rotation_t oled_init_user(oled_rotation_t rotation) { if (is_keyboard_master()) { diff --git a/keyboards/latincompass/latinpad/config.h b/keyboards/latincompass/latinpad/config.h index d68f3b92418e..baba2a4a58a1 100644 --- a/keyboards/latincompass/latinpad/config.h +++ b/keyboards/latincompass/latinpad/config.h @@ -16,8 +16,6 @@ along with this program. If not, see .*/ #pragma once -#define SSD1306OLED - #define RGB_MATRIX_LED_COUNT 18 // RGB Matrix Animation modes. Explicitly enabled // For full list of effects, see: diff --git a/keyboards/lily58/keymaps/chuan/config.h b/keyboards/lily58/keymaps/chuan/config.h index d952ce457be7..b3a47769bf6f 100644 --- a/keyboards/lily58/keymaps/chuan/config.h +++ b/keyboards/lily58/keymaps/chuan/config.h @@ -30,8 +30,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #define SSD1306OLED - #define QUICK_TAP_TERM 0 /* define tapping term */ diff --git a/keyboards/lily58/keymaps/chuan/keymap.c b/keyboards/lily58/keymaps/chuan/keymap.c index fed5b6df6796..58a19ebd5f34 100644 --- a/keyboards/lily58/keymaps/chuan/keymap.c +++ b/keyboards/lily58/keymaps/chuan/keymap.c @@ -173,13 +173,6 @@ bool oled_task_user(void) { #endif //OLED_ENABLE bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef SSD1306OLED - // set_keylog(keycode, record); -#endif - // set_timelog(); - } - switch (keycode) { case QWERTY: if (record->event.pressed) { diff --git a/keyboards/lily58/keymaps/datadavd/config.h b/keyboards/lily58/keymaps/datadavd/config.h index 19b372e569da..c851d7ad0ef3 100644 --- a/keyboards/lily58/keymaps/datadavd/config.h +++ b/keyboards/lily58/keymaps/datadavd/config.h @@ -28,8 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -// #define SSD1306OLED - #define QUICK_TAP_TERM 0 #define TAPPING_TERM 50 diff --git a/keyboards/lily58/keymaps/domnantas/config.h b/keyboards/lily58/keymaps/domnantas/config.h index 143a950ef244..830139cc033a 100644 --- a/keyboards/lily58/keymaps/domnantas/config.h +++ b/keyboards/lily58/keymaps/domnantas/config.h @@ -28,7 +28,5 @@ along with this program. If not, see . // #define MASTER_RIGHT #define EE_HANDS -// #define SSD1306OLED - #define QUICK_TAP_TERM 0 #define TAPPING_TERM 100 diff --git a/keyboards/lily58/keymaps/hvp/config.h b/keyboards/lily58/keymaps/hvp/config.h index ec0960470aff..35c0f25f2c2c 100644 --- a/keyboards/lily58/keymaps/hvp/config.h +++ b/keyboards/lily58/keymaps/hvp/config.h @@ -28,8 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED - #define TAPPING_TERM 100 #undef TAPPING_TERM #define TAPPING_TERM 150 diff --git a/keyboards/lily58/keymaps/hvp/keymap.c b/keyboards/lily58/keymaps/hvp/keymap.c index 5ca0b73653bd..b94ea9397ce5 100644 --- a/keyboards/lily58/keymaps/hvp/keymap.c +++ b/keyboards/lily58/keymaps/hvp/keymap.c @@ -5,9 +5,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings @@ -84,63 +81,9 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_config.mode; #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { - // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); - } else { - matrix_write(matrix, read_logo()); - } } -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED - bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef SSD1306OLED - set_keylog(keycode, record); -#endif - // set_timelog(); - } - switch (keycode) { case QWERTY: if (record->event.pressed) { diff --git a/keyboards/lily58/keymaps/jhelvy/config.h b/keyboards/lily58/keymaps/jhelvy/config.h index dbd058a8b58b..08ddcd4e32b2 100644 --- a/keyboards/lily58/keymaps/jhelvy/config.h +++ b/keyboards/lily58/keymaps/jhelvy/config.h @@ -28,8 +28,6 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -#define SSD1306OLED - #define QUICK_TAP_TERM 0 #undef TAPPING_TERM #define TAPPING_TERM 200 diff --git a/keyboards/lily58/keymaps/jhelvy/keymap.c b/keyboards/lily58/keymaps/jhelvy/keymap.c index 03e56b1bd1b4..ae44d372c6aa 100644 --- a/keyboards/lily58/keymaps/jhelvy/keymap.c +++ b/keyboards/lily58/keymaps/jhelvy/keymap.c @@ -4,10 +4,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif - extern uint8_t is_master; @@ -45,68 +41,3 @@ LGUI(KC_BSPC),MO(2),LGUI(KC_S),LGUI(KC_C),LGUI(KC_V),LGUI(KC_X), KC_NO, KC_NO,KC_NO, KC_NO, KC_NO, KC_TRNS, KC_NO, KC_NO) }; - -void matrix_init_user(void) { - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -// When add source files to SRC in rules.mk, you can use functions. -const char *read_layer_state(void); -const char *read_logo(void); -void set_keylog(uint16_t keycode, keyrecord_t *record); -const char *read_keylog(void); -const char *read_keylogs(void); - -// const char *read_mode_icon(bool swap); -// const char *read_host_led_state(void); -// void set_timelog(void); -// const char *read_timelog(void); - -void matrix_scan_user(void) { - iota_gfx_task(); -} - -void matrix_render_user(struct CharacterMatrix *matrix) { - if (is_master) { - // If you want to change the display of OLED, you need to change here - matrix_write_ln(matrix, read_layer_state()); - matrix_write_ln(matrix, read_keylog()); - matrix_write_ln(matrix, read_keylogs()); - //matrix_write_ln(matrix, read_mode_icon(keymap_config.swap_lalt_lgui)); - //matrix_write_ln(matrix, read_host_led_state()); - //matrix_write_ln(matrix, read_timelog()); - } else { - matrix_write(matrix, read_logo()); - } -} - -void matrix_update(struct CharacterMatrix *dest, const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - matrix_clear(&matrix); - matrix_render_user(&matrix); - matrix_update(&display, &matrix); -} -#endif//SSD1306OLED - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (record->event.pressed) { -#ifdef SSD1306OLED - set_keylog(keycode, record); -#endif - // set_timelog(); - } - return true; -} diff --git a/keyboards/lily58/keymaps/mikefightsbears/keymap.c b/keyboards/lily58/keymaps/mikefightsbears/keymap.c index 4bf723eb8d64..ce9aa64e35a3 100644 --- a/keyboards/lily58/keymaps/mikefightsbears/keymap.c +++ b/keyboards/lily58/keymaps/mikefightsbears/keymap.c @@ -4,9 +4,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings diff --git a/keyboards/lily58/keymaps/yshrsmz/keymap.c b/keyboards/lily58/keymaps/yshrsmz/keymap.c index 03269aa6a9b0..3ab9222b9d36 100644 --- a/keyboards/lily58/keymaps/yshrsmz/keymap.c +++ b/keyboards/lily58/keymaps/yshrsmz/keymap.c @@ -4,9 +4,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings diff --git a/keyboards/lily58/keymaps/yuchi/keymap.c b/keyboards/lily58/keymaps/yuchi/keymap.c index 1c87661113b4..c8c9eea5e9b8 100644 --- a/keyboards/lily58/keymaps/yuchi/keymap.c +++ b/keyboards/lily58/keymaps/yuchi/keymap.c @@ -4,9 +4,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "ssd1306.h" -#endif extern uint8_t is_master; diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/config.h b/keyboards/rgbkb/sol/keymaps/xyverz/config.h deleted file mode 100644 index 334eee608c67..000000000000 --- a/keyboards/rgbkb/sol/keymaps/xyverz/config.h +++ /dev/null @@ -1,26 +0,0 @@ -/* -This is the c configuration file for the keymap - -Copyright 2012 Jun Wako -Copyright 2015 Jack Humbert - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -#pragma once - - -// place overrides here - -/* #define SSD1306OLED */ diff --git a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c index 01cccab9e503..4aeaddc39f5a 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c +++ b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/keymap.c @@ -3,9 +3,6 @@ #include "lufa.h" #include "split_util.h" #endif -#ifdef SSD1306OLED - #include "common/ssd1306.h" -#endif extern keymap_config_t keymap_config; @@ -171,113 +168,4 @@ void matrix_init_user(void) { #ifdef RGBLIGHT_ENABLE RGB_current_mode = rgblight_config.mode; #endif - //SSD1306 OLED init, make sure to add #define SSD1306OLED in config.h - #ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display - #endif -} - - -//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h -#ifdef SSD1306OLED - -// hook point for 'led_test' keymap -// 'default' keymap's led_test_init() is empty function, do nothing -// 'led_test' keymap's led_test_init() force rgblight_mode_noeeprom(35); -__attribute__ ((weak)) -void led_test_init(void) {} - -void matrix_scan_user(void) { - led_test_init(); - iota_gfx_task(); // this is what updates the display continuously -} - -void matrix_update(struct CharacterMatrix *dest, - const struct CharacterMatrix *source) { - if (memcmp(dest->display, source->display, sizeof(dest->display))) { - memcpy(dest->display, source->display, sizeof(dest->display)); - dest->dirty = true; - } -} - -//assign the right code to your layers for OLED display -#define L_BASE 0 -#define L_FN (1<<_FN) -#define L_ADJ (1<<_ADJ) - -static void render_logo(struct CharacterMatrix *matrix) { - - static char logo[]={ - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4, - 0}; - matrix_write(matrix, logo); - //matrix_write_P(&matrix, PSTR(" Split keyboard kit")); -} - - - -void render_status(struct CharacterMatrix *matrix) { - - // Render to mode icon - static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}}; - if(keymap_config.swap_lalt_lgui==false){ - matrix_write(matrix, logo[0][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, logo[0][1]); - }else{ - matrix_write(matrix, logo[1][0]); - matrix_write_P(matrix, PSTR("\n")); - matrix_write(matrix, logo[1][1]); - } - - // Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below - char buf[40]; - snprintf(buf,sizeof(buf), "Undef-%ld", layer_state); - matrix_write_P(matrix, PSTR("\nLayer: ")); - switch (layer_state) { - case L_BASE: - matrix_write_P(matrix, PSTR("Default")); - break; - case L_FN: - matrix_write_P(matrix, PSTR("FN")); - break; - case L_ADJ: - case L_ADJ_TRI: - matrix_write_P(matrix, PSTR("ADJ")); - break; - default: - matrix_write(matrix, buf); - } - - // Host Keyboard LED Status - char led[40]; - led_t led_state = host_keyboard_led_state(); - snprintf(led, sizeof(led), "\n%s %s %s", - led_state.num_lock ? "NUMLOCK" : " ", - led_state.caps_lock ? "CAPS" : " ", - led_state.scroll_lock ? "SCLK" : " "); - matrix_write(matrix, led); -} - - -void iota_gfx_task_user(void) { - struct CharacterMatrix matrix; - -#if DEBUG_TO_SCREEN - if (debug_enable) { - return; - } -#endif - - matrix_clear(&matrix); - if(is_master){ - render_status(&matrix); - }else{ - render_logo(&matrix); - } - matrix_update(&display, &matrix); } - -#endif diff --git a/keyboards/spacetime/rev2/rev2.c b/keyboards/spacetime/rev2/rev2.c deleted file mode 100644 index 3ecef1c1d889..000000000000 --- a/keyboards/spacetime/rev2/rev2.c +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright 2019 Kyle Terry - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#include "rev2.h" - -bool process_record_kb(uint16_t keycode, keyrecord_t *record) { -#ifdef SSD1306OLED - return process_record_gfx(keycode,record) && process_record_user(keycode, record); -#else - return process_record_user(keycode, record); -#endif -} diff --git a/layouts/community/split_3x6_3/drashna/config.h b/layouts/community/split_3x6_3/drashna/config.h index 92065e8f314f..cfed26931bb1 100644 --- a/layouts/community/split_3x6_3/drashna/config.h +++ b/layouts/community/split_3x6_3/drashna/config.h @@ -24,7 +24,6 @@ #define SPLIT_MODS_ENABLE #undef USE_I2C -#undef SSD1306OLED // #define QUICK_TAP_TERM 0 // #define TAPPING_TERM 100 diff --git a/quantum/split_common/split_util.c b/quantum/split_common/split_util.c index fca95e0847b7..5d044c4ea0bd 100644 --- a/quantum/split_common/split_util.c +++ b/quantum/split_common/split_util.c @@ -206,9 +206,6 @@ void split_pre_init(void) { #endif if (is_keyboard_master()) { -#if defined(USE_I2C) && defined(SSD1306OLED) - matrix_master_OLED_init(); -#endif transport_master_init(); } } diff --git a/quantum/split_common/split_util.h b/quantum/split_common/split_util.h index ab42c85e9f88..f83b05b6a636 100644 --- a/quantum/split_common/split_util.h +++ b/quantum/split_common/split_util.h @@ -7,7 +7,6 @@ extern volatile bool isLeftHand; -void matrix_master_OLED_init(void); void split_pre_init(void); void split_post_init(void); From 5369d806bc3ca900c4bccb2cd751774c4ae55e08 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:38:46 -0700 Subject: [PATCH 06/65] AMJKeyboard AMJ84 Develop Touch-Up (#21645) * [style] refactor default keymap, phase 1 - grid-align keycodes - use QMK-native keycode aliases - update box drawings * [refactor] refactor default keymap, phase 2 - move position [5, 8] to the top row - update keycode grid alignment * [refactor] refactor default keymap, phase 3 - remove matrix position [5, 9] --- keyboards/amjkeyboard/amj84/info.json | 7 +- .../amj84/keymaps/default/keymap.c | 80 ++++++++++--------- 2 files changed, 45 insertions(+), 42 deletions(-) diff --git a/keyboards/amjkeyboard/amj84/info.json b/keyboards/amjkeyboard/amj84/info.json index 0b4d614c6eb3..18a7cdff4937 100644 --- a/keyboards/amjkeyboard/amj84/info.json +++ b/keyboards/amjkeyboard/amj84/info.json @@ -40,6 +40,7 @@ {"matrix": [0, 11], "x": 11, "y": 0}, {"matrix": [0, 12], "x": 12, "y": 0}, {"matrix": [0, 13], "x": 13, "y": 0}, + {"matrix": [5, 8], "x": 14, "y": 0}, {"matrix": [0, 14], "x": 15, "y": 0}, {"matrix": [1, 0], "x": 0, "y": 1}, @@ -110,10 +111,8 @@ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25}, {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25}, {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25}, - {"matrix": [5, 8], "x": 14, "y": 0}, - {"matrix": [5, 9], "x": 10, "y": 5}, - {"matrix": [5, 10], "x": 11, "y": 5}, - {"matrix": [5, 11], "x": 12, "y": 5}, + {"matrix": [5, 10], "x": 10, "y": 5, "w": 1.5}, + {"matrix": [5, 11], "x": 11.5, "y": 5, "w": 1.5}, {"matrix": [5, 12], "x": 13, "y": 5}, {"matrix": [5, 13], "x": 14, "y": 5}, {"matrix": [5, 14], "x": 15, "y": 5} diff --git a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c index c6a4747a831c..1bc603a79180 100644 --- a/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c +++ b/keyboards/amjkeyboard/amj84/keymaps/default/keymap.c @@ -3,51 +3,55 @@ #include QMK_KEYBOARD_H - - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ /* Keymap 0: Default Layer - * ,----------------------------------------------------------------. - * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Home |Del| - * |------------------------------------------------------------|---| - * |` | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |PgU| - * |------------------------------------------------------------|---| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgD| - * |------------------------------------------------------------|---| - * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |Ins| - * |------------------------------------------------------------|---| - * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift |Up |Fn0| - * |------------------------------------------------------------|---| - * |Ctrl|Win |Alt | Space |END|Alt |Ctrl|Left |Down|Rig| - * `----------------------------------------------------------------' + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Hm │End│Del│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │Bkspc │PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┼───┤ + * │Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ │Ent │Ins│ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │Sft │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Up │Fn │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │Ctrl│GUI │Alt │Space │Alt │Ctrl │Lft│Dwn│Rig│ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ */ [0] = LAYOUT_all( - KC_ESC, 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_HOME,KC_DEL, - KC_GRV, 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_PGUP, - 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_PGDN, - 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_NO, KC_ENT, KC_INS, - KC_LSFT,KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT,KC_UP, MO(1), - KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_END, KC_NO, KC_RALT,KC_RCTL,KC_LEFT,KC_DOWN,KC_RIGHT), + KC_ESC, 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_HOME, KC_END, KC_DEL, + KC_GRV, 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_PGUP, + 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_PGDN, + 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_NO, KC_ENT, KC_INS, + KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1), + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + /* Keymap 1: Fn Layer - * ,-----------------------------------------------------------. - * | `| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | - * |-----------------------------------------------------------| - * | | |Up | | | |Cal| |Ins| |Psc|Slk|Pau| | - * |-----------------------------------------------------------| - * | |Lef|Dow|Rig| | | | | | |Hom|PgU| | - * |-----------------------------------------------------------| - * | | |App| | | |VoD|VoU|Mut|End|PgD| | | - * |-----------------------------------------------------------| - * | | | | | | | | | - * `-----------------------------------------------------------' + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┼───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤ + * │ │ │Up │ │ │ │Cal│ │Ins│ │PSc│SLk│Pau│ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┼───┤ + * │BBrtg │Lft│Dwn│Rgh│ │ │ │ │ │ │Hm │PgU│ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┼───┤ + * │BStp│ │ │App│ │ │ │Vl-│Vl+│Mut│End│PgD│ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┴┬──┴──┬───┼───┼───┤ + * │Slp │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴─────┴─────┴───┴───┴───┘ */ [1] = LAYOUT_all( - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, - KC_TRNS,KC_TRNS,KC_UP, KC_TRNS,KC_TRNS,KC_TRNS,KC_CALC,KC_TRNS,KC_INS, KC_TRNS,KC_PSCR,KC_SCRL,KC_PAUS,KC_TRNS,KC_TRNS, - BL_BRTG,KC_LEFT,KC_DOWN,KC_RGHT,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_HOME,KC_PGUP,KC_TRNS,KC_TRNS,KC_TRNS, - BL_STEP,KC_NO, KC_TRNS,KC_APP, KC_TRNS,KC_TRNS,KC_TRNS,KC_VOLD,KC_VOLU,KC_MUTE,KC_END, KC_PGDN,KC_TRNS,KC_TRNS,KC_TRNS, - KC_SLEP,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS) + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, + BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, + BL_STEP, KC_NO, _______, KC_APP, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_END, KC_PGDN, _______, _______, _______, + KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; From 27ff1d4153ebe1476fdb011a5a136811e600412b Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 1 Aug 2023 01:54:28 +0100 Subject: [PATCH 07/65] Remove layout aliases from keyboard_aliases.hjson (#21658) --- data/mappings/keyboard_aliases.hjson | 66 ++--------------------- keyboards/coarse/vinta/info.json | 3 ++ keyboards/doro67/multi/info.json | 3 ++ keyboards/doro67/regular/info.json | 3 ++ keyboards/doro67/rgb/info.json | 3 ++ keyboards/jaykeeb/kamigakushi/info.json | 3 ++ keyboards/kbdfans/kbd67/mkiirgb/info.json | 5 +- keyboards/noxary/268_2/info.json | 3 ++ lib/python/qmk/commands.py | 3 -- 9 files changed, 27 insertions(+), 65 deletions(-) diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 1f275a2f16e7..60c5deaad5e0 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1,13 +1,9 @@ { // Format for each entry: // "": { - // "target": "", - // "layouts": { - // "": "" - // } + // "target": "" // } // - // Both target and layouts are optional. "2_milk": { "target": "spaceman/2_milk" }, @@ -140,21 +136,6 @@ "daisy": { "target": "ktec/daisy" }, - "doro67/multi": { - "layouts": { - "LAYOUT_ansi": "LAYOUT_65_ansi_blocker" - } - }, - "doro67/regular": { - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } - }, - "doro67/rgb": { - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } - }, "drakon": { "target": "jagdpietr/drakon" }, @@ -285,10 +266,7 @@ "target": "keyhive/honeycomb" }, "idb_60": { - "target": "idb/idb_60", - "layouts": { - "LAYOUT": "LAYOUT_all" - } + "target": "idb/idb_60" }, "idobo": { "target": "idobao/id75" @@ -309,19 +287,13 @@ "target": "jones/v03_1" }, "kamigakushi": { - "target": "jaykeeb/kamigakushi", - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker_tsangan" - } + "target": "jaykeeb/kamigakushi" }, "katana60": { "target": "rominronin/katana60/rev1" }, "kbdfans/kbd67mkiirgb": { - "target": "kbdfans/kbd67/mkiirgb", - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } + "target": "kbdfans/kbd67/mkiirgb" }, "kbdfans/kbd67/mkiirgb": { "target": "kbdfans/kbd67/mkiirgb/v1" @@ -467,11 +439,6 @@ "mschwingen/modelm": { "target": "ibm/model_m/mschwingen" }, - "noxary/268_2": { - "layouts": { - "LAYOUT": "LAYOUT_65_ansi_blocker" - } - }, "oddball": { "target": "oddball/v1" }, @@ -496,11 +463,6 @@ "peiorisboards/ixora": { "target": "coarse/ixora" }, - "percent/canoe": { - "layouts": { - "LAYOUT_iso": "LAYOUT_65_iso_blocker" - } - }, "plaid": { "target": "dm9records/plaid" }, @@ -513,21 +475,6 @@ "polilla": { "target": "polilla/rev1" }, - "preonic/rev1": { - "layouts": { - "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12" - } - }, - "preonic/rev2": { - "layouts": { - "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12" - } - }, - "preonic/rev3": { - "layouts": { - "LAYOUT_preonic_grid": "LAYOUT_ortho_5x12" - } - }, "primekb/prime_l": { "target": "primekb/prime_l/v1" }, @@ -619,10 +566,7 @@ "target": "underscore33/rev1" }, "vinta": { - "target": "coarse/vinta", - "layouts": { - "LAYOUT_67_ansi": "LAYOUT_65_ansi_blocker" - } + "target": "coarse/vinta" }, "wasdat": { "target": "maartenwut/wasdat" diff --git a/keyboards/coarse/vinta/info.json b/keyboards/coarse/vinta/info.json index a430ea36b704..3dd9898f1aa6 100644 --- a/keyboards/coarse/vinta/info.json +++ b/keyboards/coarse/vinta/info.json @@ -17,6 +17,9 @@ "bootloader": "stm32-dfu", "debounce": 0, "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT_67_ansi": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_69_ansi": { "layout": [ diff --git a/keyboards/doro67/multi/info.json b/keyboards/doro67/multi/info.json index db8da861c13f..10cd3bb652a9 100644 --- a/keyboards/doro67/multi/info.json +++ b/keyboards/doro67/multi/info.json @@ -24,6 +24,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT_ansi": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/keyboards/doro67/regular/info.json b/keyboards/doro67/regular/info.json index 70997d3e1a3c..863d935b0a68 100644 --- a/keyboards/doro67/regular/info.json +++ b/keyboards/doro67/regular/info.json @@ -19,6 +19,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/keyboards/doro67/rgb/info.json b/keyboards/doro67/rgb/info.json index f4a7d40dcef0..83d642ab0b75 100644 --- a/keyboards/doro67/rgb/info.json +++ b/keyboards/doro67/rgb/info.json @@ -26,6 +26,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/keyboards/jaykeeb/kamigakushi/info.json b/keyboards/jaykeeb/kamigakushi/info.json index a421019a4a5e..7ab02d2c66c6 100644 --- a/keyboards/jaykeeb/kamigakushi/info.json +++ b/keyboards/jaykeeb/kamigakushi/info.json @@ -51,6 +51,9 @@ "pid": "0x0765", "vid": "0x414C" }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker_tsangan" + }, "layouts": { "LAYOUT_65_ansi_blocker_tsangan": { "layout": [ diff --git a/keyboards/kbdfans/kbd67/mkiirgb/info.json b/keyboards/kbdfans/kbd67/mkiirgb/info.json index 023c6ff5dba1..683503b4ee9b 100644 --- a/keyboards/kbdfans/kbd67/mkiirgb/info.json +++ b/keyboards/kbdfans/kbd67/mkiirgb/info.json @@ -5,5 +5,8 @@ "usb": { "vid": "0x4B42" }, - "community_layouts": ["65_ansi_blocker"] + "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + } } diff --git a/keyboards/noxary/268_2/info.json b/keyboards/noxary/268_2/info.json index b96500aa3126..a652276c6d1f 100644 --- a/keyboards/noxary/268_2/info.json +++ b/keyboards/noxary/268_2/info.json @@ -19,6 +19,9 @@ "processor": "atmega32u4", "bootloader": "atmel-dfu", "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, "layouts": { "LAYOUT_65_ansi_blocker": { "layout": [ diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index ab8e323edf1e..660b2ff72e60 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -219,9 +219,6 @@ def parse_configurator_json(configurator_file): if 'target' in aliases[orig_keyboard]: user_keymap['keyboard'] = aliases[orig_keyboard]['target'] - if 'layouts' in aliases[orig_keyboard] and user_keymap['layout'] in aliases[orig_keyboard]['layouts']: - user_keymap['layout'] = aliases[orig_keyboard]['layouts'][user_keymap['layout']] - return user_keymap From d16d87c2f33f66e02861a657f259a9c82307de8f Mon Sep 17 00:00:00 2001 From: Sergey Vlasov Date: Tue, 1 Aug 2023 06:14:20 +0300 Subject: [PATCH 08/65] Keychron Q11 ISO: Fix left Shift breakage due to a wrong matrix mask (#21655) Keychron Q11 uses `matrix_mask` to mask away the matrix location used for `SPLIT_HAND_MATRIX_GRID` (otherwise the keyboard will constantly generate a wakeup request whenever the host enters suspend). However, the value of `matrix_mask` is actually chosen to mask away all unused locations, but it was apparently generated for the ANSI board and therefore masks away the left Shift key on the ISO board, breaking the functionality of that key. Fix `matrix_mask` to make the masking work as intended: - Set the `[4, 1]` bit to 1; this is the matrix location for the ISO left Shift. - Set the `[2, 5]` bit to 0; this is actually the matrix location which corresponds to `#define SPLIT_HAND_MATRIX_GRID A2, A15` on the left side, which was intended to be masked; apparently the wakeup problem does not happen due to `SPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, so the left half actually has that matrix location open. On the right side `A2, A15` is `[9, 6]`, which was masked off correctly. --- keyboards/keychron/q11/q11.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/keychron/q11/q11.c b/keyboards/keychron/q11/q11.c index eccb5473e15c..bf7bab4b5397 100755 --- a/keyboards/keychron/q11/q11.c +++ b/keyboards/keychron/q11/q11.c @@ -23,9 +23,9 @@ const matrix_row_t matrix_mask[] = { 0b011111111, 0b011111111, - 0b011111111, + 0b011011111, 0b001111111, - 0b011111101, + 0b011111111, 0b001011111, 0b111111111, 0b101111111, From eab315e935dced643c4cae9c9697ebe520627f36 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 1 Aug 2023 22:49:58 -0700 Subject: [PATCH 09/65] Fix Dynamic Macro Compilation for avr-gcc 5.4.0 + Linux (#21653) Co-authored-by: Joel Challis --- quantum/process_keycode/process_dynamic_macro.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantum/process_keycode/process_dynamic_macro.c b/quantum/process_keycode/process_dynamic_macro.c index 5e4a6fa30843..30a51503dbb7 100644 --- a/quantum/process_keycode/process_dynamic_macro.c +++ b/quantum/process_keycode/process_dynamic_macro.c @@ -196,7 +196,7 @@ static keyrecord_t *macro_end = macro_buffer; static keyrecord_t *const r_macro_buffer = macro_buffer + DYNAMIC_MACRO_SIZE - 1; /* Like macro_end but for the second macro. */ -static keyrecord_t *r_macro_end = r_macro_buffer; +static keyrecord_t *r_macro_end = macro_buffer + DYNAMIC_MACRO_SIZE - 1; /* A persistent pointer to the current macro position (iterator) * used during the recording. */ From 7fbc4153e8e27dd8c6456eef6e5ab5b01ed83ab9 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 2 Aug 2023 01:15:56 -0700 Subject: [PATCH 10/65] Automata02 Alisaie Develop Touch-Up (#21630) --- keyboards/automata02/alisaie/info.json | 2 +- .../alisaie/keymaps/default/keymap.c | 20 +++++++++---------- .../automata02/alisaie/keymaps/via/keymap.c | 20 +++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/keyboards/automata02/alisaie/info.json b/keyboards/automata02/alisaie/info.json index 6e4c007e00a2..9458843114b8 100644 --- a/keyboards/automata02/alisaie/info.json +++ b/keyboards/automata02/alisaie/info.json @@ -36,6 +36,7 @@ {"label": "-", "matrix": [0, 11], "x": 12.5, "y": 0}, {"label": "=", "matrix": [0, 12], "x": 13.5, "y": 0}, {"label": "\\", "matrix": [0, 13], "x": 14.5, "y": 0}, + {"label": "`", "matrix": [4, 11], "x": 15.5, "y": 0}, {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1}, @@ -87,7 +88,6 @@ {"label": "Space", "matrix": [4, 3], "x": 4.75, "y": 4, "w": 2.75}, {"label": "Space", "matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.25}, {"label": "GUI", "matrix": [4, 9], "x": 10, "y": 4, "w": 1.5}, - {"label": "`", "matrix": [4, 11], "x": 15.5, "y": 0}, {"label": "Alt", "matrix": [4, 12], "x": 14, "y": 4}, {"label": "Ctrl", "matrix": [4, 13], "x": 15, "y": 4, "w": 1.5} ] diff --git a/keyboards/automata02/alisaie/keymaps/default/keymap.c b/keyboards/automata02/alisaie/keymaps/default/keymap.c index 4b88bd30b5bc..00bd681aabdd 100644 --- a/keyboards/automata02/alisaie/keymaps/default/keymap.c +++ b/keyboards/automata02/alisaie/keymaps/default/keymap.c @@ -19,17 +19,17 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - 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_BSLS, - 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_BSPC, - 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_GRV, KC_RALT, KC_RCTL + 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_BSLS, KC_GRV, + 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_BSPC, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL ), [1] = LAYOUT( - _______, 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_DEL, - _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_UP, KC_MNXT, _______, - _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + _______, 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_DEL, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_UP, KC_MNXT, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/automata02/alisaie/keymaps/via/keymap.c b/keyboards/automata02/alisaie/keymaps/via/keymap.c index eee1a8dd387c..3ee2c863e92f 100644 --- a/keyboards/automata02/alisaie/keymaps/via/keymap.c +++ b/keyboards/automata02/alisaie/keymaps/via/keymap.c @@ -19,17 +19,17 @@ along with this program. If not, see . const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT( - 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_BSLS, - 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_BSPC, - 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), - KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_GRV, KC_RALT, KC_RCTL + 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_BSLS, KC_GRV, + 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_BSPC, + 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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL ), [1] = LAYOUT( - QK_BOOT, 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_DEL, - _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_UP, KC_MNXT, _______, - _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, KC_PSCR, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______ + QK_BOOT, 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_DEL, _______, + _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_UP, KC_MNXT, _______, + _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_RGHT, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, KC_PSCR, _______, + _______, _______, _______, _______, _______, _______, _______, _______ ) }; From b2d068d1aa95265f16670cbf5a68da745602fc12 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Wed, 2 Aug 2023 13:47:25 +0200 Subject: [PATCH 11/65] Fix mouse-key spamming empty reports (#21663) Problem: `mousekey_task` spams empty hid reports with when a mouse key is pressed, causing resource exhaustion in the USB mouse endpoint. Cause: The check whether or not to send a new mouse report would always evaluate to true if a mouse key is pressed: 1. `mouse_report` has non-zero fields and `tmpmr` is a copy of this fields. 2. `mouse_report` is set to zero, `tmpmr` has now non-zero fields. 3. `has_mouse_report_changed` compares the two and evaluates to true 4. a mouse report is sent. Fix: The check condition of `has_mouse_report_changed` will evaluate any empty record as unchanged, as mouse report data is relative and doesn't need to return to zero. An empty report will still be send by `register_mouse` on release of all mouse buttons. --- tmk_core/protocol/report.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tmk_core/protocol/report.c b/tmk_core/protocol/report.c index 5755098c60f1..1ba3be4604e0 100644 --- a/tmk_core/protocol/report.c +++ b/tmk_core/protocol/report.c @@ -281,13 +281,21 @@ void clear_keys_from_report(report_keyboard_t* keyboard_report) { #ifdef MOUSE_ENABLE /** - * @brief Compares 2 mouse reports for difference and returns result + * @brief Compares 2 mouse reports for difference and returns result. Empty + * reports always evaluate as unchanged. * * @param[in] new_report report_mouse_t * @param[in] old_report report_mouse_t * @return bool result */ __attribute__((weak)) bool has_mouse_report_changed(report_mouse_t* new_report, report_mouse_t* old_report) { - return memcmp(new_report, old_report, sizeof(report_mouse_t)); + // memcmp doesn't work here because of the `report_id` field when using + // shared mouse endpoint + bool changed = ((new_report->buttons != old_report->buttons) || +# ifdef MOUSE_EXTENDED_REPORT + (new_report->boot_x != 0 && new_report->boot_x != old_report->boot_x) || (new_report->boot_y != 0 && new_report->boot_y != old_report->boot_y) || +# endif + (new_report->x != 0 && new_report->x != old_report->x) || (new_report->y != 0 && new_report->y != old_report->y) || (new_report->h != 0 && new_report->h != old_report->h) || (new_report->v != 0 && new_report->v != old_report->v)); + return changed; } #endif From f0c94530831805c7309eb833cdf31e3f0d9d99e1 Mon Sep 17 00:00:00 2001 From: Nebuleon <2391500+Nebuleon@users.noreply.github.com> Date: Wed, 2 Aug 2023 12:07:43 -0400 Subject: [PATCH 12/65] audio: Don't play the first note of zero-note melodies (#21661) --- quantum/audio/audio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c index b9b21066cb08..28c826751723 100644 --- a/quantum/audio/audio.c +++ b/quantum/audio/audio.c @@ -311,6 +311,10 @@ void audio_play_melody(float (*np)[][2], uint16_t n_count, bool n_repeat) { return; } + if (n_count == 0) { + return; + } + if (!audio_initialized) { audio_init(); } From 34a2f1427426e28f9e260e2e9f53a63a131e6ad2 Mon Sep 17 00:00:00 2001 From: Synth and Keys <117340582+Synth-and-Keys@users.noreply.github.com> Date: Wed, 2 Aug 2023 11:05:00 -0600 Subject: [PATCH 13/65] [Keyboard] Add Bento Box macropad (#20521) --- keyboards/synthandkeys/bento_box/bento_box.c | 37 +++++++++++ keyboards/synthandkeys/bento_box/info.json | 64 +++++++++++++++++++ .../bento_box/keymaps/default/keymap.c | 41 ++++++++++++ keyboards/synthandkeys/bento_box/readme.md | 26 ++++++++ keyboards/synthandkeys/bento_box/rules.mk | 1 + 5 files changed, 169 insertions(+) create mode 100644 keyboards/synthandkeys/bento_box/bento_box.c create mode 100644 keyboards/synthandkeys/bento_box/info.json create mode 100644 keyboards/synthandkeys/bento_box/keymaps/default/keymap.c create mode 100644 keyboards/synthandkeys/bento_box/readme.md create mode 100644 keyboards/synthandkeys/bento_box/rules.mk diff --git a/keyboards/synthandkeys/bento_box/bento_box.c b/keyboards/synthandkeys/bento_box/bento_box.c new file mode 100644 index 000000000000..5ef0678f5ec5 --- /dev/null +++ b/keyboards/synthandkeys/bento_box/bento_box.c @@ -0,0 +1,37 @@ +// Copyright 2023 Synth-and-Keys (@Synth-and-Keys) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + /*Main Encoder*/ + if (index == 0) { + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } + /* TOP LEFT*/ + else if (index == 1) { + if (clockwise) { + tap_code16(C(KC_EQUAL)); + } else { + tap_code16(C(KC_MINUS)); + } + } + /* TOP RIGHT*/ + else if (index == 2) { + if (clockwise) { + tap_code16(C(KC_Y)); + } else { + tap_code16(C(KC_Z)); + } + } + return true; +} +#endif \ No newline at end of file diff --git a/keyboards/synthandkeys/bento_box/info.json b/keyboards/synthandkeys/bento_box/info.json new file mode 100644 index 000000000000..3cdc7a587083 --- /dev/null +++ b/keyboards/synthandkeys/bento_box/info.json @@ -0,0 +1,64 @@ +{ + "manufacturer": "Synth-and-Keys", + "keyboard_name": "bento_box", + "maintainer": "Synth-and-Keys", + "bootloader": "stm32-dfu", + "bootmagic": { + "matrix": [2, 0] + }, + "diode_direction": "COL2ROW", + "encoder": { + "rotary": [ + {"pin_a": "B2","pin_b": "B1"}, + {"pin_a": "A13","pin_b": "A14"}, + {"pin_a": "A15","pin_b": "B3"} + ] + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "encoder": true, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + [ "A9", "A8", "B10", "B9", "B6", "B0"], + [ "A5", "A2", "A7", "A4", "A1", "B8"], + [ "B5", "A6", "A3", "A0", "B7", "B4"] + ] + }, + "processor": "STM32F072", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0000", + "vid": "0xFEED" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 3.5, "y": 0 }, + { "matrix": [0, 1], "x": 4.5, "y": 0 }, + { "matrix": [0, 2], "x": 1, "y": 0.5 }, + { "matrix": [0, 3], "x": 3.5, "y": 1 }, + { "matrix": [0, 4], "x": 4.5, "y": 1 }, + { "matrix": [0, 5], "x": 0, "y": 2 }, + { "matrix": [1, 0], "x": 1, "y": 2 }, + { "matrix": [1, 1], "x": 2, "y": 2 }, + { "matrix": [1, 2], "x": 0, "y": 3 }, + { "matrix": [1, 3], "x": 1, "y": 3 }, + { "matrix": [1, 4], "x": 2, "y": 3 }, + { "matrix": [1, 5], "x": 3.5, "y": 2.5 }, + { "matrix": [2, 0], "x": 4.5, "y": 2.5 }, + { "matrix": [2, 1], "x": 0, "y": 4 }, + { "matrix": [2, 2], "x": 1, "y": 4 }, + { "matrix": [2, 3], "x": 2, "y": 4 }, + { "matrix": [2, 4], "x": 3.5, "y": 3.5, "h": 1.5}, + { "matrix": [2, 5], "x": 4.5, "y": 3.5, "h": 1.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c b/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c new file mode 100644 index 000000000000..bf8f26984bf8 --- /dev/null +++ b/keyboards/synthandkeys/bento_box/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +// Copyright 2023 Synth-and-Keys (@Synth-and-Keys) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ---------------------------------------------------------------- + * | | | | Ctrl+0 | GUI+Shift+S | + * ---------------------------------------------------------------- + * | | Mute | | Copy | Paste | + * ---------------------------------------------------------------- + * | Prev | Pause | Next | | | + * ---------------------------------------------------------------- + * | Home | Up | End | Ctrl+T | Ctrl+W | + * ---------------------------------------------------------------- + * | Left | Down | Right | Shift+Alt+Tab | Alt+Tab | + * ---------------------------------------------------------------- + */ + [0] = LAYOUT( + C(KC_0), G(S(KC_S)), + KC_MUTE, C(KC_C), C(KC_V), + KC_MPRV, KC_MPLY, KC_MNXT, + KC_HOME, KC_UP, KC_END, C(KC_T), C(KC_W), + KC_LEFT, KC_DOWN, KC_RIGHT, S(C(KC_TAB)), C(KC_TAB) + ) +}; + + /* LAYER TEMPLATE + * ------------------------------------ + * | | | | | | + * ------------------------------------ + * | | | | | | + * ------------------------------------ + * | | | | | | + * ------------------------------------ + * | | | | | | + * ------------------------------------ + * | | | | | | + * ------------------------------------ + */ \ No newline at end of file diff --git a/keyboards/synthandkeys/bento_box/readme.md b/keyboards/synthandkeys/bento_box/readme.md new file mode 100644 index 000000000000..32ce47a01374 --- /dev/null +++ b/keyboards/synthandkeys/bento_box/readme.md @@ -0,0 +1,26 @@ +# synthandkeys/bento_box + +![synthandkeys/bento_box](https://i.imgur.com/J8NkYO8h.jpeg) + +The Bento Box is a 15-key, 3-encoder macropad running on QMK. + +* Keyboard Maintainer: [Synth-and-Keys](https://github.com/Synth-and-Keys) +* Hardware Supported: Bento Box PCB +* Hardware Availability: https://www.etsy.com/shop/SynthandKeys + +Make example for this keyboard (after setting up your build environment): + + make synthandkeys/bento_box:default + +Flashing example for this keyboard: + + make synthandkeys/bento_box:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the top left key in the group of 9 and plug in the keyboard +* **Physical reset button**: Hold down the reset button on the back of the PCB for 5 seconds and release diff --git a/keyboards/synthandkeys/bento_box/rules.mk b/keyboards/synthandkeys/bento_box/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/synthandkeys/bento_box/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From e8e989fd7ad7c10e725e50ae8b0a4426e09f7f30 Mon Sep 17 00:00:00 2001 From: Stefan Kerkmann Date: Thu, 3 Aug 2023 00:42:57 +0200 Subject: [PATCH 14/65] [Bug] Restore usb suspend wakeup delay (#21676) * Respect USB_SUSPEND_WAKEUP_DELAY on wakeup This delay wasn't honored after removing `restart_usb_driver` from the suspend and wakeup handling. It is now re-introduced in the appropriate spot, namely after issuing a remote wakeup to a sleeping host. * Remove old, unused and commented testing code --- tmk_core/protocol/chibios/chibios.c | 31 +++++++--------------------- tmk_core/protocol/chibios/usb_main.c | 27 ++++++------------------ 2 files changed, 14 insertions(+), 44 deletions(-) diff --git a/tmk_core/protocol/chibios/chibios.c b/tmk_core/protocol/chibios/chibios.c index 1eebdaf6c3b8..ac39606179a0 100644 --- a/tmk_core/protocol/chibios/chibios.c +++ b/tmk_core/protocol/chibios/chibios.c @@ -80,26 +80,6 @@ void console_task(void); void midi_ep_task(void); #endif -/* TESTING - * Amber LED blinker thread, times are in milliseconds. - */ -/* set this variable to non-zero anywhere to blink once */ -// static THD_WORKING_AREA(waThread1, 128); -// static THD_FUNCTION(Thread1, arg) { - -// (void)arg; -// chRegSetThreadName("blinker"); -// while (true) { -// systime_t time; - -// time = USB_DRIVER.state == USB_ACTIVE ? 250 : 500; -// palClearLine(LINE_CAPS_LOCK); -// chSysPolledDelayX(MS2RTC(STM32_HCLK, time)); -// palSetLine(LINE_CAPS_LOCK); -// chSysPolledDelayX(MS2RTC(STM32_HCLK, time)); -// } -// } - /* Early initialisation */ __attribute__((weak)) void early_hardware_init_pre(void) { @@ -135,9 +115,6 @@ void boardInit(void) { void protocol_setup(void) { usb_device_state_init(); - - // TESTING - // chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL); } static host_driver_t *driver = NULL; @@ -189,6 +166,14 @@ void protocol_pre_task(void) { /* issue a remote wakeup event to the host which should resume * the bus and get our keyboard out of suspension. */ usbWakeupHost(&USB_DRIVER); +# if USB_SUSPEND_WAKEUP_DELAY > 0 + /* Some hubs, kvm switches, and monitors do weird things, with + * USB device state bouncing around wildly on wakeup, yielding + * race conditions that can corrupt the keyboard state. + * + * Pause for a while to let things settle... */ + wait_ms(USB_SUSPEND_WAKEUP_DELAY); +# endif } } /* after a successful wakeup a USB_EVENT_WAKEUP is signaled to QMK by diff --git a/tmk_core/protocol/chibios/usb_main.c b/tmk_core/protocol/chibios/usb_main.c index b14ca30c1a84..e1327f065c86 100644 --- a/tmk_core/protocol/chibios/usb_main.c +++ b/tmk_core/protocol/chibios/usb_main.c @@ -784,34 +784,19 @@ void init_usb_driver(USBDriver *usbp) { #endif } - /* - * Activates the USB driver and then the USB bus pull-up on D+. - * Note, a delay is inserted in order to not have to disconnect the cable - * after a reset. - */ - usbDisconnectBus(usbp); - usbStop(usbp); - wait_ms(50); - usbStart(usbp, &usbcfg); - usbConnectBus(usbp); + restart_usb_driver(usbp); chVTObjectInit(&keyboard_idle_timer); } +/** @brief Restarts the USB driver and emulates a physical bus reconnection. + * Note that the bus reconnection is MCU and even board specific, so it might + * be a NOP on some hardware platforms. + */ __attribute__((weak)) void restart_usb_driver(USBDriver *usbp) { usbDisconnectBus(usbp); usbStop(usbp); - -#if USB_SUSPEND_WAKEUP_DELAY > 0 - // Some hubs, kvm switches, and monitors do - // weird things, with USB device state bouncing - // around wildly on wakeup, yielding race - // conditions that can corrupt the keyboard state. - // - // Pause for a while to let things settle... - wait_ms(USB_SUSPEND_WAKEUP_DELAY); -#endif - + wait_ms(50); usbStart(usbp, &usbcfg); usbConnectBus(usbp); } From 19536b819056c3ea2188d0451f56c443c8a11289 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 3 Aug 2023 10:03:25 +1000 Subject: [PATCH 15/65] moondrop/dash75: fix keymap (#21680) --- keyboards/moondrop/dash75/keymaps/default/keymap.json | 2 +- keyboards/moondrop/dash75/keymaps/via/keymap.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/moondrop/dash75/keymaps/default/keymap.json b/keyboards/moondrop/dash75/keymaps/default/keymap.json index 67811c18a376..8e2797ebf51c 100644 --- a/keyboards/moondrop/dash75/keymaps/default/keymap.json +++ b/keyboards/moondrop/dash75/keymaps/default/keymap.json @@ -1,7 +1,7 @@ { "version": 1, "notes": "This file is a keymap.json file for moondrop/dash75", - "keyboard": "moondrop/dash75", + "keyboard": "moondrop/dash75/r1", "keymap": "default", "layout": "LAYOUT", "author": "vinorodrigues", diff --git a/keyboards/moondrop/dash75/keymaps/via/keymap.json b/keyboards/moondrop/dash75/keymaps/via/keymap.json index 6d43ee82c80f..d811aaa78034 100644 --- a/keyboards/moondrop/dash75/keymaps/via/keymap.json +++ b/keyboards/moondrop/dash75/keymaps/via/keymap.json @@ -1,7 +1,7 @@ { "version": 1, "notes": "This file is a keymap.json file for moondrop/dash75", - "keyboard": "moondrop/dash75", + "keyboard": "moondrop/dash75/r1", "keymap": "via", "layout": "LAYOUT", "author": "vinorodrigues", From f0542894da88272f9391d513c656fa76d5e39520 Mon Sep 17 00:00:00 2001 From: SmollChungus <38044391+SmollChungus@users.noreply.github.com> Date: Thu, 3 Aug 2023 06:20:48 +0200 Subject: [PATCH 16/65] [Keyboard] Add PW88 keyboard (#21482) Co-authored-by: Drashna Jaelre --- keyboards/pw88/config.h | 21 ++++ keyboards/pw88/info.json | 144 ++++++++++++++++++++++++ keyboards/pw88/keymaps/default/keymap.c | 37 ++++++ keyboards/pw88/keymaps/via/keymap.c | 37 ++++++ keyboards/pw88/keymaps/via/rules.mk | 1 + keyboards/pw88/readme.md | 26 +++++ keyboards/pw88/rules.mk | 1 + 7 files changed, 267 insertions(+) create mode 100644 keyboards/pw88/config.h create mode 100644 keyboards/pw88/info.json create mode 100644 keyboards/pw88/keymaps/default/keymap.c create mode 100644 keyboards/pw88/keymaps/via/keymap.c create mode 100644 keyboards/pw88/keymaps/via/rules.mk create mode 100644 keyboards/pw88/readme.md create mode 100644 keyboards/pw88/rules.mk diff --git a/keyboards/pw88/config.h b/keyboards/pw88/config.h new file mode 100644 index 000000000000..f655b9252728 --- /dev/null +++ b/keyboards/pw88/config.h @@ -0,0 +1,21 @@ +/* +Copyright 2023 Matthijs Muller + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + + +#pragma once + +#define WS2812_PIO_USE_PIO1 // Force the usage of PIO1 peripheral, by default the WS2812 implementation uses the PIO0 peripheral diff --git a/keyboards/pw88/info.json b/keyboards/pw88/info.json new file mode 100644 index 000000000000..bd24071e70d6 --- /dev/null +++ b/keyboards/pw88/info.json @@ -0,0 +1,144 @@ +{ + "keyboard_name": "PW88", + "manufacturer": "Smollchungus", + "url": "https://www.github.com/smollchungus", + "maintainer": "Smollchungus", + "usb": { + "vid": "0x5363", + "pid": "0x8888", + "device_version": "0.0.1" + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "rgblight": true, + "nkro": true + }, + "ws2812": { + "pin": "GP0", + "driver": "vendor" + }, + "rgblight": { + "led_count": 34, + "layers": { + "enabled": true + }, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + } + }, + "matrix_pins": { + "cols": ["GP4", "GP3", "GP2", "GP26", "GP25", "GP24", "GP23", "GP20", "GP19", "GP18", "GP29", "GP28", "GP27", "GP14", "GP1", "GP5", "GP6"], + "rows": ["GP8", "GP11", "GP10", "GP9", "GP13", "GP12"] + }, + "diode_direction": "COL2ROW", + "processor": "RP2040", + "bootloader": "rp2040", + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1.25, "y": 0 }, + { "matrix": [0, 2], "x": 2.25, "y": 0 }, + { "matrix": [0, 3], "x": 3.25, "y": 0 }, + { "matrix": [0, 4], "x": 4.25, "y": 0 }, + { "matrix": [0, 5], "x": 5.5, "y": 0 }, + { "matrix": [0, 6], "x": 6.5, "y": 0 }, + { "matrix": [0, 7], "x": 7.5, "y": 0 }, + { "matrix": [0, 8], "x": 8.5, "y": 0 }, + { "matrix": [0, 9], "x": 9.75, "y": 0 }, + { "matrix": [0, 10], "x": 10.75, "y": 0 }, + { "matrix": [0, 11], "x": 11.75, "y": 0 }, + { "matrix": [0, 12], "x": 12.75, "y": 0 }, + { "matrix": [0, 13], "x": 14, "y": 0 }, + { "matrix": [0, 14], "x": 15.25, "y": 0 }, + { "matrix": [0, 15], "x": 16.25, "y": 0 }, + { "matrix": [0, 16], "x": 17.25, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "matrix": [1, 4], "x": 4, "y": 1.25 }, + { "matrix": [1, 5], "x": 5, "y": 1.25 }, + { "matrix": [1, 6], "x": 6, "y": 1.25 }, + { "matrix": [1, 7], "x": 7, "y": 1.25 }, + { "matrix": [1, 8], "x": 8, "y": 1.25 }, + { "matrix": [1, 9], "x": 9, "y": 1.25 }, + { "matrix": [1, 10], "x": 10, "y": 1.25 }, + { "matrix": [1, 11], "x": 11, "y": 1.25 }, + { "matrix": [1, 12], "x": 12, "y": 1.25 }, + { "matrix": [1, 13], "x": 13, "y": 1.25 }, + { "matrix": [3, 14], "x": 14, "y": 1.25 }, + { "matrix": [1, 14], "x": 15.25, "y": 1.25 }, + { "matrix": [1, 15], "x": 16.25, "y": 1.25 }, + { "matrix": [1, 16], "x": 17.25, "y": 1.25 }, + { "matrix": [2, 0], "w": 1.5, "x": 0, "y": 2.25 }, + { "matrix": [2, 1], "x": 1.5, "y": 2.25 }, + { "matrix": [2, 2], "x": 2.5, "y": 2.25 }, + { "matrix": [2, 3], "x": 3.5, "y": 2.25 }, + { "matrix": [2, 4], "x": 4.5, "y": 2.25 }, + { "matrix": [2, 5], "x": 5.5, "y": 2.25 }, + { "matrix": [2, 6], "x": 6.5, "y": 2.25 }, + { "matrix": [2, 7], "x": 7.5, "y": 2.25 }, + { "matrix": [2, 8], "x": 8.5, "y": 2.25 }, + { "matrix": [2, 9], "x": 9.5, "y": 2.25 }, + { "matrix": [2, 10], "x": 10.5, "y": 2.25 }, + { "matrix": [2, 11], "x": 11.5, "y": 2.25 }, + { "matrix": [2, 12], "x": 12.5, "y": 2.25 }, + { "matrix": [2, 13], "w": 1.5, "x": 13.5, "y": 2.25 }, + { "matrix": [2, 14], "x": 15.25, "y": 2.25 }, + { "matrix": [2, 15], "x": 16.25, "y": 2.25 }, + { "matrix": [2, 16], "x": 17.25, "y": 2.25 }, + { "matrix": [3, 0], "w": 1.75, "x": 0, "y": 3.25 }, + { "matrix": [3, 1], "x": 1.75, "y": 3.25 }, + { "matrix": [3, 2], "x": 2.75, "y": 3.25 }, + { "matrix": [3, 3], "x": 3.75, "y": 3.25 }, + { "matrix": [3, 4], "x": 4.75, "y": 3.25 }, + { "matrix": [3, 5], "x": 5.75, "y": 3.25 }, + { "matrix": [3, 6], "x": 6.75, "y": 3.25 }, + { "matrix": [3, 7], "x": 7.75, "y": 3.25 }, + { "matrix": [3, 8], "x": 8.75, "y": 3.25 }, + { "matrix": [3, 9], "x": 9.75, "y": 3.25 }, + { "matrix": [3, 10], "x": 10.75, "y": 3.25 }, + { "matrix": [3, 11], "x": 11.75, "y": 3.25 }, + { "matrix": [3, 12], "w": 2.25, "x": 12.75, "y": 3.25 }, + { "matrix": [4, 0], "w": 1.25, "x": 0, "y": 4.25 }, + { "matrix": [4, 1], "x": 1.25, "y": 4.25 }, + { "matrix": [4, 2], "x": 2.25, "y": 4.25 }, + { "matrix": [4, 3], "x": 3.25, "y": 4.25 }, + { "matrix": [4, 4], "x": 4.25, "y": 4.25 }, + { "matrix": [4, 5], "x": 5.25, "y": 4.25 }, + { "matrix": [4, 6], "x": 6.25, "y": 4.25 }, + { "matrix": [4, 7], "x": 7.25, "y": 4.25 }, + { "matrix": [4, 8], "x": 8.25, "y": 4.25 }, + { "matrix": [4, 9], "x": 9.25, "y": 4.25 }, + { "matrix": [4, 10], "x": 10.25, "y": 4.25 }, + { "matrix": [4, 11], "x": 11.25, "y": 4.25 }, + { "matrix": [4, 12], "w": 1.75, "x": 12.25, "y": 4.25 }, + { "matrix": [4, 13], "x": 14, "y": 4.25 }, + { "matrix": [4, 15], "x": 16.25, "y": 4.25 }, + { "matrix": [5, 0], "w": 1.25, "x": 0, "y": 5.25 }, + { "matrix": [5, 1], "w": 1.25, "x": 1.25, "y": 5.25 }, + { "matrix": [5, 2], "w": 1.25, "x": 2.5, "y": 5.25 }, + { "matrix": [5, 6], "w": 6.25, "x": 3.75, "y": 5.25 }, + { "matrix": [5, 10], "w": 1.25, "x": 10, "y": 5.25 }, + { "matrix": [5, 11], "w": 1.25, "x": 11.25, "y": 5.25 }, + { "matrix": [5, 12], "w": 1.25, "x": 12.5, "y": 5.25 }, + { "matrix": [5, 13], "w": 1.25, "x": 13.75, "y": 5.25 }, + { "matrix": [5, 14], "x": 15.25, "y": 5.25 }, + { "matrix": [5, 15], "x": 16.25, "y": 5.25 }, + { "matrix": [5, 16], "x": 17.25, "y": 5.25 } + ] + } + } +} diff --git a/keyboards/pw88/keymaps/default/keymap.c b/keyboards/pw88/keymaps/default/keymap.c new file mode 100644 index 000000000000..9e5ffd3f243d --- /dev/null +++ b/keyboards/pw88/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Matthijs Muller + + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_NUBS, KC_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_LSFT, KC_NUBS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/pw88/keymaps/via/keymap.c b/keyboards/pw88/keymaps/via/keymap.c new file mode 100644 index 000000000000..9e5ffd3f243d --- /dev/null +++ b/keyboards/pw88/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2023 Matthijs Muller + + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_NUBS, KC_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_LSFT, KC_NUBS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, _______, KC_VOLU, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS, _______, _______, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT + ) +}; diff --git a/keyboards/pw88/keymaps/via/rules.mk b/keyboards/pw88/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/pw88/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/pw88/readme.md b/keyboards/pw88/readme.md new file mode 100644 index 000000000000..facee8bac818 --- /dev/null +++ b/keyboards/pw88/readme.md @@ -0,0 +1,26 @@ +# PW88 + +![%PW88%](https://i.imgur.com/0uN5u2gh.jpg) + + +* Keyboard Maintainer: [Matthijs Muller](https://github.com/smollchungus) +* Hardware Supported: *Project W PCB* +* Hardware Availability: *Trailblazer Keyboards* + +Make example for this keyboard (after setting up your build environment): + + make pw88:default + +Flashing example for this keyboard: + + make pw88:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pw88/rules.mk b/keyboards/pw88/rules.mk new file mode 100644 index 000000000000..c628fc7d0fe7 --- /dev/null +++ b/keyboards/pw88/rules.mk @@ -0,0 +1 @@ +# This file intentionally blank From aa8d1c5e07f619b6b1bd6439e182b81bbee5a158 Mon Sep 17 00:00:00 2001 From: 3geek14 Date: Thu, 3 Aug 2023 04:02:40 -0400 Subject: [PATCH 17/65] Clarify custom keycode enum requirement for PRs (#21648) --- docs/pr_checklist.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md index d22e912e86a9..0d6b4db206a1 100644 --- a/docs/pr_checklist.md +++ b/docs/pr_checklist.md @@ -42,7 +42,7 @@ If there are any inconsistencies with these recommendations, you're best off [cr - `#include QMK_KEYBOARD_H` preferred to including specific board files - prefer layer `enum`s to `#define`s -- require custom keycode `enum`s to `#define`s, first entry must have ` = SAFE_RANGE` +- custom keycode `enum`s must have first entry `= SAFE_RANGE` - terminating backslash (`\`) in lines of LAYOUT macro parameters is superfluous and should be removed - some care with spacing (e.g., alignment on commas or first char of keycodes) makes for a much nicer-looking keymap From 37b62606cec1cce42b4c1c0035c72bc021f549d8 Mon Sep 17 00:00:00 2001 From: Hugh Rawlinson Date: Thu, 3 Aug 2023 10:03:29 +0200 Subject: [PATCH 18/65] Add VIA layout for Dactyl Manuform 5x6 (#21649) Co-authored-by: Duncan Sutherland --- .../dactyl_manuform/5x6/keymaps/via/keymap.c | 49 +++++++++++++++++++ .../dactyl_manuform/5x6/keymaps/via/rules.mk | 1 + 2 files changed, 50 insertions(+) create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c create mode 100644 keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c new file mode 100644 index 000000000000..337f332c5d97 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/keymap.c @@ -0,0 +1,49 @@ +// Copyright 2023 QMK Community +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY, + _LOWER, + _RAISE, +}; + +#define RAISE MO(_RAISE) +#define LOWER MO(_LOWER) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT_5x6( + KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 ,KC_BSPC, + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P ,KC_MINS, + KC_LSFT, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L ,KC_SCLN,KC_QUOT, + KC_LCTL, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M ,KC_COMM,KC_DOT ,KC_SLSH,KC_BSLS, + KC_LBRC,KC_RBRC, KC_PLUS, KC_EQL, + RAISE,KC_SPC, KC_ENT, LOWER, + KC_TAB,KC_HOME, KC_END, KC_DEL, + KC_BSPC, KC_GRV, KC_LGUI, KC_LALT + ), + + [_LOWER] = LAYOUT_5x6( + KC_TILD,KC_EXLM, KC_AT ,KC_HASH,KC_DLR ,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_DEL, + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC, KC_P7 , KC_P8 , KC_P9 ,_______,KC_PLUS, + _______,KC_HOME,KC_PGUP,KC_PGDN,KC_END ,KC_LPRN, KC_RPRN, KC_P4 , KC_P5 , KC_P6 ,KC_MINS,KC_PIPE, + _______,_______,_______,_______,_______,_______, _______, KC_P1 , KC_P2 , KC_P3 ,KC_EQL ,KC_UNDS, + _______,KC_PSCR, _______, KC_P0, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + + ), + + [_RAISE] = LAYOUT_5x6( + KC_F12 , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 ,KC_F10 ,KC_F11 , + _______,_______,_______,_______,_______,KC_LBRC, KC_RBRC,_______,KC_NUM,KC_INS ,KC_SCRL,KC_MUTE, + _______,KC_LEFT,KC_UP ,KC_DOWN,KC_RGHT,KC_LPRN, KC_RPRN,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_VOLU, + _______,_______,_______,_______,_______,_______, _______,_______,_______,_______,_______,KC_VOLD, + _______,_______, KC_EQL ,_______, + _______,_______, _______,_______, + _______,_______, _______,_______, + _______,_______, _______,_______ + ) +}; diff --git a/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/handwired/dactyl_manuform/5x6/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes From 0b802defd4ad81f38bdd3ae0192e2a834f7d99be Mon Sep 17 00:00:00 2001 From: Ryan Date: Fri, 4 Aug 2023 10:16:16 +1000 Subject: [PATCH 19/65] haptic: further naming cleanups (#21682) --- docs/feature_haptic_feedback.md | 26 +- drivers/haptic/drv2605l.c | 94 ++-- drivers/haptic/drv2605l.h | 451 ++++++++---------- keyboards/boston_meetup/2019/config.h | 58 +-- keyboards/buzzard/keymaps/crehmann/config.h | 4 +- .../keymaps/crehmann/features/haptic_utils.c | 10 +- keyboards/buzzard/keymaps/default/config.h | 4 +- keyboards/buzzard/rev1/rev1.c | 10 +- keyboards/hadron/ver3/config.h | 58 +-- .../bumblebee/keymaps/default/keymap.c | 10 +- .../swiftrax/bumblebee/keymaps/via/keymap.c | 10 +- .../5x6_right/keymaps/drashna/config.h | 6 +- keyboards/hillside/46/0_1/config.h | 18 +- keyboards/hillside/48/0_1/config.h | 18 +- keyboards/hillside/52/0_1/config.h | 18 +- keyboards/pearlboards/atlas/config.h | 10 +- keyboards/pearlboards/pearl/config.h | 10 +- keyboards/pearlboards/zeus/config.h | 10 +- keyboards/splitkb/zima/config.h | 14 +- layouts/community/ortho_4x12/drashna/config.h | 58 +-- quantum/haptic.c | 4 +- 21 files changed, 428 insertions(+), 473 deletions(-) diff --git a/docs/feature_haptic_feedback.md b/docs/feature_haptic_feedback.md index 02a231138d33..68145edd6cca 100644 --- a/docs/feature_haptic_feedback.md +++ b/docs/feature_haptic_feedback.md @@ -94,29 +94,29 @@ This driver supports 2 different feedback motors. Set the following in your `con Eccentric Rotating Mass vibration motors (ERM) is motor with a off-set weight attached so when drive signal is attached, the off-set weight spins and causes a sinusoidal wave that translate into vibrations. ```c -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 ``` ##### LRA Linear resonant actuators (LRA, also know as a linear vibrator) works different from a ERM. A LRA has a weight and magnet suspended by springs and a voice coil. When the drive signal is applied, the weight would be vibrate on a single axis (side to side or up and down). Since the weight is attached to a spring, there is a resonance effect at a specific frequency. This frequency is where the LRA will operate the most efficiently. Refer to the motor's datasheet for the recommanded range for this frequency. ```c -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define V_PEAK 2.1 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.1 +#define DRV2605L_F_LRA 205 /* resonance freq */ ``` #### DRV2605L waveform library diff --git a/drivers/haptic/drv2605l.c b/drivers/haptic/drv2605l.c index 7613dc59d13d..1ad2ad385f2a 100644 --- a/drivers/haptic/drv2605l.c +++ b/drivers/haptic/drv2605l.c @@ -41,58 +41,58 @@ void drv2605l_init(void) { // drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL,0xB6); -#if FB_ERM_LRA == 0 +#if DRV2605L_FB_ERM_LRA == 0 /* ERM settings */ - drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, (RATED_VOLTAGE / 21.33) * 1000); -# if ERM_OPEN_LOOP == 0 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (((V_PEAK * (DRIVE_TIME + BLANKING_TIME + IDISS_TIME)) / 0.02133) / (DRIVE_TIME - 0.0003))); -# elif ERM_OPEN_LOOP == 1 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (V_PEAK / 0.02196)); + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, (DRV2605L_RATED_VOLTAGE / 21.33) * 1000); +# if DRV2605L_ERM_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (((DRV2605L_V_PEAK * (DRV2605L_DRIVE_TIME + DRV2605L_BLANKING_TIME + DRV2605L_IDISS_TIME)) / 0.02133) / (DRV2605L_DRIVE_TIME - 0.0003))); +# elif DRV2605L_ERM_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (DRV2605L_V_PEAK / 0.02196)); # endif -#elif FB_ERM_LRA == 1 - drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, ((V_RMS * sqrt(1 - ((4 * ((150 + (SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * F_LRA) / 0.02071))); -# if LRA_OPEN_LOOP == 0 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, ((V_PEAK / sqrt(1 - (F_LRA * 0.0008)) / 0.02133))); -# elif LRA_OPEN_LOOP == 1 - drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (V_PEAK / 0.02196)); +#elif DRV2605L_FB_ERM_LRA == 1 + drv2605l_write(DRV2605L_REG_RATED_VOLTAGE, ((DRV2605L_V_RMS * sqrt(1 - ((4 * ((150 + (DRV2605L_SAMPLE_TIME * 50)) * 0.000001)) + 0.0003) * DRV2605L_F_LRA) / 0.02071))); +# if DRV2605L_LRA_OPEN_LOOP == 0 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, ((DRV2605L_V_PEAK / sqrt(1 - (DRV2605L_F_LRA * 0.0008)) / 0.02133))); +# elif DRV2605L_LRA_OPEN_LOOP == 1 + drv2605l_write(DRV2605L_REG_OVERDRIVE_CLAMP_VOLTAGE, (DRV2605L_V_PEAK / 0.02196)); # endif #endif - DRVREG_FBR FB_SET; - FB_SET.Bits.ERM_LRA = FB_ERM_LRA; - FB_SET.Bits.BRAKE_FACTOR = FB_BRAKEFACTOR; - FB_SET.Bits.LOOP_GAIN = FB_LOOPGAIN; - FB_SET.Bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ - drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL, (uint8_t)FB_SET.Byte); - - DRVREG_CTRL1 C1_SET; - C1_SET.Bits.C1_DRIVE_TIME = DRIVE_TIME; - C1_SET.Bits.C1_AC_COUPLE = AC_COUPLE; - C1_SET.Bits.C1_STARTUP_BOOST = STARTUP_BOOST; - drv2605l_write(DRV2605L_REG_CTRL1, (uint8_t)C1_SET.Byte); - - DRVREG_CTRL2 C2_SET; - C2_SET.Bits.C2_BIDIR_INPUT = BIDIR_INPUT; - C2_SET.Bits.C2_BRAKE_STAB = BRAKE_STAB; - C2_SET.Bits.C2_SAMPLE_TIME = SAMPLE_TIME; - C2_SET.Bits.C2_BLANKING_TIME = BLANKING_TIME; - C2_SET.Bits.C2_IDISS_TIME = IDISS_TIME; - drv2605l_write(DRV2605L_REG_CTRL2, (uint8_t)C2_SET.Byte); - - DRVREG_CTRL3 C3_SET; - C3_SET.Bits.C3_LRA_OPEN_LOOP = LRA_OPEN_LOOP; - C3_SET.Bits.C3_N_PWM_ANALOG = N_PWM_ANALOG; - C3_SET.Bits.C3_LRA_DRIVE_MODE = LRA_DRIVE_MODE; - C3_SET.Bits.C3_DATA_FORMAT_RTO = DATA_FORMAT_RTO; - C3_SET.Bits.C3_SUPPLY_COMP_DIS = SUPPLY_COMP_DIS; - C3_SET.Bits.C3_ERM_OPEN_LOOP = ERM_OPEN_LOOP; - C3_SET.Bits.C3_NG_THRESH = NG_THRESH; - drv2605l_write(DRV2605L_REG_CTRL3, (uint8_t)C3_SET.Byte); - - DRVREG_CTRL4 C4_SET; - C4_SET.Bits.C4_ZC_DET_TIME = ZC_DET_TIME; - C4_SET.Bits.C4_AUTO_CAL_TIME = AUTO_CAL_TIME; - drv2605l_write(DRV2605L_REG_CTRL4, (uint8_t)C4_SET.Byte); + drv2605l_reg_feedback_ctrl_t reg_feedback_ctrl; + reg_feedback_ctrl.bits.ERM_LRA = DRV2605L_FB_ERM_LRA; + reg_feedback_ctrl.bits.BRAKE_FACTOR = DRV2605L_FB_BRAKEFACTOR; + reg_feedback_ctrl.bits.LOOP_GAIN = DRV2605L_FB_LOOPGAIN; + reg_feedback_ctrl.bits.BEMF_GAIN = 0; /* auto-calibration populates this field*/ + drv2605l_write(DRV2605L_REG_FEEDBACK_CTRL, (uint8_t)reg_feedback_ctrl.raw); + + drv2605l_reg_ctrl1_t reg_ctrl1; + reg_ctrl1.bits.C1_DRIVE_TIME = DRV2605L_DRIVE_TIME; + reg_ctrl1.bits.C1_AC_COUPLE = DRV2605L_AC_COUPLE; + reg_ctrl1.bits.C1_STARTUP_BOOST = DRV2605L_STARTUP_BOOST; + drv2605l_write(DRV2605L_REG_CTRL1, (uint8_t)reg_ctrl1.raw); + + drv2605l_reg_ctrl2_t reg_ctrl2; + reg_ctrl2.bits.C2_BIDIR_INPUT = DRV2605L_BIDIR_INPUT; + reg_ctrl2.bits.C2_BRAKE_STAB = DRV2605L_BRAKE_STAB; + reg_ctrl2.bits.C2_SAMPLE_TIME = DRV2605L_SAMPLE_TIME; + reg_ctrl2.bits.C2_BLANKING_TIME = DRV2605L_BLANKING_TIME; + reg_ctrl2.bits.C2_IDISS_TIME = DRV2605L_IDISS_TIME; + drv2605l_write(DRV2605L_REG_CTRL2, (uint8_t)reg_ctrl2.raw); + + drv2605l_reg_ctrl3_t reg_ctrl3; + reg_ctrl3.bits.C3_LRA_OPEN_LOOP = DRV2605L_LRA_OPEN_LOOP; + reg_ctrl3.bits.C3_N_PWM_ANALOG = DRV2605L_N_PWM_ANALOG; + reg_ctrl3.bits.C3_LRA_DRIVE_MODE = DRV2605L_LRA_DRIVE_MODE; + reg_ctrl3.bits.C3_DATA_FORMAT_RTO = DRV2605L_DATA_FORMAT_RTO; + reg_ctrl3.bits.C3_SUPPLY_COMP_DIS = DRV2605L_SUPPLY_COMP_DIS; + reg_ctrl3.bits.C3_ERM_OPEN_LOOP = DRV2605L_ERM_OPEN_LOOP; + reg_ctrl3.bits.C3_NG_THRESH = DRV2605L_NG_THRESH; + drv2605l_write(DRV2605L_REG_CTRL3, (uint8_t)reg_ctrl3.raw); + + drv2605l_reg_ctrl4_t reg_ctrl4; + reg_ctrl4.bits.C4_ZC_DET_TIME = DRV2605L_ZC_DET_TIME; + reg_ctrl4.bits.C4_AUTO_CAL_TIME = DRV2605L_AUTO_CAL_TIME; + drv2605l_write(DRV2605L_REG_CTRL4, (uint8_t)reg_ctrl4.raw); drv2605l_write(DRV2605L_REG_LIBRARY_SELECTION, DRV2605L_LIBRARY); diff --git a/drivers/haptic/drv2605l.h b/drivers/haptic/drv2605l.h index 796611edb61e..a7cf856a86c1 100644 --- a/drivers/haptic/drv2605l.h +++ b/drivers/haptic/drv2605l.h @@ -22,42 +22,42 @@ /* Initialization settings * Feedback Control Settings */ -#ifndef FB_ERM_LRA -# define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#ifndef DRV2605L_FB_ERM_LRA +# define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ #endif -#ifndef FB_BRAKEFACTOR -# define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#ifndef DRV2605L_FB_BRAKEFACTOR +# define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ #endif -#ifndef FB_LOOPGAIN -# define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#ifndef DRV2605L_FB_LOOPGAIN +# define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ #endif /* LRA specific settings */ -#if FB_ERM_LRA == 1 -# ifndef V_RMS -# define V_RMS 2.0 +#if DRV2605L_FB_ERM_LRA == 1 +# ifndef DRV2605L_V_RMS +# define DRV2605L_V_RMS 2.0 # endif -# ifndef V_PEAK -# define V_PEAK 2.1 +# ifndef DRV2605L_V_PEAK +# define DRV2605L_V_PEAK 2.1 # endif -# ifndef F_LRA -# define F_LRA 205 +# ifndef DRV2605L_F_LRA +# define DRV2605L_F_LRA 205 # endif -# ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +# ifndef DRV2605L_RATED_VOLTAGE +# define DRV2605L_RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ # endif #endif -#ifndef RATED_VOLTAGE -# define RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ +#ifndef DRV2605L_RATED_VOLTAGE +# define DRV2605L_RATED_VOLTAGE 2 /* 2v as safe range in case device voltage is not set */ #endif -#ifndef V_PEAK -# define V_PEAK 2.8 +#ifndef DRV2605L_V_PEAK +# define DRV2605L_V_PEAK 2.8 #endif /* Library Selection */ #ifndef DRV2605L_LIBRARY -# if FB_ERM_LRA == 1 +# if DRV2605L_FB_ERM_LRA == 1 # define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ # else # define DRV2605L_LIBRARY 1 @@ -65,69 +65,69 @@ #endif #ifndef DRV2605L_GREETING -# define DRV2605L_GREETING alert_750ms +# define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 #endif #ifndef DRV2605L_DEFAULT_MODE -# define DRV2605L_DEFAULT_MODE strong_click1 +# define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100 #endif /* Control 1 register settings */ -#ifndef DRIVE_TIME -# define DRIVE_TIME 25 +#ifndef DRV2605L_DRIVE_TIME +# define DRV2605L_DRIVE_TIME 25 #endif -#ifndef AC_COUPLE -# define AC_COUPLE 0 +#ifndef DRV2605L_AC_COUPLE +# define DRV2605L_AC_COUPLE 0 #endif -#ifndef STARTUP_BOOST -# define STARTUP_BOOST 1 +#ifndef DRV2605L_STARTUP_BOOST +# define DRV2605L_STARTUP_BOOST 1 #endif /* Control 2 Settings */ -#ifndef BIDIR_INPUT -# define BIDIR_INPUT 1 +#ifndef DRV2605L_BIDIR_INPUT +# define DRV2605L_BIDIR_INPUT 1 #endif -#ifndef BRAKE_STAB -# define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#ifndef DRV2605L_BRAKE_STAB +# define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ #endif -#ifndef SAMPLE_TIME -# define SAMPLE_TIME 3 +#ifndef DRV2605L_SAMPLE_TIME +# define DRV2605L_SAMPLE_TIME 3 #endif -#ifndef BLANKING_TIME -# define BLANKING_TIME 1 +#ifndef DRV2605L_BLANKING_TIME +# define DRV2605L_BLANKING_TIME 1 #endif -#ifndef IDISS_TIME -# define IDISS_TIME 1 +#ifndef DRV2605L_IDISS_TIME +# define DRV2605L_IDISS_TIME 1 #endif /* Control 3 settings */ -#ifndef NG_THRESH -# define NG_THRESH 2 +#ifndef DRV2605L_NG_THRESH +# define DRV2605L_NG_THRESH 2 #endif -#ifndef ERM_OPEN_LOOP -# define ERM_OPEN_LOOP 1 +#ifndef DRV2605L_ERM_OPEN_LOOP +# define DRV2605L_ERM_OPEN_LOOP 1 #endif -#ifndef SUPPLY_COMP_DIS -# define SUPPLY_COMP_DIS 0 +#ifndef DRV2605L_SUPPLY_COMP_DIS +# define DRV2605L_SUPPLY_COMP_DIS 0 #endif -#ifndef DATA_FORMAT_RTO -# define DATA_FORMAT_RTO 0 +#ifndef DRV2605L_DATA_FORMAT_RTO +# define DRV2605L_DATA_FORMAT_RTO 0 #endif -#ifndef LRA_DRIVE_MODE -# define LRA_DRIVE_MODE 0 +#ifndef DRV2605L_LRA_DRIVE_MODE +# define DRV2605L_LRA_DRIVE_MODE 0 #endif -#ifndef N_PWM_ANALOG -# define N_PWM_ANALOG 0 +#ifndef DRV2605L_N_PWM_ANALOG +# define DRV2605L_N_PWM_ANALOG 0 #endif -#ifndef LRA_OPEN_LOOP -# define LRA_OPEN_LOOP 0 +#ifndef DRV2605L_LRA_OPEN_LOOP +# define DRV2605L_LRA_OPEN_LOOP 0 #endif /* Control 4 settings */ -#ifndef ZC_DET_TIME -# define ZC_DET_TIME 0 +#ifndef DRV2605L_ZC_DET_TIME +# define DRV2605L_ZC_DET_TIME 0 #endif -#ifndef AUTO_CAL_TIME -# define AUTO_CAL_TIME 3 +#ifndef DRV2605L_AUTO_CAL_TIME +# define DRV2605L_AUTO_CAL_TIME 3 #endif #define DRV2605L_I2C_ADDRESS 0x5A @@ -175,203 +175,169 @@ void drv2605l_rtp_init(void); void drv2605l_amplitude(const uint8_t amplitude); void drv2605l_pulse(const uint8_t sequence); -typedef enum DRV_EFFECT { - clear_sequence, - strong_click, - strong_click_60, - strong_click_30, - sharp_click, - sharp_click_60, - sharp_click_30, - soft_bump, - soft_bump_60, - soft_bump_30, - dbl_click, - dbl_click_60, - trp_click, - soft_fuzz, - strong_buzz, - alert_750ms, - alert_1000ms, - strong_click1, - strong_click2_80, - strong_click3_60, - strong_click4_30, - medium_click1, - medium_click2_80, - medium_click3_60, - sharp_tick1, - sharp_tick2_80, - sharp_tick3_60, - sh_dblclick_str, - sh_dblclick_str_80, - sh_dblclick_str_60, - sh_dblclick_str_30, - sh_dblclick_med, - sh_dblclick_med_80, - sh_dblclick_med_60, - sh_dblsharp_tick, - sh_dblsharp_tick_80, - sh_dblsharp_tick_60, - lg_dblclick_str, - lg_dblclick_str_80, - lg_dblclick_str_60, - lg_dblclick_str_30, - lg_dblclick_med, - lg_dblclick_med_80, - lg_dblclick_med_60, - lg_dblsharp_tick, - lg_dblsharp_tick_80, - lg_dblsharp_tick_60, - buzz, - buzz_80, - buzz_60, - buzz_40, - buzz_20, - pulsing_strong, - pulsing_strong_80, - pulsing_medium, - pulsing_medium_80, - pulsing_sharp, - pulsing_sharp_80, - transition_click, - transition_click_80, - transition_click_60, - transition_click_40, - transition_click_20, - transition_click_10, - transition_hum, - transition_hum_80, - transition_hum_60, - transition_hum_40, - transition_hum_20, - transition_hum_10, - transition_rampdown_long_smooth1, - transition_rampdown_long_smooth2, - transition_rampdown_med_smooth1, - transition_rampdown_med_smooth2, - transition_rampdown_short_smooth1, - transition_rampdown_short_smooth2, - transition_rampdown_long_sharp1, - transition_rampdown_long_sharp2, - transition_rampdown_med_sharp1, - transition_rampdown_med_sharp2, - transition_rampdown_short_sharp1, - transition_rampdown_short_sharp2, - transition_rampup_long_smooth1, - transition_rampup_long_smooth2, - transition_rampup_med_smooth1, - transition_rampup_med_smooth2, - transition_rampup_short_smooth1, - transition_rampup_short_smooth2, - transition_rampup_long_sharp1, - transition_rampup_long_sharp2, - transition_rampup_med_sharp1, - transition_rampup_med_sharp2, - transition_rampup_short_sharp1, - transition_rampup_short_sharp2, - transition_rampdown_long_smooth1_50, - transition_rampdown_long_smooth2_50, - transition_rampdown_med_smooth1_50, - transition_rampdown_med_smooth2_50, - transition_rampdown_short_smooth1_50, - transition_rampdown_short_smooth2_50, - transition_rampdown_long_sharp1_50, - transition_rampdown_long_sharp2_50, - transition_rampdown_med_sharp1_50, - transition_rampdown_med_sharp2_50, - transition_rampdown_short_sharp1_50, - transition_rampdown_short_sharp2_50, - transition_rampup_long_smooth1_50, - transition_rampup_long_smooth2_50, - transition_rampup_med_smooth1_50, - transition_rampup_med_smooth2_50, - transition_rampup_short_smooth1_50, - transition_rampup_short_smooth2_50, - transition_rampup_long_sharp1_50, - transition_rampup_long_sharp2_50, - transition_rampup_med_sharp1_50, - transition_rampup_med_sharp2_50, - transition_rampup_short_sharp1_50, - transition_rampup_short_sharp2_50, - long_buzz_for_programmatic_stopping, - smooth_hum1_50, - smooth_hum2_40, - smooth_hum3_30, - smooth_hum4_20, - smooth_hum5_10, - drv_effect_max -} DRV_EFFECT; +typedef enum drv2605l_effect_t { + DRV2605L_EFFECT_CLEAR_SEQUENCE, + DRV2605L_EFFECT_STRONG_CLICK_100, + DRV2605L_EFFECT_STRONG_CLICK_60, + DRV2605L_EFFECT_STRONG_CLICK_30, + DRV2605L_EFFECT_SHARP_CLICK_100, + DRV2605L_EFFECT_SHARP_CLICK_60, + DRV2605L_EFFECT_SHARP_CLICK_30, + DRV2605L_EFFECT_SOFT_BUMP_100, + DRV2605L_EFFECT_SOFT_BUMP_60, + DRV2605L_EFFECT_SOFT_BUMP_30, + DRV2605L_EFFECT_DOUBLE_CLICK_100, + DRV2605L_EFFECT_DOUBLE_CLICK_60, + DRV2605L_EFFECT_TRIPLE_CLICK_100, + DRV2605L_EFFECT_SOFT_FUZZ_60, + DRV2605L_EFFECT_STRONG_BUZZ_100, + DRV2605L_EFFECT_750_MS_ALERT_100, + DRV2605L_EFFECT_1000_MS_ALERT_100, + DRV2605L_EFFECT_STRONG_CLICK_1_100, + DRV2605L_EFFECT_STRONG_CLICK_2_80, + DRV2605L_EFFECT_STRONG_CLICK_3_60, + DRV2605L_EFFECT_STRONG_CLICK_4_30, + DRV2605L_EFFECT_MEDIUM_CLICK_1_100, + DRV2605L_EFFECT_MEDIUM_CLICK_2_80, + DRV2605L_EFFECT_MEDIUM_CLICK_3_60, + DRV2605L_EFFECT_SHARP_TICK_1_100, + DRV2605L_EFFECT_SHARP_TICK_2_80, + DRV2605L_EFFECT_SHARP_TICK_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_STRONG_4_30, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_CLICK_MEDIUM_3_60, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_2_80, + DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_4_30, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_MEDIUM_3_60, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_1_100, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_2_80, + DRV2605L_EFFECT_LONG_DOUBLE_SHARP_TICK_3_60, + DRV2605L_EFFECT_BUZZ_1_100, + DRV2605L_EFFECT_BUZZ_2_80, + DRV2605L_EFFECT_BUZZ_3_60, + DRV2605L_EFFECT_BUZZ_4_40, + DRV2605L_EFFECT_BUZZ_5_20, + DRV2605L_EFFECT_PULSING_STRONG_1_100, + DRV2605L_EFFECT_PULSING_STRONG_2_60, + DRV2605L_EFFECT_PULSING_MEDIUM_1_100, + DRV2605L_EFFECT_PULSING_MEDIUM_2_60, + DRV2605L_EFFECT_PULSING_SHARP_1_100, + DRV2605L_EFFECT_PULSING_SHARP_2_60, + DRV2605L_EFFECT_TRANSITION_CLICK_1_100, + DRV2605L_EFFECT_TRANSITION_CLICK_2_80, + DRV2605L_EFFECT_TRANSITION_CLICK_3_60, + DRV2605L_EFFECT_TRANSITION_CLICK_4_40, + DRV2605L_EFFECT_TRANSITION_CLICK_5_20, + DRV2605L_EFFECT_TRANSITION_CLICK_6_10, + DRV2605L_EFFECT_TRANSITION_HUM_1_100, + DRV2605L_EFFECT_TRANSITION_HUM_2_80, + DRV2605L_EFFECT_TRANSITION_HUM_3_60, + DRV2605L_EFFECT_TRANSITION_HUM_4_40, + DRV2605L_EFFECT_TRANSITION_HUM_5_20, + DRV2605L_EFFECT_TRANSITION_HUM_6_10, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_1_100, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_2_100, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_LONG_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_MEDIUM_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_DOWN_SHORT_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SMOOTH_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_LONG_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_MEDIUM_SHARP_2_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_1_50, + DRV2605L_EFFECT_TRANSITION_RAMP_UP_SHORT_SHARP_2_50, + DRV2605L_EFFECT_LONG_BUZZ_FOR_PROGRAMMATIC_STOPPING, + DRV2605L_EFFECT_SMOOTH_HUM_1_50, + DRV2605L_EFFECT_SMOOTH_HUM_2_40, + DRV2605L_EFFECT_SMOOTH_HUM_3_30, + DRV2605L_EFFECT_SMOOTH_HUM_4_20, + DRV2605L_EFFECT_SMOOTH_HUM_5_10, + DRV2605L_EFFECT_COUNT +} drv2605l_effect_t; /* Register bit array unions */ -typedef union DRVREG_STATUS { /* register 0x00 */ - uint8_t Byte; - struct { - uint8_t OC_DETECT : 1; /* set to 1 when overcurrent event is detected */ - uint8_t OVER_TEMP : 1; /* set to 1 when device exceeds temp threshold */ - uint8_t FB_STS : 1; /* set to 1 when feedback controller has timed out */ - /* auto-calibration routine and diagnostic result - * result | auto-calibation | diagnostic | - * 0 | passed | actuator func normal | - * 1 | failed | actuator func fault* | - * * actuator is not present or is shorted, timing out, or giving out–of-range back-EMF */ - uint8_t DIAG_RESULT : 1; - uint8_t : 1; - uint8_t DEVICE_ID : 3; /* Device IDs 3: DRV2605 4: DRV2604 5: DRV2604L 6: DRV2605L */ - } Bits; -} DRVREG_STATUS; - -typedef union DRVREG_MODE { /* register 0x01 */ - uint8_t Byte; - struct { - uint8_t MODE : 3; /* Mode setting */ - uint8_t : 3; - uint8_t STANDBY : 1; /* 0:standby 1:ready */ - } Bits; -} DRVREG_MODE; - -typedef union DRVREG_WAIT { - uint8_t Byte; - struct { - uint8_t WAIT_MODE : 1; /* Set to 1 to interpret as wait for next 7 bits x10ms */ - uint8_t WAIT_TIME : 7; - } Bits; -} DRVREG_WAIT; - -typedef union DRVREG_FBR { /* register 0x1A */ - uint8_t Byte; +typedef union { /* register 0x1A */ + uint8_t raw; struct { uint8_t BEMF_GAIN : 2; uint8_t LOOP_GAIN : 2; uint8_t BRAKE_FACTOR : 3; uint8_t ERM_LRA : 1; - } Bits; -} DRVREG_FBR; + } bits; +} drv2605l_reg_feedback_ctrl_t; -typedef union DRVREG_CTRL1 { /* register 0x1B */ - uint8_t Byte; +typedef union { /* register 0x1B */ + uint8_t raw; struct { uint8_t C1_DRIVE_TIME : 5; uint8_t C1_AC_COUPLE : 1; uint8_t : 1; uint8_t C1_STARTUP_BOOST : 1; - } Bits; -} DRVREG_CTRL1; + } bits; +} drv2605l_reg_ctrl1_t; -typedef union DRVREG_CTRL2 { /* register 0x1C */ - uint8_t Byte; +typedef union { /* register 0x1C */ + uint8_t raw; struct { uint8_t C2_IDISS_TIME : 2; uint8_t C2_BLANKING_TIME : 2; uint8_t C2_SAMPLE_TIME : 2; uint8_t C2_BRAKE_STAB : 1; uint8_t C2_BIDIR_INPUT : 1; - } Bits; -} DRVREG_CTRL2; + } bits; +} drv2605l_reg_ctrl2_t; -typedef union DRVREG_CTRL3 { /* register 0x1D */ - uint8_t Byte; +typedef union { /* register 0x1D */ + uint8_t raw; struct { uint8_t C3_LRA_OPEN_LOOP : 1; uint8_t C3_N_PWM_ANALOG : 1; @@ -380,11 +346,11 @@ typedef union DRVREG_CTRL3 { /* register 0x1D */ uint8_t C3_SUPPLY_COMP_DIS : 1; uint8_t C3_ERM_OPEN_LOOP : 1; uint8_t C3_NG_THRESH : 2; - } Bits; -} DRVREG_CTRL3; + } bits; +} drv2605l_reg_ctrl3_t; -typedef union DRVREG_CTRL4 { /* register 0x1E */ - uint8_t Byte; +typedef union { /* register 0x1E */ + uint8_t raw; struct { uint8_t C4_OTP_PROGRAM : 1; uint8_t : 1; @@ -392,16 +358,5 @@ typedef union DRVREG_CTRL4 { /* register 0x1E */ uint8_t : 1; uint8_t C4_AUTO_CAL_TIME : 2; uint8_t C4_ZC_DET_TIME : 2; - } Bits; -} DRVREG_CTRL4; - -typedef union DRVREG_CTRL5 { /* register 0x1F */ - uint8_t Byte; - struct { - uint8_t C5_IDISS_TIME : 2; - uint8_t C5_BLANKING_TIME : 2; - uint8_t C5_PLAYBACK_INTERVAL : 1; - uint8_t C5_LRA_AUTO_OPEN_LOOP : 1; - uint8_t C5_AUTO_OL_CNT : 2; - } Bits; -} DRVREG_CTRL5; + } bits; +} drv2605l_reg_ctrl4_t; diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h index d8888eb92f6c..7309021f0959 100644 --- a/keyboards/boston_meetup/2019/config.h +++ b/keyboards/boston_meetup/2019/config.h @@ -38,52 +38,52 @@ /* Haptic Driver initialization settings * Feedback Control Settings */ -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -#define RATED_VOLTAGE 3 -#define V_RMS 2.3 -#define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_RMS 2.3 +#define DRV2605L_V_PEAK 3.30 /* Library Selection */ #define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -#define RATED_VOLTAGE 2 -#define V_RMS 2.0 -#define V_PEAK 2.85 -#define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.85 +#define DRV2605L_F_LRA 200 /* Library Selection */ #define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/buzzard/keymaps/crehmann/config.h b/keyboards/buzzard/keymaps/crehmann/config.h index ee3192e3fd42..446ae01d3468 100644 --- a/keyboards/buzzard/keymaps/crehmann/config.h +++ b/keyboards/buzzard/keymaps/crehmann/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick1 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_1_100 #endif #ifdef PS2_MOUSE_ENABLE diff --git a/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c b/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c index 8f5aa0e662fe..941d559f4290 100644 --- a/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c +++ b/keyboards/buzzard/keymaps/crehmann/features/haptic_utils.c @@ -23,19 +23,19 @@ void process_layer_pulse(layer_state_t state) { #ifdef HAPTIC_ENABLE switch (get_highest_layer(state)) { case 1: - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); break; case 2: - drv2605l_pulse(sh_dblsharp_tick); + drv2605l_pulse(DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100); break; case 3: - drv2605l_pulse(lg_dblclick_str); + drv2605l_pulse(DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100); break; case 4: - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); break; case 5: - drv2605l_pulse(pulsing_sharp); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_SHARP_1_100); break; } #endif diff --git a/keyboards/buzzard/keymaps/default/config.h b/keyboards/buzzard/keymaps/default/config.h index d5bf3e4dc641..0a2776afd15d 100644 --- a/keyboards/buzzard/keymaps/default/config.h +++ b/keyboards/buzzard/keymaps/default/config.h @@ -25,8 +25,8 @@ #define NO_HAPTIC_PUNCTUATION #define NO_HAPTIC_NAV #define NO_HAPTIC_NUMERIC -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick1 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_1_100 #endif diff --git a/keyboards/buzzard/rev1/rev1.c b/keyboards/buzzard/rev1/rev1.c index c26e4d58313a..03c3269a7e45 100644 --- a/keyboards/buzzard/rev1/rev1.c +++ b/keyboards/buzzard/rev1/rev1.c @@ -100,27 +100,27 @@ __attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(state)) { case 1: #ifdef HAPTIC_ENABLE - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); #endif break; case 2: #ifdef HAPTIC_ENABLE - drv2605l_pulse(sh_dblsharp_tick); + drv2605l_pulse(DRV2605L_EFFECT_SHORT_DOUBLE_SHARP_TICK_1_100); #endif break; case 3: #ifdef HAPTIC_ENABLE - drv2605l_pulse(lg_dblclick_str); + drv2605l_pulse(DRV2605L_EFFECT_LONG_DOUBLE_SHARP_CLICK_STRONG_1_100); #endif break; case 4: #ifdef HAPTIC_ENABLE - drv2605l_pulse(soft_bump); + drv2605l_pulse(DRV2605L_EFFECT_SOFT_BUMP_100); #endif break; case 5: #ifdef HAPTIC_ENABLE - drv2605l_pulse(pulsing_sharp); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_SHARP_1_100); #endif break; } diff --git a/keyboards/hadron/ver3/config.h b/keyboards/hadron/ver3/config.h index 675bd218f030..2c5bdfcaa82b 100644 --- a/keyboards/hadron/ver3/config.h +++ b/keyboards/hadron/ver3/config.h @@ -60,52 +60,52 @@ /* Haptic Driver initialization settings * Feedback Control Settings */ -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -#define RATED_VOLTAGE 3 -#define V_RMS 2.3 -#define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_RMS 2.3 +#define DRV2605L_V_PEAK 3.30 /* Library Selection */ #define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -#define RATED_VOLTAGE 2 -#define V_RMS 2.0 -#define V_PEAK 2.85 -#define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_V_PEAK 2.85 +#define DRV2605L_F_LRA 200 /* Library Selection */ #define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 #define RGBLIGHT_EFFECT_BREATHING #define RGBLIGHT_EFFECT_RAINBOW_MOOD diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c index 7e7247c80faa..fef24f402fa5 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/default/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #define SOLENOID_DEFAULT_BUZZ 1 -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c index a48f9981005a..12791a69dd64 100644 --- a/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c +++ b/keyboards/handwired/swiftrax/bumblebee/keymaps/via/keymap.c @@ -17,13 +17,13 @@ along with this program. If not, see . #include QMK_KEYBOARD_H #define SOLENOID_DEFAULT_BUZZ 1 -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_all( diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h index 913c613c9823..5cb2a76de232 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/config.h @@ -31,6 +31,6 @@ #define BOOTMAGIC_LITE_EEPROM_COLUMN_RIGHT 5 -#define FB_ERM_LRA 0 -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE buzz +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_BUZZ_1_100 diff --git a/keyboards/hillside/46/0_1/config.h b/keyboards/hillside/46/0_1/config.h index dc8654b4bb0c..20c4deca40c5 100644 --- a/keyboards/hillside/46/0_1/config.h +++ b/keyboards/hillside/46/0_1/config.h @@ -10,16 +10,16 @@ /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/48/0_1/config.h b/keyboards/hillside/48/0_1/config.h index 3b432cf17b18..150573c16558 100644 --- a/keyboards/hillside/48/0_1/config.h +++ b/keyboards/hillside/48/0_1/config.h @@ -5,16 +5,16 @@ /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/hillside/52/0_1/config.h b/keyboards/hillside/52/0_1/config.h index dc8654b4bb0c..20c4deca40c5 100644 --- a/keyboards/hillside/52/0_1/config.h +++ b/keyboards/hillside/52/0_1/config.h @@ -10,16 +10,16 @@ /* Haptic hardware */ // The Pimoroni is the likely hardware, for which these settings work -#define FB_ERM_LRA 1 -#define FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 +#define DRV2605L_FB_BRAKEFACTOR 3 /* 1x:0, 2x:1, 3x:2, 4x:3, 6:4, 8:5, 16:6, Disable:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for optimal setting for your specific motor.*/ -#define RATED_VOLTAGE 2 -#define V_PEAK 2.8 -#define V_RMS 2.0 -#define F_LRA 205 /* resonance freq */ +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 2.8 +#define DRV2605L_V_RMS 2.0 +#define DRV2605L_F_LRA 205 /* resonance freq */ /* Haptic waveforms */ // Two mild waveforms -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE sharp_tick3_60 +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_SHARP_TICK_3_60 diff --git a/keyboards/pearlboards/atlas/config.h b/keyboards/pearlboards/atlas/config.h index 65443961ea88..1112168194c6 100644 --- a/keyboards/pearlboards/atlas/config.h +++ b/keyboards/pearlboards/atlas/config.h @@ -22,12 +22,12 @@ along with this program. If not, see . #define AUDIO_PIN C6 /* Haptic feedback */ -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -#define FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +#define DRV2605L_FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 /* Motor settings */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 /*== all animations enabled ==*/ #define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/pearlboards/pearl/config.h b/keyboards/pearlboards/pearl/config.h index 374e41284eb6..091ecfbd81ae 100644 --- a/keyboards/pearlboards/pearl/config.h +++ b/keyboards/pearlboards/pearl/config.h @@ -22,12 +22,12 @@ along with this program. If not, see . #define AUDIO_PIN C6 /* Haptic feedback */ -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -#define FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +#define DRV2605L_FB_LOOPGAIN 1 // For Low:0, Medium:1, High:2, Very High:3 /* Motor settings */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 /*== all animations enabled ==*/ #define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/pearlboards/zeus/config.h b/keyboards/pearlboards/zeus/config.h index b3a6188f50a7..d449a606975e 100644 --- a/keyboards/pearlboards/zeus/config.h +++ b/keyboards/pearlboards/zeus/config.h @@ -26,12 +26,12 @@ along with this program. If not, see . #endif /* Haptic feedback */ -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 1 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 -#define FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 1 // For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 +#define DRV2605L_FB_LOOPGAIN 3 // For Low:0, Medium:1, High:2, Very High:3 /* Motor settings */ -#define RATED_VOLTAGE 2 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 2 +#define DRV2605L_V_PEAK 5 /*== all animations enabled ==*/ #define RGBLIGHT_EFFECT_ALTERNATING diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h index b031fca8ddf0..b3393d3e236f 100644 --- a/keyboards/splitkb/zima/config.h +++ b/keyboards/splitkb/zima/config.h @@ -27,13 +27,13 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_STATIC_GRADIENT #define RGBLIGHT_EFFECT_TWINKLE -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 0 +#define DRV2605L_FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define DRV2605L_RATED_VOLTAGE 3 +#define DRV2605L_V_PEAK 5 -#define DRV2605L_GREETING alert_750ms -#define DRV2605L_DEFAULT_MODE buzz +#define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100 +#define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_BUZZ_1_100 diff --git a/layouts/community/ortho_4x12/drashna/config.h b/layouts/community/ortho_4x12/drashna/config.h index 071f7cb55bfc..7db0afa40f2d 100644 --- a/layouts/community/ortho_4x12/drashna/config.h +++ b/layouts/community/ortho_4x12/drashna/config.h @@ -105,49 +105,49 @@ /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ //#define MIDI_TONE_KEYCODE_OCTAVES 2 -#define FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ -#define FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define DRV2605L_FB_ERM_LRA 1 /* For ERM:0 or LRA:1*/ +#define DRV2605L_FB_BRAKEFACTOR 6 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define DRV2605L_FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* default 3V ERM vibration motor voltage and library*/ -#if FB_ERM_LRA == 0 -# define RATED_VOLTAGE 3 -# define V_RMS 2.3 -# define V_PEAK 3.30 +#if DRV2605L_FB_ERM_LRA == 0 +# define DRV2605L_RATED_VOLTAGE 3 +# define DRV2605L_V_RMS 2.3 +# define DRV2605L_V_PEAK 3.30 /* Library Selection */ # define DRV2605L_LIBRARY 4 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ /* default 2V LRA voltage and library */ -#elif FB_ERM_LRA == 1 -# define RATED_VOLTAGE 2 -# define V_RMS 2.0 -# define V_PEAK 2.85 -# define F_LRA 200 +#elif DRV2605L_FB_ERM_LRA == 1 +# define DRV2605L_RATED_VOLTAGE 2 +# define DRV2605L_V_RMS 2.0 +# define DRV2605L_V_PEAK 2.85 +# define DRV2605L_F_LRA 200 /* Library Selection */ # define DRV2605L_LIBRARY 6 /* For Empty:0' TS2200 library A to D:1-5, LRA Library: 6 */ #endif /* Control 1 register settings */ -#define DRIVE_TIME 25 -#define AC_COUPLE 0 -#define STARTUP_BOOST 1 +#define DRV2605L_DRIVE_TIME 25 +#define DRV2605L_AC_COUPLE 0 +#define DRV2605L_STARTUP_BOOST 1 /* Control 2 Settings */ -#define BIDIR_INPUT 1 -#define BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ -#define SAMPLE_TIME 3 -#define BLANKING_TIME 1 -#define IDISS_TIME 1 +#define DRV2605L_BIDIR_INPUT 1 +#define DRV2605L_BRAKE_STAB 1 /* Loopgain is reduced when braking is almost complete to improve stability */ +#define DRV2605L_SAMPLE_TIME 3 +#define DRV2605L_BLANKING_TIME 1 +#define DRV2605L_IDISS_TIME 1 /* Control 3 settings */ -#define NG_THRESH 2 -#define ERM_OPEN_LOOP 1 -#define SUPPLY_COMP_DIS 0 -#define DATA_FORMAT_RTO 0 -#define LRA_DRIVE_MODE 0 -#define N_PWM_ANALOG 0 -#define LRA_OPEN_LOOP 0 +#define DRV2605L_NG_THRESH 2 +#define DRV2605L_ERM_OPEN_LOOP 1 +#define DRV2605L_SUPPLY_COMP_DIS 0 +#define DRV2605L_DATA_FORMAT_RTO 0 +#define DRV2605L_LRA_DRIVE_MODE 0 +#define DRV2605L_N_PWM_ANALOG 0 +#define DRV2605L_LRA_OPEN_LOOP 0 /* Control 4 settings */ -#define ZC_DET_TIME 0 -#define AUTO_CAL_TIME 3 +#define DRV2605L_ZC_DET_TIME 0 +#define DRV2605L_AUTO_CAL_TIME 3 diff --git a/quantum/haptic.c b/quantum/haptic.c index 13b2258eb8fa..5a700dca388e 100644 --- a/quantum/haptic.c +++ b/quantum/haptic.c @@ -146,7 +146,7 @@ void haptic_buzz_toggle(void) { void haptic_mode_increase(void) { uint8_t mode = haptic_config.mode + 1; #ifdef HAPTIC_DRV2605L - if (haptic_config.mode >= drv_effect_max) { + if (haptic_config.mode >= DRV2605L_EFFECT_COUNT) { mode = 1; } #endif @@ -157,7 +157,7 @@ void haptic_mode_decrease(void) { uint8_t mode = haptic_config.mode - 1; #ifdef HAPTIC_DRV2605L if (haptic_config.mode < 1) { - mode = (drv_effect_max - 1); + mode = (DRV2605L_EFFECT_COUNT - 1); } #endif haptic_set_mode(mode); From 049a4baec0891db134844f59498add4815e10ddd Mon Sep 17 00:00:00 2001 From: Ryan Date: Sat, 5 Aug 2023 10:16:10 +1000 Subject: [PATCH 20/65] Contributing docs: add note to make sure repo is up to date (#21694) --- docs/contributing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/contributing.md b/docs/contributing.md index bb46add7892b..4801bb8224a4 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -63,6 +63,7 @@ Most of our style is pretty easy to pick up on. If you are familiar with either We have a few different types of changes in QMK, each requiring a different level of rigor. We'd like you to keep the following guidelines in mind no matter what type of change you're making. +* **Before you contribute:** Please make sure your fork is up to date with the upstream `qmk_firmware` repo. This will help minimize CI failures that may not occur for you when compiling locally. * Separate PRs into logical units. For example, do not submit one PR covering two separate features, instead submit a separate PR for each feature. * Check for unnecessary whitespace with `git diff --check` before committing. * Make sure your code change actually compiles. From d52bafade333d2da76c514f2a152b38b3a446c1c Mon Sep 17 00:00:00 2001 From: Ryan Date: Mon, 7 Aug 2023 03:13:20 +1000 Subject: [PATCH 21/65] Fix `binepad/bn009` and `durgod/dgk6x/hades_ansi` keymaps (#21701) --- keyboards/binepad/bn009/keymaps/default/keymap.json | 2 +- keyboards/binepad/bn009/keymaps/via/keymap.json | 2 +- keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json | 2 +- keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/keyboards/binepad/bn009/keymaps/default/keymap.json b/keyboards/binepad/bn009/keymaps/default/keymap.json index 2d5410de04fb..bcce7475c6d1 100644 --- a/keyboards/binepad/bn009/keymaps/default/keymap.json +++ b/keyboards/binepad/bn009/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "binepad/bn009r2", + "keyboard": "binepad/bn009/r2", "version": 1, "author": "binepad", "notes": "This file is a keymap.json file for binepad/bn009r2", diff --git a/keyboards/binepad/bn009/keymaps/via/keymap.json b/keyboards/binepad/bn009/keymaps/via/keymap.json index 414859ec9609..1790cf9328a2 100644 --- a/keyboards/binepad/bn009/keymaps/via/keymap.json +++ b/keyboards/binepad/bn009/keymaps/via/keymap.json @@ -4,7 +4,7 @@ "via": true } }, - "keyboard": "binepad/bn009r2", + "keyboard": "binepad/bn009/r2", "version": 1, "author": "binepad", "notes": "This file is a keymap.json file for binepad/bn009r2", diff --git a/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json b/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json index 6be76652800a..e3b969149ac9 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/dgk6x/hades", + "keyboard": "durgod/dgk6x/hades_ansi", "keymap": "default", "layout": "LAYOUT_65_ansi", "layers": [ diff --git a/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json b/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json index 0cef377c841a..7c25f6efb07b 100644 --- a/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json +++ b/keyboards/durgod/dgk6x/hades_ansi/keymaps/via/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/dgk6x/hades", + "keyboard": "durgod/dgk6x/hades_ansi", "keymap": "via", "layout": "LAYOUT_65_ansi", "layers": [ From b4fb445dbf4d2c8f357a994991fb3d855968035a Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 8 Aug 2023 09:27:36 +1000 Subject: [PATCH 22/65] doio/kb38: fix layout (#21704) --- keyboards/doio/kb38/info.json | 11 ++++--- keyboards/doio/kb38/keymaps/default/keymap.c | 30 ++++++++++---------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/keyboards/doio/kb38/info.json b/keyboards/doio/kb38/info.json index 0601ba881ca5..a0bbbae894a3 100644 --- a/keyboards/doio/kb38/info.json +++ b/keyboards/doio/kb38/info.json @@ -118,6 +118,10 @@ {"matrix": [2, 5], "label": "HOME", "x": 5.25, "y": 2.25}, {"matrix": [2, 6], "label": "PGUP", "x": 6.25, "y": 2.25}, + {"matrix": [5, 5], "label": "KNOB_L", "x": 7.5, "y": 2.25}, + + {"matrix": [5, 6], "label": "KNOB_R", "x": 9.5, "y": 2.25}, + {"matrix": [3, 0], "label": "4", "x": 0, "y": 3.25}, {"matrix": [3, 1], "label": "5", "x": 1, "y": 3.25}, {"matrix": [3, 2], "label": "6", "x": 2, "y": 3.25}, @@ -131,14 +135,13 @@ {"matrix": [4, 3], "label": "PENT", "x": 3, "y": 4.25, "h": 2}, {"matrix": [4, 5], "label": "UP", "x": 5.25, "y": 4.25}, + {"matrix": [5, 7], "label": "KNOB_D", "x": 7.5, "y": 3.25, "w": 3, "h": 3} + {"matrix": [5, 0], "label": "0", "x": 0, "y": 5.25, "w": 2}, {"matrix": [5, 1], "label": "PDOT", "x": 2, "y": 5.25}, {"matrix": [5, 2], "label": "LEFT", "x": 4.25, "y": 5.25}, {"matrix": [5, 3], "label": "DOWN", "x": 5.25, "y": 5.25}, - {"matrix": [5, 4], "label": "RIGHT", "x": 6.25, "y": 5.25}, - {"matrix": [5, 5], "label": "KNOB_L", "x": 7.5, "y": 2.25}, - {"matrix": [5, 6], "label": "KNOB_R", "x": 9.5, "y": 2.25}, - {"matrix": [5, 7], "label": "KNOB_D", "x": 7.5, "y": 3.25, "w": 3, "h": 3} + {"matrix": [5, 4], "label": "RIGHT", "x": 6.25, "y": 5.25} ] } } diff --git a/keyboards/doio/kb38/keymaps/default/keymap.c b/keyboards/doio/kb38/keymaps/default/keymap.c index b2fd7d2273d7..96a548e512e2 100644 --- a/keyboards/doio/kb38/keymaps/default/keymap.c +++ b/keyboards/doio/kb38/keymaps/default/keymap.c @@ -27,31 +27,31 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * └───┘ └───────┘└───┴───┴───┘└───┴───┴───┘ * ┌───┬───┬───┬───┐┌───┬───┬───┐ * │NUM│ / │ * │ - ││PAS│SCR│PSC│ - * ├───┼───┼───┼───┤├───┼───┼───┤ - * │ 7 │ 8 │ 9 │ ││INS│HOM│PGU│ - * ├───┼───┼───┤ + │├───┼───┼───┤ - * │ 4 │ 5 │ 6 │ ││END│DEL│PGD│ - * ├───┼───┼───┼───┤└───┼───┼───┘ - * │ 1 │ 2 │ 3 │ E │ │UP │ - * ├───┴───┼───┤ N │┌───┼───┼───┐┌───┬───┬───┐ - * │ 0 │DEL│ T ││LFT│DWN│RHT││ O │ O │ O │ - * └───────┴───┴───┘└───┴───┴───┘└───┴───┴───┘ + * ├───┼───┼───┼───┤├───┼───┼───┤┌───┐ ┌───┐ + * │ 7 │ 8 │ 9 │ ││INS│HOM│PGU││HOM│ │END│ + * ├───┼───┼───┤ + │├───┼───┼───┤├───┴───┴───┤ + * │ 4 │ 5 │ 6 │ ││END│DEL│PGD││ │ + * ├───┼───┼───┼───┤└───┼───┼───┘│ │ + * │ 1 │ 2 │ 3 │ E │ │UP │ │ B │ + * ├───┴───┼───┤ N │┌───┼───┼───┐│ │ + * │ 0 │DEL│ T ││LFT│DWN│RHT││ │ + * └───────┴───┴───┘└───┴───┴───┘└───────────┘ */ [_QWERTY] = LAYOUT( MO(1), KC_BSPC, RGB_RMOD, RGB_TOG, RGB_MOD, KC_F1, KC_F2, KC_F3, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS, KC_SCRL, KC_PSCR, - KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, + KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, KC_HOME, KC_END, KC_P4, KC_P5, KC_P6, KC_END, KC_DEL, KC_PGDN, - KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_B + KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, KC_B, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT ), [_LAYERTWO] = LAYOUT( _______, KC_BSPC, RGB_RMOD, RGB_TOG, RGB_MOD, KC_A, QK_RBT, QK_BOOT, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PAUS, KC_SCRL, KC_PSCR, - KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, + KC_P7, KC_P8, KC_P9, KC_PPLS, KC_INS, KC_HOME, KC_PGUP, KC_HOME, KC_END, KC_P4, KC_P5, KC_P6, KC_END, KC_DEL, KC_PGDN, - KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, - KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT, KC_HOME, KC_END, KC_B + KC_P1, KC_P2, KC_P3, KC_PENT, KC_UP, KC_B, + KC_P0, KC_PDOT, KC_LEFT, KC_DOWN, KC_RGHT ) }; From 805324c456100994ae31da6e62f39026d752ebb2 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 8 Aug 2023 09:06:38 +0100 Subject: [PATCH 23/65] Remove more legacy config.h options (#21709) --- keyboards/latincompass/latin47ble/config.h | 2 -- keyboards/latincompass/latin64ble/config.h | 3 --- keyboards/lily58/r2g/config.h | 2 -- .../spaceman/pancake/rev1/feather/config.h | 18 ------------------ keyboards/tokyokeyboard/alix40/config.h | 2 -- keyboards/yandrstudio/nz64/config.h | 3 --- 6 files changed, 30 deletions(-) delete mode 100644 keyboards/spaceman/pancake/rev1/feather/config.h diff --git a/keyboards/latincompass/latin47ble/config.h b/keyboards/latincompass/latin47ble/config.h index f9b76ecd880b..89618897d856 100644 --- a/keyboards/latincompass/latin47ble/config.h +++ b/keyboards/latincompass/latin47ble/config.h @@ -47,5 +47,3 @@ //#define NO_ACTION_LAYER //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT - -#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/latincompass/latin64ble/config.h b/keyboards/latincompass/latin64ble/config.h index 1b27e5b2541a..8d21dd078c2b 100644 --- a/keyboards/latincompass/latin64ble/config.h +++ b/keyboards/latincompass/latin64ble/config.h @@ -26,6 +26,3 @@ along with this program. If not, see .*/ #define RGBLIGHT_EFFECT_RGB_TEST #define RGBLIGHT_EFFECT_ALTERNATING #define RGBLIGHT_EFFECT_TWINKLE - - -#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/lily58/r2g/config.h b/keyboards/lily58/r2g/config.h index da72735e2e56..955cf70161e3 100644 --- a/keyboards/lily58/r2g/config.h +++ b/keyboards/lily58/r2g/config.h @@ -19,8 +19,6 @@ along with this program. If not, see . */ #pragma once -//#define SERIAL_USE_MULTI_TRANSACTION - #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_COUNT 74 diff --git a/keyboards/spaceman/pancake/rev1/feather/config.h b/keyboards/spaceman/pancake/rev1/feather/config.h deleted file mode 100644 index 9ff72156da90..000000000000 --- a/keyboards/spaceman/pancake/rev1/feather/config.h +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright 2019 Spaceman - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -#pragma once - -#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/tokyokeyboard/alix40/config.h b/keyboards/tokyokeyboard/alix40/config.h index f2bc075790b1..fe6045699417 100644 --- a/keyboards/tokyokeyboard/alix40/config.h +++ b/keyboards/tokyokeyboard/alix40/config.h @@ -33,5 +33,3 @@ along with this program. If not, see . /* Bluetooth */ #define BATTERY_LEVEL_PIN B6 - -#define VIA_HAS_BROKEN_KEYCODES diff --git a/keyboards/yandrstudio/nz64/config.h b/keyboards/yandrstudio/nz64/config.h index de44d4f3ee6a..4aa37c5f20b1 100644 --- a/keyboards/yandrstudio/nz64/config.h +++ b/keyboards/yandrstudio/nz64/config.h @@ -15,9 +15,6 @@ */ #pragma once -/* Fix VIA RGB_light */ -#define VIA_HAS_BROKEN_KEYCODES - /* RGB Matrix */ #ifdef RGB_MATRIX_ENABLE # define RGB_MATRIX_LED_COUNT 82 From c9e666917979f98da976b20eaa12b286a0317eb0 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 9 Aug 2023 04:43:47 +0100 Subject: [PATCH 24/65] Tidy up encoder in matrix references (#21718) --- keyboards/meletrix/zoom65/config.h | 21 ------------------- .../spreadwriter/keymaps/via/config.h | 11 ---------- keyboards/wekey/we27/config.h | 3 --- keyboards/winry/winry315/config.h | 4 ---- keyboards/wuque/serneity65/config.h | 21 ------------------- 5 files changed, 60 deletions(-) delete mode 100644 keyboards/meletrix/zoom65/config.h delete mode 100644 keyboards/wuque/serneity65/config.h diff --git a/keyboards/meletrix/zoom65/config.h b/keyboards/meletrix/zoom65/config.h deleted file mode 100644 index e5cc1f3e5b79..000000000000 --- a/keyboards/meletrix/zoom65/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2021 meletrix - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 5, 4 } } -#define ENCODERS_CCW_KEY { { 3, 4 } } diff --git a/keyboards/takashicompany/spreadwriter/keymaps/via/config.h b/keyboards/takashicompany/spreadwriter/keymaps/via/config.h index 9587fd7b6b88..b0e0cc3ee77a 100644 --- a/keyboards/takashicompany/spreadwriter/keymaps/via/config.h +++ b/keyboards/takashicompany/spreadwriter/keymaps/via/config.h @@ -4,14 +4,3 @@ #pragma once #define DYNAMIC_KEYMAP_LAYER_COUNT 7 - -//------------------------------------------------------------------------------ -// Rotary Encoder -//------------------------------------------------------------------------------ -// Encoder triggers specific key matrix position, -// when turn knob clockwise or counterclockwise. -// This is handy to assign key codes by VIA. - -// Mappings of encoder rotation to key position in key matrix. -#define ENCODERS_CW_KEY { { 0, 4 }} -#define ENCODERS_CCW_KEY { { 6, 0 }} \ No newline at end of file diff --git a/keyboards/wekey/we27/config.h b/keyboards/wekey/we27/config.h index a2d6575d8e50..30127708e0b0 100644 --- a/keyboards/wekey/we27/config.h +++ b/keyboards/wekey/we27/config.h @@ -80,9 +80,6 @@ along with this program. If not, see . #endif -#define ENCODERS_CW_KEY { { 4, 5 } } -#define ENCODERS_CCW_KEY { { 4, 3 } } - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/winry/winry315/config.h b/keyboards/winry/winry315/config.h index 4453e273d372..dcd17eab9654 100644 --- a/keyboards/winry/winry315/config.h +++ b/keyboards/winry/winry315/config.h @@ -3,10 +3,6 @@ #pragma once -// Encoder mappings (used for VIA). -#define ENCODERS_CW_KEY { { 22, 0 }, { 18, 0 }, { 20, 0 } } -#define ENCODERS_CCW_KEY { { 23, 0 }, { 19, 0 }, { 21, 0 } } - // clang-format on // RGB Lighting configuration. This mode is used by the vendor firmware, and diff --git a/keyboards/wuque/serneity65/config.h b/keyboards/wuque/serneity65/config.h deleted file mode 100644 index 134605fcab5c..000000000000 --- a/keyboards/wuque/serneity65/config.h +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright 2021 wuque - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -// Note: array is { col, row ) -#define ENCODERS_CW_KEY { { 3, 4 } } -#define ENCODERS_CCW_KEY { { 5, 4 } } From e4716d2445209645c1ef1bf8c1dee8aa93b43e07 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sat, 12 Aug 2023 09:20:48 +0100 Subject: [PATCH 25/65] [Keyboard] Update usb.* of `dactyl_lightcycle` (#21462) --- keyboards/handwired/dactyl_lightcycle/info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/dactyl_lightcycle/info.json b/keyboards/handwired/dactyl_lightcycle/info.json index c8bf0b85fcb0..4a123e711d25 100644 --- a/keyboards/handwired/dactyl_lightcycle/info.json +++ b/keyboards/handwired/dactyl_lightcycle/info.json @@ -4,9 +4,9 @@ "url": "https://github.com/adereth/dactyl-keyboard", "maintainer": "Matt Adereth", "usb": { - "vid": "0xFEED", - "pid": "0x3060", - "device_version": "0.0.1" + "vid": "0x444C", + "pid": "0xA460", + "device_version": "1.0.0" }, "features": { "bootmagic": true, From 75d84e5f642f2706a147f16395c46d61822dacc9 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sat, 12 Aug 2023 09:42:04 +0100 Subject: [PATCH 26/65] [Keyboard] add laneware `raindrop` keyboard (#21277) Co-authored-by: Sergey Vlasov Co-authored-by: Ryan --- keyboards/raindrop/config.h | 10 + keyboards/raindrop/info.json | 315 ++++++++++++++++++++ keyboards/raindrop/keymaps/arrows/keymap.c | 24 ++ keyboards/raindrop/keymaps/default/keymap.c | 21 ++ keyboards/raindrop/keymaps/hhkb/keymap.c | 21 ++ keyboards/raindrop/readme.md | 38 +++ keyboards/raindrop/rules.mk | 0 7 files changed, 429 insertions(+) create mode 100644 keyboards/raindrop/config.h create mode 100644 keyboards/raindrop/info.json create mode 100644 keyboards/raindrop/keymaps/arrows/keymap.c create mode 100644 keyboards/raindrop/keymaps/default/keymap.c create mode 100644 keyboards/raindrop/keymaps/hhkb/keymap.c create mode 100644 keyboards/raindrop/readme.md create mode 100644 keyboards/raindrop/rules.mk diff --git a/keyboards/raindrop/config.h b/keyboards/raindrop/config.h new file mode 100644 index 000000000000..1f083ec616b7 --- /dev/null +++ b/keyboards/raindrop/config.h @@ -0,0 +1,10 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE + +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/raindrop/info.json b/keyboards/raindrop/info.json new file mode 100644 index 000000000000..738e1719ea97 --- /dev/null +++ b/keyboards/raindrop/info.json @@ -0,0 +1,315 @@ +{ + "keyboard_name": "Raindrop", + "manufacturer": "Laneware Peripherals", + "url": "https://lanewareperipherals.com/collections/raindrop-60", + "maintainer": "qmk", + "usb": { + "vid": "0x4C50", + "pid": "0x3333", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["D3", "D4", "D6", "D7", "B4", "B5", "B6", "C6", "F7", "F6", "F5", "F4", "F1", "F0", "D5"], + "rows": ["E6", "B7", "D0", "D1", "D2"] + }, + "diode_direction": "COL2ROW", + "processor": "atmega32u4", + "bootloader": "atmel-dfu", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "backlight": false, + "audio": false, + "rgblight": false, + "sleep_led": false + }, + "community_layouts": ["60_hhkb", "60_ansi", "64_ansi"], + "layouts": { + "LAYOUT_60_ansi": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1, "y":0}, + {"matrix": [0, 2], "x":2, "y":0}, + {"matrix": [0, 3], "x":3, "y":0}, + {"matrix": [0, 4], "x":4, "y":0}, + {"matrix": [0, 5], "x":5, "y":0}, + {"matrix": [0, 6], "x":6, "y":0}, + {"matrix": [0, 7], "x":7, "y":0}, + {"matrix": [0, 8], "x":8, "y":0}, + {"matrix": [0, 9], "x":9, "y":0}, + {"matrix": [0, 10], "x":10, "y":0}, + {"matrix": [0, 11], "x":11, "y":0}, + {"matrix": [0, 12], "x":12, "y":0}, + {"matrix": [0, 13], "x":13, "y":0, "w":2}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.5}, + {"matrix": [1, 1], "x":1.5, "y":1}, + {"matrix": [1, 2], "x":2.5, "y":1}, + {"matrix": [1, 3], "x":3.5, "y":1}, + {"matrix": [1, 4], "x":4.5, "y":1}, + {"matrix": [1, 5], "x":5.5, "y":1}, + {"matrix": [1, 6], "x":6.5, "y":1}, + {"matrix": [1, 7], "x":7.5, "y":1}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.75}, + {"matrix": [2, 1], "x":1.75, "y":2}, + {"matrix": [2, 2], "x":2.75, "y":2}, + {"matrix": [2, 3], "x":3.75, "y":2}, + {"matrix": [2, 4], "x":4.75, "y":2}, + {"matrix": [2, 5], "x":5.75, "y":2}, + {"matrix": [2, 6], "x":6.75, "y":2}, + {"matrix": [2, 7], "x":7.75, "y":2}, + {"matrix": [2, 8], "x":8.75, "y":2}, + {"matrix": [2, 9], "x":9.75, "y":2}, + {"matrix": [2, 10], "x":10.75, "y":2}, + {"matrix": [2, 11], "x":11.75, "y":2}, + {"matrix": [2, 12], "x":12.75, "y":2, "w":2.25}, + + {"matrix": [3, 0], "x":0, "y":3, "w":2.25}, + {"matrix": [3, 1], "x":2.25, "y":3}, + {"matrix": [3, 2], "x":3.25, "y":3}, + {"matrix": [3, 3], "x":4.25, "y":3}, + {"matrix": [3, 4], "x":5.25, "y":3}, + {"matrix": [3, 5], "x":6.25, "y":3}, + {"matrix": [3, 6], "x":7.25, "y":3}, + {"matrix": [3, 7], "x":8.25, "y":3}, + {"matrix": [3, 8], "x":9.25, "y":3}, + {"matrix": [3, 9], "x":10.25, "y":3}, + {"matrix": [3, 10], "x":11.25, "y":3}, + {"matrix": [3, 11], "x":12.25, "y":3, "w":2.75}, + + {"matrix": [4, 0], "x":0, "y":4, "w":1.25}, + {"matrix": [4, 1], "x":1.25, "y":4, "w":1.25}, + {"matrix": [4, 2], "x":2.5, "y":4, "w":1.25}, + {"matrix": [4, 3], "x":3.75, "y":4, "w":6.25}, + {"matrix": [4, 4], "x":10, "y":4, "w":1.25}, + {"matrix": [4, 5], "x":11.25, "y":4, "w":1.25}, + {"matrix": [4, 6], "x":12.5, "y":4, "w":1.25}, + {"matrix": [4, 7], "x":13.75, "y":4, "w":1.25} + ] + }, + "LAYOUT_60_hhkb": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1, "y":0}, + {"matrix": [0, 2], "x":2, "y":0}, + {"matrix": [0, 3], "x":3, "y":0}, + {"matrix": [0, 4], "x":4, "y":0}, + {"matrix": [0, 5], "x":5, "y":0}, + {"matrix": [0, 6], "x":6, "y":0}, + {"matrix": [0, 7], "x":7, "y":0}, + {"matrix": [0, 8], "x":8, "y":0}, + {"matrix": [0, 9], "x":9, "y":0}, + {"matrix": [0, 10], "x":10, "y":0}, + {"matrix": [0, 11], "x":11, "y":0}, + {"matrix": [0, 12], "x":12, "y":0}, + {"matrix": [0, 13], "x":13, "y":0}, + {"matrix": [0, 14], "x":14, "y":0}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.5}, + {"matrix": [1, 1], "x":1.5, "y":1}, + {"matrix": [1, 2], "x":2.5, "y":1}, + {"matrix": [1, 3], "x":3.5, "y":1}, + {"matrix": [1, 4], "x":4.5, "y":1}, + {"matrix": [1, 5], "x":5.5, "y":1}, + {"matrix": [1, 6], "x":6.5, "y":1}, + {"matrix": [1, 7], "x":7.5, "y":1}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [2, 0], "x":0, "y":2, "w":1.75}, + {"matrix": [2, 1], "x":1.75, "y":2}, + {"matrix": [2, 2], "x":2.75, "y":2}, + {"matrix": [2, 3], "x":3.75, "y":2}, + {"matrix": [2, 4], "x":4.75, "y":2}, + {"matrix": [2, 5], "x":5.75, "y":2}, + {"matrix": [2, 6], "x":6.75, "y":2}, + {"matrix": [2, 7], "x":7.75, "y":2}, + {"matrix": [2, 8], "x":8.75, "y":2}, + {"matrix": [2, 9], "x":9.75, "y":2}, + {"matrix": [2, 10], "x":10.75, "y":2}, + {"matrix": [2, 11], "x":11.75, "y":2}, + {"matrix": [2, 12], "x":12.75, "y":2, "w":2.25}, + + {"matrix": [3, 0], "x":0, "y":3, "w":2.25}, + {"matrix": [3, 1], "x":2.25, "y":3}, + {"matrix": [3, 2], "x":3.25, "y":3}, + {"matrix": [3, 3], "x":4.25, "y":3}, + {"matrix": [3, 4], "x":5.25, "y":3}, + {"matrix": [3, 5], "x":6.25, "y":3}, + {"matrix": [3, 6], "x":7.25, "y":3}, + {"matrix": [3, 7], "x":8.25, "y":3}, + {"matrix": [3, 8], "x":9.25, "y":3}, + {"matrix": [3, 9], "x":10.25, "y":3}, + {"matrix": [3, 10], "x":11.25, "y":3}, + {"matrix": [3, 11], "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 13], "x":14, "y":3}, + + {"matrix": [4, 1], "x": 1.75, "y": 4}, + {"matrix": [4, 2], "x": 2.75, "y": 4, "w": 1.5}, + {"matrix": [4, 3], "x": 4.25, "y": 4, "w": 6.25}, + {"matrix": [4, 5], "x": 10.5, "y": 4, "w": 1.5}, + {"matrix": [4, 6], "x": 12, "y": 4} + ] + }, + "LAYOUT_64_ansi": { + "layout" : [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "x": 13, "y": 0, "w": 2}, + + {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2}, + {"matrix": [3, 1], "x": 2, "y": 3}, + {"matrix": [3, 2], "x": 3, "y": 3}, + {"matrix": [3, 3], "x": 4, "y": 3}, + {"matrix": [3, 4], "x": 5, "y": 3}, + {"matrix": [3, 5], "x": 6, "y": 3}, + {"matrix": [3, 6], "x": 7, "y": 3}, + {"matrix": [3, 7], "x": 8, "y": 3}, + {"matrix": [3, 8], "x": 9, "y": 3}, + {"matrix": [3, 9], "x": 10, "y": 3}, + {"matrix": [3, 10], "x": 11, "y": 3}, + {"matrix": [3, 11], "x": 12, "y": 3}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 4], "x": 10, "y": 4}, + {"matrix": [4, 5], "x": 11, "y": 4}, + {"matrix": [4, 6], "x": 12, "y": 4}, + {"matrix": [4, 7], "x": 13, "y": 4}, + {"matrix": [4, 8], "x": 14, "y": 4} + ] + }, + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1, "y":0}, + {"matrix": [0, 2], "x":2, "y":0}, + {"matrix": [0, 3], "x":3, "y":0}, + {"matrix": [0, 4], "x":4, "y":0}, + {"matrix": [0, 5], "x":5, "y":0}, + {"matrix": [0, 6], "x":6, "y":0}, + {"matrix": [0, 7], "x":7, "y":0}, + {"matrix": [0, 8], "x":8, "y":0}, + {"matrix": [0, 9], "x":9, "y":0}, + {"matrix": [0, 10], "x":10, "y":0}, + {"matrix": [0, 11], "x":11, "y":0}, + {"matrix": [0, 12], "x":12, "y":0}, + {"matrix": [0, 13], "x":13, "y":0}, + {"matrix": [0, 14], "x":14, "y":0}, + + {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [1, 0], "x":0, "y":1, "w":1.5}, + {"matrix": [1, 1], "x":1.5, "y":1}, + {"matrix": [1, 2], "x":2.5, "y":1}, + {"matrix": [1, 3], "x":3.5, "y":1}, + {"matrix": [1, 4], "x":4.5, "y":1}, + {"matrix": [1, 5], "x":5.5, "y":1}, + {"matrix": [1, 6], "x":6.5, "y":1}, + {"matrix": [1, 7], "x":7.5, "y":1}, + {"matrix": [1, 8], "x":8.5, "y":1}, + {"matrix": [1, 9], "x":9.5, "y":1}, + {"matrix": [1, 10], "x":10.5, "y":1}, + {"matrix": [1, 11], "x":11.5, "y":1}, + {"matrix": [1, 12], "x":12.5, "y":1}, + {"matrix": [1, 13], "x":13.5, "y":1, "w":1.5}, + + {"matrix": [3, 0], "x": 0, "y": 3, "w": 2}, + {"matrix": [3, 1], "x": 2, "y": 3}, + {"matrix": [3, 2], "x": 3, "y": 3}, + {"matrix": [3, 3], "x": 4, "y": 3}, + {"matrix": [3, 4], "x": 5, "y": 3}, + {"matrix": [3, 5], "x": 6, "y": 3}, + {"matrix": [3, 6], "x": 7, "y": 3}, + {"matrix": [3, 7], "x": 8, "y": 3}, + {"matrix": [3, 8], "x": 9, "y": 3}, + {"matrix": [3, 9], "x": 10, "y": 3}, + {"matrix": [3, 10], "x": 11, "y": 3}, + {"matrix": [3, 11], "x": 12, "y": 3}, + {"matrix": [3, 12], "x": 13, "y": 3}, + {"matrix": [3, 13], "x": 14, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4, 3], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4, 4], "x": 10, "y": 4}, + {"matrix": [4, 5], "x": 11, "y": 4}, + {"matrix": [4, 6], "x": 12, "y": 4}, + {"matrix": [4, 7], "x": 13, "y": 4}, + {"matrix": [4, 8], "x": 14, "y": 4} + ] + } + } +} diff --git a/keyboards/raindrop/keymaps/arrows/keymap.c b/keyboards/raindrop/keymaps/arrows/keymap.c new file mode 100644 index 000000000000..a13614f75118 --- /dev/null +++ b/keyboards/raindrop/keymaps/arrows/keymap.c @@ -0,0 +1,24 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +#define RS_GRV RSFT_T(KC_GRV) +#define RG_DEL RGUI_T(KC_DEL) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_64_ansi( + 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_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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RS_GRV, KC_UP, RG_DEL, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_64_ansi( + QK_BOOT, 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_DEL, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_INS, KC_NO, KC_HOME, KC_END, KC_NO, KC_NO, KC_PGUP, KC_PGDN, KC_NO, KC_SCRL, KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_RSFT, KC_NO, KC_RGUI, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO + ) +}; diff --git a/keyboards/raindrop/keymaps/default/keymap.c b/keyboards/raindrop/keymaps/default/keymap.c new file mode 100644 index 000000000000..8456863bb0d4 --- /dev/null +++ b/keyboards/raindrop/keymaps/default/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_ansi( + 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_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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LCTL, KC_LGUI, KC_LALT, LT(1, KC_SPC), KC_RALT, KC_RGUI, KC_APP, KC_RCTL + ), + [1] = LAYOUT_60_ansi( + QK_BOOT, 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_DEL, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_INS, KC_NO, KC_HOME, KC_END, KC_NO, KC_NO, KC_PGUP, KC_PGDN, KC_NO, KC_SCRL, KC_NO, KC_NO, + KC_TRNS, KC_NO, KC_NO, KC_NO, KC_PSCR, KC_NO, KC_NO, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/raindrop/keymaps/hhkb/keymap.c b/keyboards/raindrop/keymaps/hhkb/keymap.c new file mode 100644 index 000000000000..b08984c9aa75 --- /dev/null +++ b/keyboards/raindrop/keymaps/hhkb/keymap.c @@ -0,0 +1,21 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_60_hhkb( + 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_GRV, + 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_LSFT, 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_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), + KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI + ), + [1] = LAYOUT_60_hhkb( + QK_BOOT, 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_NO, KC_NO, + KC_NO, KC_NO, KC_PSCR, KC_SCRL, KC_PAUS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_INS, KC_HOME, KC_PGUP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/raindrop/readme.md b/keyboards/raindrop/readme.md new file mode 100644 index 000000000000..2741cfafa75f --- /dev/null +++ b/keyboards/raindrop/readme.md @@ -0,0 +1,38 @@ +# Raindrop + +![stacked](https://i.imgur.com/R2iPqjIh.png) +*Casing* +![PCB Front](https://i.imgur.com/00TpL3nh.png) +*PCB Front* + +60% sized keyboard with a gasket mounted plate and aluminium case, made by Laneware Peripherals. + +* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware) +* Hardware Supported: Raindrop PCB +* Hardware Availability: Group Buy + +## Layouts +The Raindrop PCB can be configured in the following key layouts: +| Key Layout | Keymap | Diagram | +| :---: | :---: | :---: | +| Standard 60% | default | ![diagram_ansi](https://i.imgur.com/oibG44o.png) | +| 2u Left Shift with Arrow Keys | arrows | ![diagram_arrows](https://i.imgur.com/cQ4Kwb5h.png) | +| HHKB with 6.25 Spacebar | hhkb | ![diagram_hhkb](https://i.imgur.com/WU6gb1Qh.png) | + +Make example for this keyboard (after setting up your build environment): + + make raindrop:default + +Flashing example for this keyboard: + + make raindrop:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/raindrop/rules.mk b/keyboards/raindrop/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 From a0c99e34312e83c59066a69147a902958966ba05 Mon Sep 17 00:00:00 2001 From: gskygithub <106651989+gskygithub@users.noreply.github.com> Date: Sat, 12 Aug 2023 16:49:47 +0800 Subject: [PATCH 27/65] [Keyboard] Add Projectd/65/Projectd_65_ansi (#21520) Co-authored-by: Ryan Co-authored-by: gksygithub <106651989+gksygithub@users.noreply.github.com> --- .../projectd/65/projectd_65_ansi/config.h | 42 ++++ .../projectd/65/projectd_65_ansi/halconf.h | 23 ++ .../projectd/65/projectd_65_ansi/info.json | 235 ++++++++++++++++++ .../projectd_65_ansi/keymaps/default/keymap.c | 93 +++++++ .../65/projectd_65_ansi/keymaps/via/keymap.c | 93 +++++++ .../65/projectd_65_ansi/keymaps/via/rules.mk | 1 + .../projectd/65/projectd_65_ansi/mcuconf.h | 25 ++ .../65/projectd_65_ansi/projectd_65_ansi.c | 143 +++++++++++ .../projectd/65/projectd_65_ansi/readme.md | 23 ++ .../projectd/65/projectd_65_ansi/rules.mk | 2 + 10 files changed, 680 insertions(+) create mode 100644 keyboards/projectd/65/projectd_65_ansi/config.h create mode 100644 keyboards/projectd/65/projectd_65_ansi/halconf.h create mode 100644 keyboards/projectd/65/projectd_65_ansi/info.json create mode 100644 keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c create mode 100644 keyboards/projectd/65/projectd_65_ansi/keymaps/via/keymap.c create mode 100644 keyboards/projectd/65/projectd_65_ansi/keymaps/via/rules.mk create mode 100644 keyboards/projectd/65/projectd_65_ansi/mcuconf.h create mode 100644 keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c create mode 100644 keyboards/projectd/65/projectd_65_ansi/readme.md create mode 100644 keyboards/projectd/65/projectd_65_ansi/rules.mk diff --git a/keyboards/projectd/65/projectd_65_ansi/config.h b/keyboards/projectd/65/projectd_65_ansi/config.h new file mode 100644 index 000000000000..312a72979f57 --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/config.h @@ -0,0 +1,42 @@ +/* Copyright 2023 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +/* External spi flash */ +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN B14 +#define WEAR_LEVELING_BACKING_SIZE (4 * 1024) + +/* SPI Config for LED Driver */ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN A5 +#define SPI_MOSI_PIN A7 +#define SPI_MISO_PIN A6 + +#define DRIVER_1_CS A15 +#define DRIVER_2_CS B15 +#define DRIVER_1_EN C13 +#define DRIVER_2_EN C13 + +#define DRIVER_COUNT 1 +#define RGB_MATRIX_LED_COUNT 71 diff --git a/keyboards/projectd/65/projectd_65_ansi/halconf.h b/keyboards/projectd/65/projectd_65_ansi/halconf.h new file mode 100644 index 000000000000..64a184eb924e --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2023 Westberry Technology (ChangZhou) Corp., Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/projectd/65/projectd_65_ansi/info.json b/keyboards/projectd/65/projectd_65_ansi/info.json new file mode 100644 index 000000000000..41ac577c8d16 --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/info.json @@ -0,0 +1,235 @@ +{ + "manufacturer": "ProjectD", + "keyboard_name": "ProjectD 65% ANSI", + "maintainer": "Gsky", + "bootloader": "wb32-dfu", + "bootmagic": { + "matrix": [1, 3] + }, + "diode_direction": "COL2ROW", + "dynamic_keymap": { + "layer_count": 13 + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["A0", "A1", "A2", "A3", "A4", "A8", "A9", "A10"], + "rows": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8"] + }, + "processor": "WB32FQ95", + "qmk": { + "tap_keycode_delay": 10 + }, + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "center_point": [76, 25], + "driver": "AW20216", + "layout": [ + { "flags": 4, "matrix": [1, 3], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [1, 7], "x": 10, "y": 0 }, + { "flags": 4, "matrix": [2, 7], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [3, 7], "x": 30, "y": 0 }, + { "flags": 4, "matrix": [4, 7], "x": 40, "y": 0 }, + { "flags": 4, "matrix": [4, 6], "x": 50, "y": 0 }, + { "flags": 4, "matrix": [5, 6], "x": 60, "y": 0 }, + { "flags": 4, "matrix": [5, 7], "x": 70, "y": 0 }, + { "flags": 4, "matrix": [6, 7], "x": 80, "y": 0 }, + { "flags": 4, "matrix": [7, 7], "x": 90, "y": 0 }, + { "flags": 4, "matrix": [8, 7], "x": 100, "y": 0 }, + { "flags": 4, "matrix": [8, 6], "x": 110, "y": 0 }, + { "flags": 4, "matrix": [6, 6], "x": 120, "y": 0 }, + { "flags": 4, "matrix": [7, 1], "x": 130, "y": 0 }, + { "flags": 4, "matrix": [2, 3], "x": 150, "y": 0 }, + { "flags": 4, "matrix": [1, 1], "x": 0, "y": 10 }, + { "flags": 4, "matrix": [1, 0], "x": 15, "y": 10 }, + { "flags": 4, "matrix": [2, 0], "x": 25, "y": 10 }, + { "flags": 4, "matrix": [3, 0], "x": 35, "y": 10 }, + { "flags": 4, "matrix": [4, 0], "x": 45, "y": 10 }, + { "flags": 4, "matrix": [4, 1], "x": 55, "y": 10 }, + { "flags": 4, "matrix": [5, 1], "x": 65, "y": 10 }, + { "flags": 4, "matrix": [5, 0], "x": 75, "y": 10 }, + { "flags": 4, "matrix": [6, 0], "x": 85, "y": 10 }, + { "flags": 4, "matrix": [7, 0], "x": 95, "y": 10 }, + { "flags": 4, "matrix": [8, 0], "x": 105, "y": 10 }, + { "flags": 4, "matrix": [8, 1], "x": 115, "y": 10 }, + { "flags": 4, "matrix": [6, 1], "x": 125, "y": 10 }, + { "flags": 4, "matrix": [7, 5], "x": 135, "y": 10 }, + { "flags": 4, "matrix": [7, 3], "x": 150, "y": 10 }, + { "flags": 1, "matrix": [2, 1], "x": 0, "y": 20 }, + { "flags": 4, "matrix": [1, 2], "x": 17.5, "y": 20 }, + { "flags": 4, "matrix": [2, 2], "x": 27.5, "y": 20 }, + { "flags": 4, "matrix": [3, 2], "x": 37.5, "y": 20 }, + { "flags": 4, "matrix": [4, 2], "x": 47.5, "y": 20 }, + { "flags": 4, "matrix": [4, 3], "x": 57.5, "y": 20 }, + { "flags": 4, "matrix": [5, 3], "x": 67.5, "y": 20 }, + { "flags": 4, "matrix": [5, 2], "x": 77.5, "y": 20 }, + { "flags": 4, "matrix": [6, 2], "x": 87.5, "y": 20 }, + { "flags": 4, "matrix": [7, 2], "x": 97.5, "y": 20 }, + { "flags": 4, "matrix": [8, 2], "x": 107.5, "y": 20 }, + { "flags": 4, "matrix": [8, 3], "x": 117.5, "y": 20 }, + { "flags": 4, "matrix": [8, 4], "x": 127.5, "y": 20 }, + { "flags": 4, "matrix": [2, 6], "x": 150, "y": 20 }, + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 30 }, + { "flags": 4, "matrix": [1, 4], "x": 22.5, "y": 30 }, + { "flags": 4, "matrix": [2, 4], "x": 32.5, "y": 30 }, + { "flags": 4, "matrix": [3, 4], "x": 42.5, "y": 30 }, + { "flags": 4, "matrix": [4, 4], "x": 52.5, "y": 30 }, + { "flags": 4, "matrix": [4, 5], "x": 62.5, "y": 30 }, + { "flags": 4, "matrix": [5, 5], "x": 72.5, "y": 30 }, + { "flags": 4, "matrix": [5, 4], "x": 82.5, "y": 30 }, + { "flags": 4, "matrix": [6, 4], "x": 92.5, "y": 30 }, + { "flags": 4, "matrix": [7, 4], "x": 102.5, "y": 30 }, + { "flags": 4, "matrix": [8, 5], "x": 112.5, "y": 30 }, + { "flags": 4, "matrix": [0, 7], "x": 122.5, "y": 30 }, + { "flags": 4, "matrix": [1, 6], "x": 140, "y": 30 }, + { "flags": 4, "matrix": [6, 3], "x": 150, "y": 30 }, + { "flags": 4, "matrix": [0, 6], "x": 0, "y": 40 }, + { "flags": 4, "matrix": [0, 5], "x": 12.5, "y": 40 }, + { "flags": 4, "matrix": [0, 2], "x": 25, "y": 40 }, + { "flags": 4, "x": 61.5, "y": 40 }, + { "flags": 4, "x": 62.5, "y": 40 }, + { "flags": 4, "matrix": [0, 1], "x": 65, "y": 40 }, + { "flags": 4, "x": 67.5, "y": 40 }, + { "flags": 4, "x": 68.5, "y": 40 }, + { "flags": 4, "matrix": [3, 6], "x": 100, "y": 40 }, + { "flags": 4, "matrix": [3, 3], "x": 112.5, "y": 40 }, + { "flags": 4, "matrix": [0, 3], "x": 130, "y": 40 }, + { "flags": 4, "matrix": [1, 5], "x": 140, "y": 40 }, + { "flags": 4, "matrix": [2, 5], "x": 150, "y": 40 } + ] + }, + "url": "", + "usb": { + "device_version": "0.0.4", + "pid": "0x5319", + "vid": "0x3233" + }, + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "community_layouts": ["65_ansi_blocker"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + { "label": "Esc", "matrix": [1, 3], "x": 0, "y": 0 }, + { "label": "1", "matrix": [1, 7], "x": 1, "y": 0 }, + { "label": "2", "matrix": [2, 7], "x": 2, "y": 0 }, + { "label": "3", "matrix": [3, 7], "x": 3, "y": 0 }, + { "label": "4", "matrix": [4, 7], "x": 4, "y": 0 }, + { "label": "5", "matrix": [4, 6], "x": 5, "y": 0 }, + { "label": "6", "matrix": [5, 6], "x": 6, "y": 0 }, + { "label": "7", "matrix": [5, 7], "x": 7, "y": 0 }, + { "label": "8", "matrix": [6, 7], "x": 8, "y": 0 }, + { "label": "9", "matrix": [7, 7], "x": 9, "y": 0 }, + { "label": "0", "matrix": [8, 7], "x": 10, "y": 0 }, + { "label": "-", "matrix": [8, 6], "x": 11, "y": 0 }, + { "label": "=", "matrix": [6, 6], "x": 12, "y": 0 }, + { "label": "Backspace", "matrix": [7, 1], "w": 2, "x": 13, "y": 0 }, + { "label": "Del", "matrix": [2, 3], "x": 15, "y": 0 }, + { "label": "Tab", "matrix": [1, 1], "w": 1.5, "x": 0, "y": 1 }, + { "label": "Q", "matrix": [1, 0], "x": 1.5, "y": 1 }, + { "label": "W", "matrix": [2, 0], "x": 2.5, "y": 1 }, + { "label": "E", "matrix": [3, 0], "x": 3.5, "y": 1 }, + { "label": "R", "matrix": [4, 0], "x": 4.5, "y": 1 }, + { "label": "T", "matrix": [4, 1], "x": 5.5, "y": 1 }, + { "label": "Y", "matrix": [5, 1], "x": 6.5, "y": 1 }, + { "label": "U", "matrix": [5, 0], "x": 7.5, "y": 1 }, + { "label": "I", "matrix": [6, 0], "x": 8.5, "y": 1 }, + { "label": "O", "matrix": [7, 0], "x": 9.5, "y": 1 }, + { "label": "P", "matrix": [8, 0], "x": 10.5, "y": 1 }, + { "label": "[", "matrix": [8, 1], "x": 11.5, "y": 1 }, + { "label": "]", "matrix": [6, 1], "x": 12.5, "y": 1 }, + { "label": "\\", "matrix": [7, 5], "w": 1.5, "x": 13.5, "y": 1 }, + { "label": "PGUP", "matrix": [7, 3], "x": 15, "y": 1 }, + { "label": "Caps Lock", "matrix": [2, 1], "w": 1.75, "x": 0, "y": 2 }, + { "label": "A", "matrix": [1, 2], "x": 1.75, "y": 2 }, + { "label": "S", "matrix": [2, 2], "x": 2.75, "y": 2 }, + { "label": "D", "matrix": [3, 2], "x": 3.75, "y": 2 }, + { "label": "F", "matrix": [4, 2], "x": 4.75, "y": 2 }, + { "label": "G", "matrix": [4, 3], "x": 5.75, "y": 2 }, + { "label": "H", "matrix": [5, 3], "x": 6.75, "y": 2 }, + { "label": "J", "matrix": [5, 2], "x": 7.75, "y": 2 }, + { "label": "K", "matrix": [6, 2], "x": 8.75, "y": 2 }, + { "label": "L", "matrix": [7, 2], "x": 9.75, "y": 2 }, + { "label": ";", "matrix": [8, 2], "x": 10.75, "y": 2 }, + { "label": "'", "matrix": [8, 3], "x": 11.75, "y": 2 }, + { "label": "Enter", "matrix": [8, 4], "w": 2.25, "x": 12.75, "y": 2 }, + { "label": "PGDN", "matrix": [2, 6], "x": 15, "y": 2 }, + { "label": "LShift", "matrix": [0, 0], "w": 2.25, "x": 0, "y": 3 }, + { "label": "Z", "matrix": [1, 4], "x": 2.25, "y": 3 }, + { "label": "X", "matrix": [2, 4], "x": 3.25, "y": 3 }, + { "label": "C", "matrix": [3, 4], "x": 4.25, "y": 3 }, + { "label": "V", "matrix": [4, 4], "x": 5.25, "y": 3 }, + { "label": "B", "matrix": [4, 5], "x": 6.25, "y": 3 }, + { "label": "N", "matrix": [5, 5], "x": 7.25, "y": 3 }, + { "label": "M", "matrix": [5, 4], "x": 8.25, "y": 3 }, + { "label": ",", "matrix": [6, 4], "x": 9.25, "y": 3 }, + { "label": ".", "matrix": [7, 4], "x": 10.25, "y": 3 }, + { "label": "/", "matrix": [8, 5], "x": 11.25, "y": 3 }, + { "label": "RShift", "matrix": [0, 7], "w": 1.75, "x": 12.25, "y": 3 }, + { "label": "Up", "matrix": [1, 6], "x": 14, "y": 3 }, + { "label": "End", "matrix": [6, 3], "x": 15, "y": 3 }, + { "label": "LCtrl", "matrix": [0, 6], "w": 1.25, "x": 0, "y": 4 }, + { "label": "LWin", "matrix": [0, 5], "w": 1.25, "x": 1.25, "y": 4 }, + { "label": "LAlt", "matrix": [0, 2], "w": 1.25, "x": 2.5, "y": 4 }, + { "label": "Space", "matrix": [0, 1], "w": 6.25, "x": 3.75, "y": 4 }, + { "label": "RAlt", "matrix": [3, 6], "w": 1.25, "x": 10, "y": 4 }, + { "label": "FN", "matrix": [3, 3], "w": 1.25, "x": 11.25, "y": 4 }, + { "label": "Left", "matrix": [0, 3], "x": 13, "y": 4 }, + { "label": "Down", "matrix": [1, 5], "x": 14, "y": 4 }, + { "label": "Right", "matrix": [2, 5], "x": 15, "y": 4 } + ] + } + } +} diff --git a/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c b/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c new file mode 100644 index 000000000000..e7a34d3467d7 --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/keymaps/default/keymap.c @@ -0,0 +1,93 @@ +/* Copyright 2023 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +enum my_keycodes { + RGB_R = QK_USER, + RGB_G, + RGB_B, + RGB_W, + SW_cy, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch (keycode) { + + case RGB_R: + if (record->event.pressed) { + rgb_matrix_sethsv(0, 255, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case RGB_G: + if (record->event.pressed) { + rgb_matrix_sethsv(85, 255, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case RGB_B: + if (record->event.pressed) { + rgb_matrix_sethsv(170, 255, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case RGB_W: + if (record->event.pressed) { + rgb_matrix_sethsv(0, 0, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case SW_cy: + rgb_matrix_sethsv(0, 255, 255); + rgb_matrix_mode(13); + return false; /* Skip all further processing of this key */ + + + default: + return true; /* Process all other keycodes normally */ + } +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[0] = LAYOUT( + QK_GESC, 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_DEL, + 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_PGUP, + 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_PGDN, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), +[1] = LAYOUT( + 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_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), +[2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_R, RGB_G, RGB_B, RGB_W, SW_cy, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; \ No newline at end of file diff --git a/keyboards/projectd/65/projectd_65_ansi/keymaps/via/keymap.c b/keyboards/projectd/65/projectd_65_ansi/keymaps/via/keymap.c new file mode 100644 index 000000000000..035c038b7411 --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/keymaps/via/keymap.c @@ -0,0 +1,93 @@ +/* Copyright 2023 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +enum my_keycodes { + RGB_R = QK_USER, + RGB_G, + RGB_B, + RGB_W, + SW_cy, +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + + switch (keycode) { + + case RGB_R: + if (record->event.pressed) { + rgb_matrix_sethsv(0, 255, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case RGB_G: + if (record->event.pressed) { + rgb_matrix_sethsv(85, 255, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case RGB_B: + if (record->event.pressed) { + rgb_matrix_sethsv(170, 255, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case RGB_W: + if (record->event.pressed) { + rgb_matrix_sethsv(0, 0, 255); + rgb_matrix_mode(1); + } + return false; /* Skip all further processing of this key */ + + case SW_cy: + rgb_matrix_sethsv(0, 255, 255); + rgb_matrix_mode(13); + return false; /* Skip all further processing of this key */ + + + default: + return true; /* Process all other keycodes normally */ + } +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Keymap _BL: Base Layer (Default Layer) + */ +[0] = LAYOUT( + QK_GESC, 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_DEL, + 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_PGUP, + 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_PGDN, + 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, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), +[1] = LAYOUT( + 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_DEL, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), +[2] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_R, RGB_G, RGB_B, RGB_W, SW_cy, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), +}; diff --git a/keyboards/projectd/65/projectd_65_ansi/keymaps/via/rules.mk b/keyboards/projectd/65/projectd_65_ansi/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/projectd/65/projectd_65_ansi/mcuconf.h b/keyboards/projectd/65/projectd_65_ansi/mcuconf.h new file mode 100644 index 000000000000..e4b8d1f97328 --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright (C) 2023 Westberry Technology (ChangZhou) Corp., Ltd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include_next + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + +#undef WB32_SPI_USE_SPIM2 +#define WB32_SPI_USE_SPIM2 TRUE diff --git a/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c b/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c new file mode 100644 index 000000000000..6027128a96ef --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/projectd_65_ansi.c @@ -0,0 +1,143 @@ +/* Copyright 2023 GSKY + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE + +const aw_led g_aw_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + //{0, CS1_SW4, CS2_SW4, CS3_SW4}, // 0, Esc + + {0, CS1_SW1, CS2_SW1, CS3_SW1}, // 0, Esc + {0, CS4_SW2, CS5_SW2, CS6_SW2}, // 1, 1 + {0, CS4_SW3, CS5_SW3, CS6_SW3}, // 2, 2 + {0, CS4_SW4, CS5_SW4, CS6_SW4}, // 3, 3 + {0, CS4_SW5, CS5_SW5, CS6_SW5}, // 4, 4 + {0, CS4_SW6, CS5_SW6, CS6_SW6}, // 5, 5 + {0, CS4_SW7, CS5_SW7, CS6_SW7}, // 6, 6 + {0, CS4_SW8, CS5_SW8, CS6_SW8}, // 7, 7 + {0, CS4_SW9, CS5_SW9, CS6_SW9}, // 8, 8 + {0, CS4_SW10, CS5_SW10, CS6_SW10}, // 9, 9 + {0, CS4_SW11, CS5_SW11, CS6_SW11}, // 10, 0 + {0, CS4_SW12, CS5_SW12, CS6_SW12}, // 11, - + {0, CS1_SW9, CS2_SW9, CS3_SW9}, // 12, = + {0, CS1_SW10, CS2_SW10, CS3_SW10}, // 13, Backspace + {0, CS1_SW5, CS2_SW5, CS3_SW5}, // 14, Del + + {0, CS4_SW1, CS5_SW1, CS6_SW1}, // 15, Tab + {0, CS7_SW2, CS8_SW2, CS9_SW2}, // 16, Q + {0, CS7_SW3, CS8_SW3, CS9_SW3}, // 17, W + {0, CS7_SW4, CS8_SW4, CS9_SW4}, // 18, E + {0, CS7_SW5, CS8_SW5, CS9_SW5}, // 19, R + {0, CS7_SW6, CS8_SW6, CS9_SW6}, // 20, T + {0, CS7_SW7, CS8_SW7, CS9_SW7}, // 21, Y + {0, CS7_SW8, CS8_SW8, CS9_SW8}, // 22, U + {0, CS7_SW9, CS8_SW9, CS9_SW9}, // 23, I + {0, CS7_SW10, CS8_SW10, CS9_SW10}, // 24, O + {0, CS7_SW11, CS8_SW11, CS9_SW11}, // 25, P + {0, CS7_SW12, CS8_SW12, CS9_SW12}, // 26, [ + {0, CS1_SW11, CS2_SW11, CS3_SW11}, // 27, ] + {0, CS1_SW12, CS2_SW12, CS3_SW12}, // 28, "\\" + {0, CS1_SW4, CS2_SW4, CS3_SW4}, // 29, PGUP + + {0, CS7_SW1, CS8_SW1, CS9_SW1}, // 30, CapsLock + {0, CS10_SW2, CS11_SW2, CS12_SW2}, // 31, A + {0, CS10_SW3, CS11_SW3, CS12_SW3}, // 32, S + {0, CS10_SW4, CS11_SW4, CS12_SW4}, // 33, D + {0, CS10_SW5, CS11_SW5, CS12_SW5}, // 34, F + {0, CS10_SW6, CS11_SW6, CS12_SW6}, // 35, G + {0, CS10_SW7, CS11_SW7, CS12_SW7}, // 36, H + {0, CS10_SW8, CS11_SW8, CS12_SW8}, // 37, J + {0, CS10_SW9, CS11_SW9, CS12_SW9}, // 38, K + {0, CS10_SW10, CS11_SW10, CS12_SW10}, // 39, L + {0, CS10_SW11, CS11_SW11, CS12_SW11}, // 40, ; + {0, CS10_SW12, CS11_SW12, CS12_SW12}, // 41, ' + {0, CS13_SW12, CS14_SW12, CS15_SW12}, // 42, Enter + {0, CS1_SW7, CS2_SW7, CS3_SW7}, // 43, PGDN + + {0, CS10_SW1, CS11_SW1, CS12_SW1}, // 44, LShift + {0, CS13_SW2, CS14_SW2, CS15_SW2}, // 45, Z + {0, CS13_SW3, CS14_SW3, CS15_SW3}, // 46, X + {0, CS13_SW4, CS14_SW4, CS15_SW4}, // 47, C + {0, CS13_SW5, CS14_SW5, CS15_SW5}, // 48, V + {0, CS13_SW6, CS14_SW6, CS15_SW6}, // 49, B + {0, CS13_SW7, CS14_SW7, CS15_SW7}, // 50, N + {0, CS13_SW8, CS14_SW8, CS15_SW8}, // 51, M + {0, CS13_SW9, CS14_SW9, CS15_SW9}, // 52, , + {0, CS13_SW10, CS14_SW10, CS15_SW10}, // 53, . + {0, CS13_SW11, CS14_SW11, CS15_SW11}, // 54, / + {0, CS16_SW8, CS17_SW8, CS18_SW8}, // 55, RShift + {0, CS16_SW9, CS17_SW9, CS18_SW9}, // 56, Up + {0, CS1_SW6, CS2_SW6, CS3_SW6}, // 57, END + + {0, CS16_SW1, CS17_SW1, CS18_SW1}, // 58, LCtrl + {0, CS16_SW2, CS17_SW2, CS18_SW2}, // 59, LWin + {0, CS16_SW3, CS17_SW3, CS18_SW3}, // 60, LAlt + {0, CS1_SW2, CS2_SW2, CS3_SW2}, // 61, LED71 + {0, CS1_SW3, CS2_SW3, CS3_SW3}, // 62, LED72 + {0, CS16_SW4, CS17_SW4, CS18_SW4}, // 63, Space + {0, CS16_SW7, CS17_SW7, CS18_SW7}, // 64, LED73 + {0, CS1_SW8, CS2_SW8, CS3_SW8}, // 65, LED74 + {0, CS16_SW5, CS17_SW5, CS18_SW5}, // 66, RAlt + {0, CS16_SW6, CS17_SW6, CS18_SW6}, // 67, FN + + {0, CS16_SW10, CS17_SW10, CS18_SW10}, // 68, Left + {0, CS16_SW11, CS17_SW11, CS18_SW11}, // 69, Down + {0, CS16_SW12, CS17_SW12, CS18_SW12}, // 70, Right + +}; + +#endif + +#ifdef EEPROM_ENABLE + +#include "spi_master.h" + +void spi_init(void) { + static bool is_initialised = false; + if (!is_initialised) { + is_initialised = true; + + // Try releasing special pins for a short time + setPinInput(SPI_SCK_PIN); + setPinInput(SPI_MOSI_PIN); + setPinInput(SPI_MISO_PIN); + + chThdSleepMilliseconds(10); + + palSetPadMode(PAL_PORT(SPI_SCK_PIN), PAL_PAD(SPI_SCK_PIN), PAL_MODE_ALTERNATE(SPI_SCK_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST | PAL_WB32_CURRENT_LEVEL3); + palSetPadMode(PAL_PORT(SPI_MOSI_PIN), PAL_PAD(SPI_MOSI_PIN), PAL_MODE_ALTERNATE(SPI_MOSI_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); + palSetPadMode(PAL_PORT(SPI_MISO_PIN), PAL_PAD(SPI_MISO_PIN), PAL_MODE_ALTERNATE(SPI_MISO_PAL_MODE) | PAL_OUTPUT_TYPE_PUSHPULL | PAL_OUTPUT_SPEED_HIGHEST); + } +} + +#endif + +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (!rgb_matrix_indicators_advanced_user(led_min, led_max)) { + return false; +} + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(30, 255, 255, 255); // assuming caps lock is at led #30 + } + return false; +} diff --git a/keyboards/projectd/65/projectd_65_ansi/readme.md b/keyboards/projectd/65/projectd_65_ansi/readme.md new file mode 100644 index 000000000000..56e7e4d5591d --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/readme.md @@ -0,0 +1,23 @@ +# ProjectD 65% ANSI + +A 65% keyboard, Equipped with the WestBerry Q95 microcontroller. + +* Keyboard Maintainer: [GSKY](https://github.com/gksygithub) +* Hardware Supported: projectd_65_ansi +* Hardware Availability: [GSKY](https://github.com/gksygithub/projectd_65_ansi) + +Make example for this keyboard (after setting up your build environment): + + make projectd/65/projectd_65_ansi:default + +Flashing example for this keyboard: + + make projectd/65/projectd_65_ansi:default:flash + +To reset the board into bootloader mode, do one of the following: + +* Hold the Reset switch mounted under the space key after the USB cable is connected +* Hold the Esc key while connecting the USB cable (also erases persistent settings) +* Fn+Alt+Tab will reset the board to bootloader mode + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/projectd/65/projectd_65_ansi/rules.mk b/keyboards/projectd/65/projectd_65_ansi/rules.mk new file mode 100644 index 000000000000..24d5f6f52ecc --- /dev/null +++ b/keyboards/projectd/65/projectd_65_ansi/rules.mk @@ -0,0 +1,2 @@ +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash From 3831407da9e63be833098afb96e7147e7b0d6940 Mon Sep 17 00:00:00 2001 From: Brian McKenna Date: Sat, 12 Aug 2023 14:22:11 +0530 Subject: [PATCH 28/65] [Keymap] Add Via keymap for CXT Studio (#21675) --- keyboards/cxt_studio/info.json | 4 +-- keyboards/cxt_studio/keymaps/via/keymap.c | 38 +++++++++++++++++++++++ keyboards/cxt_studio/keymaps/via/rules.mk | 3 ++ 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 keyboards/cxt_studio/keymaps/via/keymap.c create mode 100644 keyboards/cxt_studio/keymaps/via/rules.mk diff --git a/keyboards/cxt_studio/info.json b/keyboards/cxt_studio/info.json index 036794843046..07b5ff17ea9d 100644 --- a/keyboards/cxt_studio/info.json +++ b/keyboards/cxt_studio/info.json @@ -50,8 +50,8 @@ "url": "", "usb": { "device_version": "1.0.0", - "pid": "0x0000", - "vid": "0xFEED" + "pid": "0xC401", + "vid": "0x5754" }, "layouts": { "LAYOUT": { diff --git a/keyboards/cxt_studio/keymaps/via/keymap.c b/keyboards/cxt_studio/keymaps/via/keymap.c new file mode 100644 index 000000000000..1d58a60471c7 --- /dev/null +++ b/keyboards/cxt_studio/keymaps/via/keymap.c @@ -0,0 +1,38 @@ +/* Copyright 2023 Brian McKenna + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, KC_F11, KC_NO, KC_MSTP, + KC_NO, KC_NO, KC_MRWD, KC_MFFD, + KC_NO, KC_MPLY, KC_MPLY, KC_MNXT, + + KC_MUTE, KC_NO, KC_NO, RGB_TOG + ) +}; + +#if defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { + ENCODER_CCW_CW(KC_VOLD, KC_VOLU), + ENCODER_CCW_CW(RGB_HUD, RGB_HUI), + ENCODER_CCW_CW(RGB_VAD, RGB_VAI), + ENCODER_CCW_CW(RGB_MODE_REVERSE, RGB_MODE_FORWARD) + }, +}; +#endif // defined(ENCODER_ENABLE) && defined(ENCODER_MAP_ENABLE) diff --git a/keyboards/cxt_studio/keymaps/via/rules.mk b/keyboards/cxt_studio/keymaps/via/rules.mk new file mode 100644 index 000000000000..70cf4224c01f --- /dev/null +++ b/keyboards/cxt_studio/keymaps/via/rules.mk @@ -0,0 +1,3 @@ +VIA_ENABLE = yes +ENCODER_MAP_ENABLE = yes +LTO_ENABLE = yes From e4e90fa113fed9f91e6b7ae2e9970ba320f60bb7 Mon Sep 17 00:00:00 2001 From: spbgzh <72414103+spbgzh@users.noreply.github.com> Date: Sat, 12 Aug 2023 16:53:28 +0800 Subject: [PATCH 29/65] [Keyboard] fix json for nemui65 (#21629) --- keyboards/wuque/nemui65/info.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/wuque/nemui65/info.json b/keyboards/wuque/nemui65/info.json index b56df19efd98..65cfebf9b40d 100644 --- a/keyboards/wuque/nemui65/info.json +++ b/keyboards/wuque/nemui65/info.json @@ -14,10 +14,10 @@ "features": { "bootmagic": true, "command": false, - "console": false + "console": false, "extrakey": true, "mousekey": true, - "nkro": true + "nkro": true, "rbglight": true }, "diode_direction": "COL2ROW", From 6f638572d82ed8cdbcfd447b56e0610d7092b856 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sat, 12 Aug 2023 09:54:20 +0100 Subject: [PATCH 30/65] [Keyboard] Update USB settings for dactyl_maximus (#21666) --- keyboards/handwired/dactyl_maximus/info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/dactyl_maximus/info.json b/keyboards/handwired/dactyl_maximus/info.json index 424fde95622a..1d3c9443f313 100644 --- a/keyboards/handwired/dactyl_maximus/info.json +++ b/keyboards/handwired/dactyl_maximus/info.json @@ -4,9 +4,9 @@ "url": "", "maintainer": "dunk2k", "usb": { - "vid": "0x444D", - "pid": "0x3536", - "device_version": "0.0.1" + "vid": "0x444C", + "pid": "0xA57B", + "device_version": "1.0.0" }, "features": { "bootmagic": true, From 8d0e9e00c1399cfb0cd60c301602ba328134ca5f Mon Sep 17 00:00:00 2001 From: "jonylee@hfd" <108282809+jonylee1986@users.noreply.github.com> Date: Sun, 13 Aug 2023 02:13:08 +0800 Subject: [PATCH 31/65] [Keyboard] Add mk47 keyboard (#19797) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Joel Challis Co-authored-by: Joy Co-authored-by: Joy Lee --- keyboards/inland/mk47/config.h | 40 +++++ keyboards/inland/mk47/halconf.h | 23 +++ keyboards/inland/mk47/info.json | 159 ++++++++++++++++++ .../inland/mk47/keymaps/default/keymap.c | 41 +++++ keyboards/inland/mk47/keymaps/inland/keymap.c | 40 +++++ keyboards/inland/mk47/keymaps/inland/rules.mk | 1 + keyboards/inland/mk47/keymaps/via/keymap.c | 41 +++++ keyboards/inland/mk47/keymaps/via/rules.mk | 1 + keyboards/inland/mk47/mcuconf.h | 25 +++ keyboards/inland/mk47/mk47.c | 92 ++++++++++ keyboards/inland/mk47/readme.md | 24 +++ keyboards/inland/mk47/rules.mk | 2 + 12 files changed, 489 insertions(+) create mode 100644 keyboards/inland/mk47/config.h create mode 100644 keyboards/inland/mk47/halconf.h create mode 100644 keyboards/inland/mk47/info.json create mode 100644 keyboards/inland/mk47/keymaps/default/keymap.c create mode 100644 keyboards/inland/mk47/keymaps/inland/keymap.c create mode 100644 keyboards/inland/mk47/keymaps/inland/rules.mk create mode 100644 keyboards/inland/mk47/keymaps/via/keymap.c create mode 100644 keyboards/inland/mk47/keymaps/via/rules.mk create mode 100644 keyboards/inland/mk47/mcuconf.h create mode 100644 keyboards/inland/mk47/mk47.c create mode 100644 keyboards/inland/mk47/readme.md create mode 100644 keyboards/inland/mk47/rules.mk diff --git a/keyboards/inland/mk47/config.h b/keyboards/inland/mk47/config.h new file mode 100644 index 000000000000..678686555ab9 --- /dev/null +++ b/keyboards/inland/mk47/config.h @@ -0,0 +1,40 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* SPI Config for spi flash*/ +#define SPI_DRIVER SPIDQ +#define SPI_SCK_PIN B3 +#define SPI_MOSI_PIN B5 +#define SPI_MISO_PIN B4 + +#define EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN C12 +#define WEAR_LEVELING_BACKING_SIZE (4 * 1024) + +/* I2C Config for LED Driver */ +#define DRIVER_COUNT 1 +#define DRIVER_ADDR_1 0b1110100 +/* WB32 MCU has no default definition */ +#define I2C1_OPMODE OPMODE_I2C +#define I2C1_CLOCK_SPEED 400000 + +#define RGB_MATRIX_LED_COUNT 47 +#define RGB_DISABLE_WHEN_USB_SUSPENDED + +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_KEYPRESSES + diff --git a/keyboards/inland/mk47/halconf.h b/keyboards/inland/mk47/halconf.h new file mode 100644 index 000000000000..55bfe5c97794 --- /dev/null +++ b/keyboards/inland/mk47/halconf.h @@ -0,0 +1,23 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#define HAL_USE_I2C TRUE +#define HAL_USE_SPI TRUE +#define SPI_USE_WAIT TRUE +#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD + +#include_next diff --git a/keyboards/inland/mk47/info.json b/keyboards/inland/mk47/info.json new file mode 100644 index 000000000000..f88003b27f7f --- /dev/null +++ b/keyboards/inland/mk47/info.json @@ -0,0 +1,159 @@ +{ + "keyboard_name": "MK47", + "manufacturer": "Inland", + "maintainer": "jonylee@hfd", + "url":"", + "usb": { + "vid": "0xFFFE", + "pid": "0x0002", + "device_version": "0.0.1", + "force_nkro": true, + "suspend_wakeup_delay": 1000 + }, + "processor": "WB32FQ95", + "bootloader": "wb32-dfu", + "features": { + "bootmagic": true, + "mousekey": false, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["C1","C2","C3","A0","A1","A2","A3","A4","A5","A6","A7","C4"], + "rows": ["C6", "C7", "C8", "C9"] + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "max_brightness": 200, + "animations": { + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "raindrops": true, + "typing_heatmap": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 41, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 61, "y": 0 }, + { "flags": 4, "matrix": [0, 4], "x": 81, "y": 0 }, + { "flags": 4, "matrix": [0, 5], "x": 102, "y": 0 }, + { "flags": 4, "matrix": [0, 6], "x": 122, "y": 0 }, + { "flags": 4, "matrix": [0, 7], "x": 143, "y": 0 }, + { "flags": 4, "matrix": [0, 8], "x": 163, "y": 0 }, + { "flags": 4, "matrix": [0, 9], "x": 183, "y": 0 }, + { "flags": 4, "matrix": [0, 10], "x": 204, "y": 0 }, + { "flags": 4, "matrix": [0, 11], "x": 224, "y": 0 }, + + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 21}, + { "flags": 4, "matrix": [1, 1], "x": 20, "y": 21}, + { "flags": 4, "matrix": [1, 2], "x": 41, "y": 21}, + { "flags": 4, "matrix": [1, 3], "x": 61, "y": 21}, + { "flags": 4, "matrix": [1, 4], "x": 81, "y": 21}, + { "flags": 4, "matrix": [1, 5], "x": 102, "y": 21}, + { "flags": 4, "matrix": [1, 6], "x": 122, "y": 21}, + { "flags": 4, "matrix": [1, 7], "x": 143, "y": 21}, + { "flags": 4, "matrix": [1, 8], "x": 163, "y": 21}, + { "flags": 4, "matrix": [1, 9], "x": 183, "y": 21}, + { "flags": 4, "matrix": [1, 10], "x": 204, "y": 21}, + { "flags": 4, "matrix": [1, 11], "x": 224, "y": 21}, + + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 42}, + { "flags": 4, "matrix": [2, 1], "x": 20, "y": 42}, + { "flags": 4, "matrix": [2, 2], "x": 41, "y": 42}, + { "flags": 4, "matrix": [2, 3], "x": 61, "y": 42}, + { "flags": 4, "matrix": [2, 4], "x": 81, "y": 42}, + { "flags": 4, "matrix": [2, 5], "x": 102, "y": 42}, + { "flags": 4, "matrix": [2, 6], "x": 122, "y": 42}, + { "flags": 4, "matrix": [2, 7], "x": 143, "y": 42}, + { "flags": 4, "matrix": [2, 8], "x": 163, "y": 42}, + { "flags": 4, "matrix": [2, 9], "x": 183, "y": 42}, + { "flags": 4, "matrix": [2, 10], "x": 204, "y": 42}, + { "flags": 4, "matrix": [2, 11], "x": 224, "y": 42}, + + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 64}, + { "flags": 1, "matrix": [3, 1], "x": 20, "y": 64}, + { "flags": 4, "matrix": [3, 2], "x": 41, "y": 64}, + { "flags": 4, "matrix": [3, 3], "x": 61, "y": 64}, + { "flags": 4, "matrix": [3, 4], "x": 81, "y": 64}, + { "flags": 4, "matrix": [3, 5], "x": 102, "y": 64}, + { "flags": 4, "matrix": [3, 7], "x": 143, "y": 64}, + { "flags": 4, "matrix": [3, 8], "x": 163, "y": 64}, + { "flags": 4, "matrix": [3, 9], "x": 183, "y": 64}, + { "flags": 4, "matrix": [3, 10], "x": 204, "y": 64}, + { "flags": 4, "matrix": [3, 11], "x": 224, "y": 64} + ] + }, + "diode_direction": "ROW2COL", + "layouts": { + "LAYOUT": { + "layout": [ + { "label": "Esc", "matrix": [0, 0],"x": 0, "y": 0 }, + { "label": "Q", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "W", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "E", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "R", "matrix": [0, 4], "x": 4, "y": 0 }, + { "label": "T", "matrix": [0, 5], "x": 5, "y": 0 }, + { "label": "Y", "matrix": [0, 6], "x": 6, "y": 0 }, + { "label": "U", "matrix": [0, 7], "x": 7, "y": 0 }, + { "label": "I", "matrix": [0, 8], "x": 8, "y": 0 }, + { "label": "O", "matrix": [0, 9], "x": 9, "y": 0 }, + { "label": "P", "matrix": [0, 10], "x": 10, "y": 0 }, + { "label": "BackSpace", "matrix": [0, 11], "x": 11, "y": 0 }, + + { "label": "Tab", "matrix": [1, 0], "x": 0, "y": 1 }, + { "label": "A", "matrix": [1, 1], "x": 1, "y": 1 }, + { "label": "S", "matrix": [1, 2], "x": 2, "y": 1 }, + { "label": "D", "matrix": [1, 3], "x": 3, "y": 1 }, + { "label": "F", "matrix": [1, 4], "x": 4, "y": 1 }, + { "label": "G", "matrix": [1, 5], "x": 5, "y": 1 }, + { "label": "H", "matrix": [1, 6], "x": 6, "y": 1 }, + { "label": "J", "matrix": [1, 7], "x": 7, "y": 1 }, + { "label": "K", "matrix": [1, 8], "x": 8, "y": 1 }, + { "label": "L", "matrix": [1, 9], "x": 9, "y": 1 }, + { "label": ":", "matrix": [1, 10], "x": 10, "y": 1 }, + { "label": "Enter", "matrix": [1, 11], "x": 11, "y": 1 }, + + { "label": "Shift", "matrix": [2, 0], "x": 0, "y": 2 }, + { "label": "Z", "matrix": [2, 1], "x": 1, "y": 2 }, + { "label": "X", "matrix": [2, 2], "x": 2, "y": 2 }, + { "label": "C", "matrix": [2, 3], "x": 3, "y": 2 }, + { "label": "V", "matrix": [2, 4], "x": 4, "y": 2 }, + { "label": "B", "matrix": [2, 5], "x": 5, "y": 2 }, + { "label": "N", "matrix": [2, 6], "x": 6, "y": 2 }, + { "label": "M", "matrix": [2, 7], "x": 7, "y": 2 }, + { "label": "<", "matrix": [2, 8], "x": 8, "y": 2 }, + { "label": ">", "matrix": [2, 9], "x": 9, "y": 2 }, + { "label": "Up", "matrix": [2, 10], "x": 10, "y": 2 }, + { "label": "?", "matrix": [2, 11], "x": 11, "y": 2 }, + + { "label": "Ctrl", "matrix": [3, 0], "x": 0, "y": 3 }, + { "label": "Win", "matrix": [3, 1],"x": 1, "y": 3 }, + { "label": "Alt", "matrix": [3, 2],"x": 2, "y": 3 }, + { "label": "Hyper", "matrix": [3, 3], "x": 3, "y": 3 }, + { "label": "Lower", "matrix": [3, 4], "x": 4, "y": 3 }, + { "label": "Space", "matrix": [3, 5], "w": 2, "x": 5, "y": 3 }, + { "label": "Ralse", "matrix": [3, 7], "x": 7, "y": 3 }, + { "label": "Fn", "matrix": [3, 8], "x": 8, "y": 3 }, + { "label": "Left", "matrix": [3, 9], "x": 9, "y": 3 }, + { "label": "Down", "matrix": [3, 10], "x": 10, "y": 3 }, + { "label": "Right", "matrix": [3, 11], "x": 11, "y": 3 } + ] + } + } +} diff --git a/keyboards/inland/mk47/keymaps/default/keymap.c b/keyboards/inland/mk47/keymaps/default/keymap.c new file mode 100644 index 000000000000..f288d4e1feba --- /dev/null +++ b/keyboards/inland/mk47/keymaps/default/keymap.c @@ -0,0 +1,41 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, + KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSTP, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_VAD, KC_TRNS), + + [2] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT) +}; +// clang-format on + diff --git a/keyboards/inland/mk47/keymaps/inland/keymap.c b/keyboards/inland/mk47/keymaps/inland/keymap.c new file mode 100644 index 000000000000..ff5de15c47f3 --- /dev/null +++ b/keyboards/inland/mk47/keymaps/inland/keymap.c @@ -0,0 +1,40 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, + RGB_HUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + + [2] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT) +}; +// clang-format on diff --git a/keyboards/inland/mk47/keymaps/inland/rules.mk b/keyboards/inland/mk47/keymaps/inland/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/inland/mk47/keymaps/inland/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/inland/mk47/keymaps/via/keymap.c b/keyboards/inland/mk47/keymaps/via/keymap.c new file mode 100644 index 000000000000..53cabcc4770e --- /dev/null +++ b/keyboards/inland/mk47/keymaps/via/keymap.c @@ -0,0 +1,41 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [0] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, MO(2), KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, MO(1), KC_LEFT, KC_DOWN, KC_RGHT), + + [1] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, RGB_MOD, + RGB_HUI, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MSEL, KC_MUTE, KC_MPRV, KC_MPLY, KC_MNXT, RGB_VAI, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_SPD, RGB_VAD, RGB_SPI), + + [2] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_CAPS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH, + KC_LCTL, KC_NO, KC_LALT, KC_DEL, KC_PGDN, KC_SPC, KC_PGUP, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT) +}; +// clang-format on + diff --git a/keyboards/inland/mk47/keymaps/via/rules.mk b/keyboards/inland/mk47/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/inland/mk47/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/inland/mk47/mcuconf.h b/keyboards/inland/mk47/mcuconf.h new file mode 100644 index 000000000000..b80eb833d3e2 --- /dev/null +++ b/keyboards/inland/mk47/mcuconf.h @@ -0,0 +1,25 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#pragma once + +#include_next + +#undef WB32_I2C_USE_I2C1 +#define WB32_I2C_USE_I2C1 TRUE + +#undef WB32_SPI_USE_QSPI +#define WB32_SPI_USE_QSPI TRUE + diff --git a/keyboards/inland/mk47/mk47.c b/keyboards/inland/mk47/mk47.c new file mode 100644 index 000000000000..f24785594424 --- /dev/null +++ b/keyboards/inland/mk47/mk47.c @@ -0,0 +1,92 @@ +/* Copyright (C) 2023 jonylee@hfd + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" +#ifdef RGB_MATRIX_ENABLE +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { +/* Refer to IS31 manual for these locations + * driver + * | R location + * | | G location + * | | | B location + * | | | | */ + {0, D_1, E_1, F_1}, + {0, D_2, E_2, F_2}, + {0, D_3, E_3, F_3}, + {0, D_4, E_4, F_4}, + {0, D_5, E_5, F_5}, + {0, D_6, E_6, F_6}, + {0, D_7, E_7, F_7}, + {0, D_8, E_8, F_8}, + {0, D_9, E_9, F_9}, + {0, D_10, E_10, F_10}, + {0, D_11, E_11, F_11}, + {0, D_12, E_12, F_12}, + + {0, G_1, H_1, I_1}, + {0, G_2, H_2, I_2}, + {0, G_3, H_3, I_3}, + {0, G_4, H_4, I_4}, + {0, G_5, H_5, I_5}, + {0, G_6, H_6, I_6}, + {0, G_7, H_7, I_7}, + {0, G_8, H_8, I_8}, + {0, G_9, H_9, I_9}, + {0, G_10, H_10, I_10}, + {0, G_11, H_11, I_11}, + {0, G_12, H_12, I_12}, + + {0, J_1, K_1, L_1}, + {0, J_2, K_2, L_2}, + {0, J_3, K_3, L_3}, + {0, J_4, K_4, L_4}, + {0, J_5, K_5, L_5}, + {0, J_6, K_6, L_6}, + {0, J_7, K_7, L_7}, + {0, J_8, K_8, L_8}, + {0, J_9, K_9, L_9}, + {0, J_10, K_10, L_10}, + {0, J_11, K_11, L_11}, + {0, J_12, K_12, L_12}, + + {0, J_13, K_13, L_13}, + {0, J_14, K_14, L_14}, + {0, J_15, K_15, L_15}, + {0, J_16, K_16, L_16}, + {0, D_13, E_13, F_13}, + {0, D_14, E_14, F_14}, + {0, D_15, E_15, F_15}, + {0, G_13, H_13, I_13}, + {0, G_14, H_14, I_14}, + {0, G_15, H_15, I_15}, + {0, G_16, H_16, I_16}, +}; + +#endif + +#ifdef RGB_MATRIX_ENABLE +bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) { + if (rgb_matrix_indicators_advanced_user(led_min, led_max) != true) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { + RGB_MATRIX_INDICATOR_SET_COLOR(12, 255, 0, 0); + } + + return true; +} +#endif diff --git a/keyboards/inland/mk47/readme.md b/keyboards/inland/mk47/readme.md new file mode 100644 index 000000000000..55b805678b61 --- /dev/null +++ b/keyboards/inland/mk47/readme.md @@ -0,0 +1,24 @@ +# mk47 + +A customizable 40% keyboard. + +* Keyboard Maintainer: [jonylee@hfd](https://github.com/jonylee1986) +* Hardware Supported: mk47 +* Hardware Availability: [Inland](https://www.microcenter.com/product/661264/inland-47-keys-hot-swappable-rgb-wired-mechanical-keyboard,) + +Make example for this keyboard (after setting up your build environment): + + make inland/mk47:default + +Flashing example for this keyboard: + + make inland/mk47:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/inland/mk47/rules.mk b/keyboards/inland/mk47/rules.mk new file mode 100644 index 000000000000..24d5f6f52ecc --- /dev/null +++ b/keyboards/inland/mk47/rules.mk @@ -0,0 +1,2 @@ +EEPROM_DRIVER = wear_leveling +WEAR_LEVELING_DRIVER = spi_flash From e6187b78762f070f142681c125fcf8cad57e56f0 Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Sun, 13 Aug 2023 07:04:16 +0100 Subject: [PATCH 32/65] correct keymap file name for tkl_f13_jis layout (#21631) --- .../tkl_f13_jis/default_tkl_f13_jis/{keymaps.c => keymap.c} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename layouts/default/tkl_f13_jis/default_tkl_f13_jis/{keymaps.c => keymap.c} (100%) diff --git a/layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymaps.c b/layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymap.c similarity index 100% rename from layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymaps.c rename to layouts/default/tkl_f13_jis/default_tkl_f13_jis/keymap.c From 3da773dbdb4a4d5ae56d92d1aefc0851756adcea Mon Sep 17 00:00:00 2001 From: HorrorTroll Date: Mon, 14 Aug 2023 13:12:59 +0700 Subject: [PATCH 33/65] [Keyboard] Refactor Caticorn PCB (#21644) --- .../caticorn/rev1/hotswap/info.json | 11 +- .../rev1/hotswap/keymaps/default/keymap.c | 6 +- .../rev1/hotswap/keymaps/via/config.h | 19 -- .../rev1/hotswap/keymaps/via/keymap.c | 4 +- .../caticorn/rev1/hotswap/readme.md | 6 +- .../caticorn/rev1/hotswap/rules.mk | 17 +- .../caticorn/rev1/solder/info.json | 11 +- .../rev1/solder/keymaps/default/keymap.c | 232 +++--------------- .../caticorn/rev1/solder/keymaps/via/config.h | 19 -- .../caticorn/rev1/solder/keymaps/via/keymap.c | 164 +++---------- .../caticorn/rev1/solder/readme.md | 6 +- .../horrortroll/caticorn/rev1/solder/rules.mk | 17 +- 12 files changed, 107 insertions(+), 405 deletions(-) delete mode 100644 keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h delete mode 100644 keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/info.json b/keyboards/horrortroll/caticorn/rev1/hotswap/info.json index d53b92ee8fbf..ecd3c8a0433d 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/info.json +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/info.json @@ -1,20 +1,27 @@ { "keyboard_name": "Caticorn Hotswap", "manufacturer": "HorrorTroll", - "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", "pid": "0x6002", "device_version": "0.0.1" }, + "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP20", "GP21", "GP16", "GP17", "GP18", "GP19", "GP15", "GP14", "GP13", "GP10", "GP9"], "rows": ["GP7", "GP0", "GP8", "GP25", "GP11", "GP12"] }, - "diode_direction": "COL2ROW", "processor": "RP2040", "bootloader": "rp2040", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, "community_layouts": ["tkl_f13_ansi"], "layouts": { "LAYOUT_tkl_f13_ansi": { diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c index 81ba8347ecb9..06819cffd118 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,8 +26,6 @@ enum layer_names { _FN, }; -// enum layer_keycodes { }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -86,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ Fn │ │ ││ │ │ │ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_FN] = LAYOUT_tkl_f13_ansi( QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, KC_MYCM, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h deleted file mode 100644 index 4a9ae9bdc284..000000000000 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 2 diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c index d98822de17e0..06819cffd118 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -26,8 +26,6 @@ enum layer_names { _FN, }; -// enum layer_keycodes { }; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md b/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md index b9023e8c716e..167fbe4c4aa8 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/readme.md @@ -1,10 +1,12 @@ # Caticorn Hotswap (Rev 1) +![Caticorn](https://i.imgur.com/DPbDtwKh.png) + A TKL keyboard, which controlled by an RP2040 chipset. * Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) * Hardware Supported: RP2040 -* Hardware Availability: Prototype PCB +* Hardware Availability: Private prototype (only 5 PCB available) Make example for this keyboard (after setting up your build environment): @@ -21,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard -* **Physical reset button**: Press and hold the button on the back of the PCB, then plug USB onto PC +* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk b/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk index f8fe1f7dbb3c..6e7633bfe015 100644 --- a/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk +++ b/keyboards/horrortroll/caticorn/rev1/hotswap/rules.mk @@ -1,16 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -# EEPROM driver -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash \ No newline at end of file +# This file intentionally left blank diff --git a/keyboards/horrortroll/caticorn/rev1/solder/info.json b/keyboards/horrortroll/caticorn/rev1/solder/info.json index 30fb0f0eee90..d14278f98943 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/info.json +++ b/keyboards/horrortroll/caticorn/rev1/solder/info.json @@ -1,20 +1,27 @@ { "keyboard_name": "Caticorn Solder", "manufacturer": "HorrorTroll", - "url": "", "maintainer": "HorrorTroll", "usb": { "vid": "0x7516", "pid": "0x6001", "device_version": "0.0.1" }, + "diode_direction": "COL2ROW", "matrix_pins": { "cols": ["GP6", "GP5", "GP4", "GP3", "GP2", "GP1", "GP20", "GP21", "GP16", "GP17", "GP18", "GP19", "GP15", "GP14", "GP13", "GP10", "GP9"], "rows": ["GP7", "GP0", "GP8", "GP25", "GP11", "GP12"] }, - "diode_direction": "COL2ROW", "processor": "RP2040", "bootloader": "rp2040", + "features": { + "bootmagic": true, + "mousekey": true, + "extrakey": true, + "console": false, + "command": false, + "nkro": true + }, "community_layouts": ["tkl_ansi", "tkl_ansi_split_bs_rshift", "tkl_ansi_tsangan", "tkl_ansi_tsangan_split_bs_rshift", "tkl_f13_ansi", "tkl_f13_ansi_split_bs_rshift", "tkl_f13_ansi_tsangan", "tkl_f13_ansi_tsangan_split_bs_rshift", "tkl_iso", "tkl_iso_split_bs_rshift", "tkl_iso_tsangan", "tkl_iso_tsangan_split_bs_rshift", "tkl_f13_iso", "tkl_f13_iso_split_bs_rshift", "tkl_f13_iso_tsangan", "tkl_f13_iso_tsangan_split_bs_rshift"], "layouts": { "LAYOUT_all": { diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c index 5723984bf445..9bb6640f2f8a 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/default/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,231 +22,75 @@ // entirely and just use numbers. enum layer_names { - _F12, - _F13, - _F12_7U, - _F13_7U, + _BASE, _FN, }; -enum layer_keycodes { - TOG_F12 = SAFE_RANGE, //Enable default layer for F12 layout - TOG_F13, //Enable default layer for F13 layout - F12_TGN, //Enable default layer for F12 Tsangan layout - F13_TGN, //Enable default layer for F13 Tsangan layout -}; - const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ - │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12││PSc│Scr│Pse│ - └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bks││Ins│Hom│PgU│ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││Del│End│PgD│ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ - │LCrl│GUI │LAlt│ Space │RAlt│ Fn │ GUI│RCrl││ ← │ ↓ │ → │ - └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ - ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ - │ │ │ │ │ │ │ │ ││ │ │ │ - └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F12] = LAYOUT_all( - KC_ESC, _______, 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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - /* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bks││Ins│Hom│PgU│ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ + │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp││Ins│Hom│PgU│ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││Del│End│PgD│ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + │ LShift │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RShift │ │ ↑ │ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ │LCrl│GUI │LAlt│ Space │RAlt│ Fn │ GUI│RCrl││ ← │ ↓ │ → │ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ + │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ ││ │ │ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + │ LShift │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RShift │ │ │ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ │ │ │ │ │ │ │ │ ││ │ │ │ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F13] = LAYOUT_all( - KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* - ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ - │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12││PSc│Scr│Pse│ - └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bks││Ins│Hom│PgU│ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││Del│End│PgD│ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ - ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F12_7U] = LAYOUT_all( - KC_ESC, _______, 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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* - ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ - │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ - └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bks││Ins│Hom│PgU│ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││Del│End│PgD│ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ - ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ - └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F13_7U] = LAYOUT_all( - KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + [_BASE] = LAYOUT_tkl_f13_ansi( + KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), /* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ - │Rst││ │MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal││Sch││ │ │ │ + │Rst││MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal│Sch││ ││ │ │ │ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ + ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐┌───┬───┬───┐ + │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ + ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤├───┼───┼───┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ - ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ + ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ ┌───┐ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤┌───┼───┼───┐ │ │ │ │ │ │ Fn │ │ ││ │ │ │ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_FN] = LAYOUT_all( - QK_BOOT, _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TOG_F12, TOG_F13, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F12_TGN, F13_TGN, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + [_FN] = LAYOUT_tkl_f13_ansi( + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, _______, + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TOG_F12: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12); - } - return false; - case TOG_F13: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13); - } - return false; - case F12_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12_7U); - } - return false; - case F13_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13_7U); - } - return false; - } - return true; -} diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h deleted file mode 100644 index 8fe93c228c4b..000000000000 --- a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/config.h +++ /dev/null @@ -1,19 +0,0 @@ -/* Copyright 2022 HorrorTroll - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -#pragma once - -#define DYNAMIC_KEYMAP_LAYER_COUNT 5 diff --git a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c index 5723984bf445..a39ee0f6a8d5 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c +++ b/keyboards/horrortroll/caticorn/rev1/solder/keymaps/via/keymap.c @@ -1,4 +1,4 @@ -/* Copyright 2022 HorrorTroll +/* Copyright 2023 HorrorTroll * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,16 +24,8 @@ enum layer_names { _F12, _F13, - _F12_7U, - _F13_7U, - _FN, -}; - -enum layer_keycodes { - TOG_F12 = SAFE_RANGE, //Enable default layer for F12 layout - TOG_F13, //Enable default layer for F13 layout - F12_TGN, //Enable default layer for F12 Tsangan layout - F13_TGN, //Enable default layer for F13 Tsangan layout + _FN1, + _FN2, }; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -68,14 +60,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ │ │ ││ │ │ │ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_F12] = LAYOUT_all( - KC_ESC, _______, 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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_ESC, _______, 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_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), /* @@ -108,99 +100,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { │ │ │ │ │ │ │ │ ││ │ │ │ └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ [_F13] = LAYOUT_all( - KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT - ), - -/* - ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ - │Esc│ │F1 │F2 │F3 │F4 │ │F5 │F6 │F7 │F8 │ │F9 │F10│F11│F12││PSc│Scr│Pse│ - └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bks││Ins│Hom│PgU│ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││Del│End│PgD│ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ - ┌───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐┌───┬───┬───┐ - │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ - └───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘ └───┴───┴───┴───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ -*/ - /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F12_7U] = LAYOUT_all( - KC_ESC, _______, 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_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN2), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ), /* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ - │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13││PSc│Scr│Pse│ - └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ - ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ ¥ │Bks││Ins│Hom│PgU│ - ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ Tab │ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ ││Del│End│PgD│ - ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │ Enter │ - ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ \ │ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │ RSft │ Fn│ │ ↑ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │LCrl │GUI│LAlt │ Space │RAlt │ Fn│RCrl││ ← │ ↓ │ → │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ - ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ - │ ││ │ │ │ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ + │Rst││ │MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal││Sch││ │ │ │ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ - │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ | │ ││ │ │ │ + │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤├───┼───┼───┤ - │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | ││ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤└───┴───┴───┘ - │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ - │LSft│ | │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │ RSft │ │ │ │ - ├────┴┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴───┼───┴─┬───┬┴───┤┌───┼───┼───┐ - │ │ │ │ │ │ │ ││ │ │ │ - └─────┴───┴─────┴────────────────────────────┴─────┴───┴────┘└───┴───┴───┘ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤┌───┼───┼───┐ + │ │ │ │ │ │ Fn │ │ ││ │ │ │ + └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_F13_7U] = LAYOUT_all( - KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, - KC_GRV, 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_INT3, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, - 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, KC_END, KC_PGDN, - 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN), KC_UP, - KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_RALT, MO(_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + [_FN1] = LAYOUT_all( + QK_BOOT, _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, TO(_F13), + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ), /* ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐┌───┬───┬───┐ - │Rst││ │MeP│VoD│VoU││Mut│Stp│Prv│Ply││Nxt│Mai│Hom│Cal││Sch││ │ │ │ + │Rst││MeP│VoD│VoU│Mut││Stp│Prv│Ply│Nxt││Mai│Hom│Cal│Sch││ ││ │ │ │ └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘└───┴───┴───┘ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐┌───┬───┬───┐ │NKO│ │ │ │ │ │ │ │ │ │ │ │ │ │ ││ │ │ │ @@ -215,38 +153,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘└───┴───┴───┘ */ /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 */ - [_FN] = LAYOUT_all( - QK_BOOT, _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, - NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, TOG_F12, TOG_F13, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, F12_TGN, F13_TGN, _______, + [_FN2] = LAYOUT_all( + QK_BOOT, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, _______, _______, _______, TO(_F12), + NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), + ) }; - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case TOG_F12: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12); - } - return false; - case TOG_F13: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13); - } - return false; - case F12_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F12_7U); - } - return false; - case F13_TGN: - if (record->event.pressed) { - set_single_persistent_default_layer(_F13_7U); - } - return false; - } - return true; -} diff --git a/keyboards/horrortroll/caticorn/rev1/solder/readme.md b/keyboards/horrortroll/caticorn/rev1/solder/readme.md index e25e3bd5636b..7fcb4cac5b6c 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/readme.md +++ b/keyboards/horrortroll/caticorn/rev1/solder/readme.md @@ -1,10 +1,12 @@ # Caticorn Solder (Rev 1) +![Caticorn](https://i.imgur.com/g5aCKQUh.png) + A TKL keyboard, which controlled by an RP2040 chipset. * Keyboard Maintainer: [HorrorTroll](https://github.com/HorrorTroll) * Hardware Supported: RP2040 -* Hardware Availability: Prototype PCB +* Hardware Availability: Private prototype (only 5 PCB available) Make example for this keyboard (after setting up your build environment): @@ -21,5 +23,5 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key at (0,0) in the matrix (Esc key) and plug in the keyboard -* **Physical reset button**: Press and hold the button on the back of the PCB, then plug USB onto PC +* **Physical reset button**: Press and hold the button on the back of the PCB, then plug in the keyboard * **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/horrortroll/caticorn/rev1/solder/rules.mk b/keyboards/horrortroll/caticorn/rev1/solder/rules.mk index 4f873e37383d..6e7633bfe015 100644 --- a/keyboards/horrortroll/caticorn/rev1/solder/rules.mk +++ b/keyboards/horrortroll/caticorn/rev1/solder/rules.mk @@ -1,16 +1 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = no # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no # Commands for debug and configuration -NKRO_ENABLE = yes # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -AUDIO_ENABLE = no # Audio output - -# EEPROM driver -EEPROM_DRIVER = wear_leveling -WEAR_LEVELING_DRIVER = rp2040_flash +# This file intentionally left blank From 6f3beae895a498dc8c86c7a79ed3c77d458da027 Mon Sep 17 00:00:00 2001 From: alvicstep Date: Mon, 14 Aug 2023 00:01:31 -0700 Subject: [PATCH 34/65] Kintwin controller for kinesis keyboard, split layout (#21614) Co-authored-by: Ryan --- keyboards/kinesis/alvicstep/alvicstep.c | 3 + keyboards/kinesis/alvicstep/alvicstep.h | 3 + keyboards/kinesis/alvicstep/config.h | 3 + keyboards/kinesis/alvicstep/info.json | 10 ++ keyboards/kinesis/keymaps/alvicstep/keymap.c | 135 ++++++++++++++++ keyboards/kinesis/keymaps/alvicstep/readme.md | 105 +++++++++++++ keyboards/kinesis/keymaps/default/keymap.c | 3 + keyboards/kinesis/keymaps/dvorak/keymap.c | 3 + .../keymaps/dvorak_nguyenvietyen/keymap.c | 3 + .../keymaps/insertsnideremarks/keymap.c | 3 + .../kinesis/keymaps/tuesdayjohn/keymap.c | 3 + keyboards/kinesis/keymaps/tw1t611/keymap.c | 3 + keyboards/kinesis/keymaps/xyverz/keymap.c | 3 + keyboards/kinesis/kint2pp/info.json | 10 ++ keyboards/kinesis/kint36/info.json | 10 ++ keyboards/kinesis/kint41/info.json | 10 ++ keyboards/kinesis/kintlc/info.json | 10 ++ keyboards/kinesis/kintwin/info.json | 146 ++++++++++++++++++ keyboards/kinesis/kintwin/kintwin.c | 29 ++++ keyboards/kinesis/kintwin/readme.md | 32 ++++ keyboards/kinesis/kintwin/rules.mk | 1 + keyboards/kinesis/nguyenvietyen/config.h | 3 + keyboards/kinesis/nguyenvietyen/info.json | 10 ++ keyboards/kinesis/nguyenvietyen/matrix.c | 3 + keyboards/kinesis/nguyenvietyen/rules.mk | 6 +- keyboards/kinesis/readme.md | 13 +- keyboards/kinesis/rules.mk | 13 -- keyboards/kinesis/stapelberg/config.h | 3 + keyboards/kinesis/stapelberg/info.json | 10 ++ 29 files changed, 566 insertions(+), 23 deletions(-) create mode 100644 keyboards/kinesis/keymaps/alvicstep/keymap.c create mode 100644 keyboards/kinesis/keymaps/alvicstep/readme.md create mode 100644 keyboards/kinesis/kintwin/info.json create mode 100644 keyboards/kinesis/kintwin/kintwin.c create mode 100644 keyboards/kinesis/kintwin/readme.md create mode 100644 keyboards/kinesis/kintwin/rules.mk delete mode 100644 keyboards/kinesis/rules.mk diff --git a/keyboards/kinesis/alvicstep/alvicstep.c b/keyboards/kinesis/alvicstep/alvicstep.c index 274ac083c504..e803125681f1 100644 --- a/keyboards/kinesis/alvicstep/alvicstep.c +++ b/keyboards/kinesis/alvicstep/alvicstep.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include "alvicstep.h" // begin section origin https://github.com/alvicstep/tmk_keyboard diff --git a/keyboards/kinesis/alvicstep/alvicstep.h b/keyboards/kinesis/alvicstep/alvicstep.h index 7bd56c4678db..bd52bbeb9873 100644 --- a/keyboards/kinesis/alvicstep/alvicstep.h +++ b/keyboards/kinesis/alvicstep/alvicstep.h @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once #include "quantum.h" diff --git a/keyboards/kinesis/alvicstep/config.h b/keyboards/kinesis/alvicstep/config.h index bb3357ea57b8..82b8deca9313 100644 --- a/keyboards/kinesis/alvicstep/config.h +++ b/keyboards/kinesis/alvicstep/config.h @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once /* key matrix size */ diff --git a/keyboards/kinesis/alvicstep/info.json b/keyboards/kinesis/alvicstep/info.json index 82c68367ab91..293b0168a404 100644 --- a/keyboards/kinesis/alvicstep/info.json +++ b/keyboards/kinesis/alvicstep/info.json @@ -6,6 +6,16 @@ "pid": "0x6060", "device_version": "0.0.1" }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "processor": "at90usb1286", "bootloader": "halfkay", "layouts": { diff --git a/keyboards/kinesis/keymaps/alvicstep/keymap.c b/keyboards/kinesis/keymaps/alvicstep/keymap.c new file mode 100644 index 000000000000..e9373ea21453 --- /dev/null +++ b/keyboards/kinesis/keymaps/alvicstep/keymap.c @@ -0,0 +1,135 @@ +// Copyright 2023 Alex Stepanov (@alvicstep) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layer_names { + _BASE, // default layer + _KEYPAD, // arrow keys, shifted symbols, HOME, END, PGUP, PGDN, FKeys, CTRL(TAB) + _NUMPAD // numpad keys +}; + +/* ,------------------------------------------------------------------------------------------------------------------------. +* | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | | F9 | F10 | F11 | F12 |PSCR|SLCK|PAUS|KPAD|BOOT| +* |--------+------+------+------+-------+------+--------------------------------+------+------+------+------+------+--------| +* | -_ | 1! | 2@ | 3# | 4$ | 5% | | 6^ | 7& | 8* | 9( | 0) | =+ | +* |--------+------+------+------+-------+------| +------+------+------+------+------+--------| +* | Tab | Q | W | E | R | T | | Y | U | I | O | P | \| | +* |--------+------+------+------+-------+------| |------+------+------+------+------+--------| +* | Del | A | S | D | F | G | | H | J | K | L | ;: | '" | +* |--------+------+------+------+-------+------| |------+------+------+------+------+--------| +* | Shift | Z | X | C | V | B | | N | M | ,. | .> | /? |Sht/Ent | +* `--------+------+------+------+-------+------- `------+------+------+------+------+--------' +* | `~ | Gui | Esc |MO(Num)| | [{ | ]} | | | +* `----------------------------' `---------------------------' +* ,---------------. ,---------------. +* |Alt+Tab| Alt | | Alt |TO(Num)| +* ,------|------ |-------| |-------+-------+------. +* | | | Shift | | Shift | | | +* | BkSp | KPAD |-------| |------ | KPAD | Space| +* | | | Ctrl | | Ctrl | | | +* `----------------------' `----------------------' +*/ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +[_BASE] = LAYOUT( +KC_ESC,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_PSCR,KC_SCRL,KC_PAUS,TO(_KEYPAD),QK_BOOT, +KC_MINS,KC_1,KC_2,KC_3,KC_4,KC_5, KC_6,KC_7,KC_8,KC_9,KC_0,KC_EQL, +KC_TAB,KC_Q,KC_W,KC_E,KC_R,KC_T, KC_Y,KC_U,KC_I,KC_O,KC_P,KC_BSLS, +KC_DEL,KC_A,KC_S,KC_D,KC_F,KC_G, KC_H,KC_J,KC_K,KC_L,KC_SCLN,KC_QUOT, +KC_LSFT,KC_Z,KC_X,KC_C,KC_V,KC_B, KC_N,KC_M,KC_COMM,KC_DOT,KC_SLSH,SC_SENT, +KC_GRV,KC_LGUI,KC_ESC,MO(_NUMPAD), KC_LBRC,KC_RBRC,KC_NO,KC_NO, + LALT(KC_TAB),KC_LALT, KC_RALT,TO(_NUMPAD), + KC_LSFT, KC_RSFT, + KC_BSPC,MO(_KEYPAD),KC_LCTL, KC_RCTL,MO(_KEYPAD),KC_SPC +), +/* ,------------------------------------------------------------------------------------------------------------------------. +* | | | | | | | | | | | | | | | | | TO(BASE) | | +* |--------+------+------+------+------+------+---------------------------------+------+------+------+------+------+--------| +* | _ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | F1 | F2 | F3 | F4 | F5 | | | Home | Up | End | | | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | F6 | F7 | F8 | F9 | F10 | | Pgup | Lft | Dwn | Rgt | : | " | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | CapsLk | | | | F11 | F12 | | Pgdn | | < | > | ? | | +* `--------+------+------+------+------+------' `------+------+------+------+------+--------' +* | ~ | INS | | | | { | } | | | +* `---------------------------' `---------------------------' +* ,--------------. ,--------------------. +* |Ctl+Tab| | | | | | +* ,------|------ |------| |------+------+------. +* | | |Shift | |Shift | | | +* | | |------| |------| | | +* | | | Ctrl | | Ctrl | | | +* `-------------- ------' `--------------------' +*/ +[_KEYPAD] = LAYOUT( + KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,TO(_BASE),KC_NO, + KC_UNDS,KC_EXLM,KC_AT,KC_HASH,KC_DLR,KC_PERC, KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_PLUS, + KC_NO,KC_F1,KC_F2,KC_F3,KC_F4,KC_F5, KC_NO,KC_HOME,KC_UP,KC_END,KC_NO,KC_PIPE, + KC_CAPS,KC_F6,KC_F7,KC_F8,KC_F9,KC_F10, KC_PGUP,KC_LEFT,KC_DOWN,KC_RGHT,KC_COLN,KC_DQUO, + KC_NO,KC_NO,KC_NO,KC_NO,KC_F11,KC_F12, KC_PGDN,KC_NO,KC_LT,KC_GT,KC_QUES,KC_NO, + KC_TILD,KC_INS,KC_NO,KC_NO, KC_LCBR,KC_RCBR,KC_NO,KC_NO, + LCTL(KC_TAB),KC_NO, KC_NO,KC_NO, + KC_LSFT, KC_RSFT, + KC_NO,KC_NO,KC_LCTL, KC_RCTL,KC_NO,KC_NO +), +/*,--------+------+------+------+------+------+ +------+------+------+------+------+--------. +* | | | | | | | | | Base | = | / | * | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | | | | | | | | | 7 | 8 | 9 | - | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | Del | | | | | | | | 4 | 5 | 6 | + | | +* |--------+------+------+------+------+------| |------+------+------+------+------+--------| +* | BkSp | | | | | | | | 1 | 2 | 3 |Enter | Enter | +* `--------+------+------+------+------+------' `------+------+------+------+------+--------' +* | | | | | | . |Enter | | | +* `---------------------------' `---------------------------' +* ,-------------. ,-------------. +* | | | | | Base | +* ,------|------|------| |------+------+------. +* | | | | | | | | +* | BkSp | |------| |------| | 0 | +* | | | | | | | | +* `--------------------' `--------------------' +*/ + +[_NUMPAD] = LAYOUT( + KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, + KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,TO(_BASE),KC_EQL,KC_SLSH,KC_ASTR,KC_NO, + KC_NO,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_7,KC_8,KC_9,KC_MINS,KC_NO, + KC_DEL,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_4,KC_5,KC_6,KC_PLUS,KC_NO, + KC_BSPC,KC_NO,KC_NO,KC_NO,KC_NO,KC_NO, KC_NO,KC_1,KC_2,KC_3,KC_ENT,KC_ENT, + KC_NO,KC_NO,KC_NO,KC_NO, KC_DOT,KC_ENT,KC_NO,KC_NO, + KC_NO,KC_NO, KC_NO,TO(_BASE), + KC_NO, KC_NO, + KC_BSPC,KC_NO,KC_NO, KC_NO,KC_NO,KC_0 +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + //set LEDs which are triggered by a layer change + #ifdef LED_COMPOSE_PIN + writePin(LED_COMPOSE_PIN, !layer_state_cmp(state, _KEYPAD)); + #endif + + #ifdef LED_NUM_LOCK_PIN + writePin(LED_NUM_LOCK_PIN, !layer_state_cmp(state, _NUMPAD)); + #endif + + return state; +}; + +bool led_update_user(led_t led_state) { + #ifdef LED_CAPS_LOCK_PIN + writePin(LED_CAPS_LOCK_PIN, !led_state.caps_lock); + #endif + + #ifdef LED_SCROLL_LOCK_PIN + writePin(LED_SCROLL_LOCK_PIN, !led_state.scroll_lock); + #endif + + //disable default processing of LEDs + return false; +} \ No newline at end of file diff --git a/keyboards/kinesis/keymaps/alvicstep/readme.md b/keyboards/kinesis/keymaps/alvicstep/readme.md new file mode 100644 index 000000000000..c21618a1dc93 --- /dev/null +++ b/keyboards/kinesis/keymaps/alvicstep/readme.md @@ -0,0 +1,105 @@ +## Custom Layout +Kinesis Contoured family of keyboards belong to a relatively small group of keyboards that utilize thumb clusters. The keycap profiles of thumb cluster keys make it easy to press multiple keys simultaneously by a thumb finger. Co-locating CTRL, SHIFT and KEYPAD modifiers in the thumb cluster gives truly unique capabilities to these keyboards. + +### "alvicstep" Layout +The **alvicstep** layout is optimized for software development on a Windows machine. It is a result of many years of daily usage. It is a great starting point for your own design. + +#### Layout Features +- 3 layers: default layer, keypad layer, numpad layer +- keypad layer allows for 2 finger operation using **arrow** keys together with + - **CTRL** and/or **SHIFT** modifiers OR + - **HOME/END** keys OR + - **PAGEUP/PAGEDOWN** keys. +- two finger operations can be achieved by holding up to 3 modifier keys (KEYPAD/SHIFT/CTRL) with a thumb finger and using index/middle/ring finger by pressing keywell keys. For example, you can fully control caret position and text selection of: + - each letter + - each word + - from a current caret position to the beginning of the line + - from a current caret position to the end of the line + - multiple lines + - multiple pages +- with little practice you will be able to string together different key combinations. For example, executing `KEYPAD + O` and then `KEYPAD + SHIFT + U` selects the whole line of text with barely any finger movement. The best part is that it works in any text editor! +- keypad layer allows accessing **F1-F12** and **ESC** keys by moving only a single finger away from the home row, making it very fast and convenient +- **KEYPAD** key can be used to access US ANSI Shifted Symbols instead of pressing a SHIFT key. This gives you two advantages: it makes KEYPAD key a "go to" key which is used in almost all operations unrelated to typing of letters. To understand the second advantage, compare pressing `SHIFT + 0` and `KEYPAD + 0` using the right hand +- **NUMPAD** "momentary" modifier key can be used to quickly switch to a numeric pad while typing alphanumeric strings. In a stock Kinesis firmware you would have to switch to KEYPAD layer and then press NUMLOCK key which makes it unusable for this task +- **NUMPAD** key in the right thumb cluster can be used to switch to a numeric pad for long numeric sequences + +#### Layout Layers + +![](https://i.imgur.com/86LCI3zh.jpg) +![](https://i.imgur.com/Gv4WBw7h.jpg) +![](https://i.imgur.com/gKXMUI2h.jpg) + +#### Notes +- MO(1) - switch to **KEYPAD** layer while key is being pressed +- MO(2) - switch to **NUMPAD** layer while key is being pressed +- TO(0) - switch to **BASE** layer +- TO(2) - switch to **NUMPAD** layer +- Rsft(Enter) - acts as an ENTER key when pressed and released. Acts as a SHIFT modifier in combination with other keys +- Bt - enter bootloader mode +- Alt(Tab) - toggle between last two active applications +- Ctrl(Tab) - toggle between last two active tabs + + +### Differences From Stock +- **{}[]** keys are moved to the left side of the keywell to be easily accessible +- **-** and **+** keys are switched +- **CAPS LOCK** key is moved to **KEYPAD** layer and is mapped to **DELETE** on **BASE** layer + +### Shortcuts + + +|Shortcut | Control Caret | +|---------------------|---------------------------------------| +|`KEYPAD + J` | move caret one character left | +|`KEYPAD + L` | move caret one character right | +|`KEYPAD + I` | move caret one line up | +|`KEYPAD + K` | move caret one line down | +|`KEYPAD + CTRL + J` | move caret one word to the left | +|`KEYPAD + CTRL + L` | move caret one word to the right | +|`KEYPAD + U` | move caret to the start of the line | +|`KEYPAD + O` | move caret to the end of the line | +|`KEYPAD + H` | move caret one page up | +|`KEYPAD + N` | move caret one page down | + + +|Shortcut | Scroll Lock | +|---------------------|---------------------------------------| +|`KEYPAD + CTRL + I` | scroll page up | +|`KEYPAD + CTRL + K` | scroll page down | + + +|Shortcut | Select Text | +|-----------------------------|-------------------------------| +|`KEYPAD + CTRL + SHIFT + J` | select one word to the left | +|`KEYPAD + CTRL + SHIFT + L` | select one word to the right | +|`KEYPAD + CTRL + SHIFT + I` | select one line up | +|`KEYPAD + CTRL + SHIFT + K` | select one line down | +|`KEYPAD + SHIFT + H` | select one page up | +|`KEYPAD + SHIFT + N` | select one page down | +|`KEYPAD + CTRL + SHIFT + U` | select from beginning of the file up to the caret position | +|`KEYPAD + CTRL + SHIFT + O` | select from caret position to the end of the file | + + +|Shortcut | US ANSI Shifted Symbols | +|---------------------|---------------------------------------| +|`KEYPAD + -` | _ | +|`KEYPAD + 1` | ! | +|`KEYPAD + 2` | @ | +|`KEYPAD + 3` | # | +|`KEYPAD + 4` | $ | +|`KEYPAD + 5` | % | +|`KEYPAD + 6` | ^ | +|`KEYPAD + 7` | & | +|`KEYPAD + 8` | * | +|`KEYPAD + 9` | ( | +|`KEYPAD + 0` | ) | +|`KEYPAD + =` | + | +|`KEYPAD + \` | \| | +|`KEYPAD + '` | " | +|`KEYPAD + ;` | : | +|`KEYPAD + /` | ? | +|`KEYPAD + [` | { | +|`KEYPAD + ]` | } | +|`KEYPAD + ,` | < | +|`KEYPAD + .` | > | +|`KEYPAD + BACKTICK` | ~ | \ No newline at end of file diff --git a/keyboards/kinesis/keymaps/default/keymap.c b/keyboards/kinesis/keymaps/default/keymap.c index 130dbd2b874d..c9449c540823 100644 --- a/keyboards/kinesis/keymaps/default/keymap.c +++ b/keyboards/kinesis/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H #define QWERTY 0 // Base qwerty diff --git a/keyboards/kinesis/keymaps/dvorak/keymap.c b/keyboards/kinesis/keymaps/dvorak/keymap.c index a763f1a9489d..f8a5b4ed4f96 100644 --- a/keyboards/kinesis/keymaps/dvorak/keymap.c +++ b/keyboards/kinesis/keymaps/dvorak/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H #define _DVORAK 0 // Base Dvorak layer diff --git a/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c b/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c index 4708f15ce9b2..7dbb4b9159e1 100644 --- a/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c +++ b/keyboards/kinesis/keymaps/dvorak_nguyenvietyen/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H #define DVORAK_MAC_MODE 0 // Base Dvorak in Kinesis's Mac Mode with (Cmd, Option, Ctrl, Cmd) thumbkeys diff --git a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c index 15e892788948..6275ed0a8d05 100644 --- a/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c +++ b/keyboards/kinesis/keymaps/insertsnideremarks/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H extern keymap_config_t keymap_config; diff --git a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c index fa230d38d092..ffcb1c3a8d18 100644 --- a/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c +++ b/keyboards/kinesis/keymaps/tuesdayjohn/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H extern keymap_config_t keymap_config; diff --git a/keyboards/kinesis/keymaps/tw1t611/keymap.c b/keyboards/kinesis/keymaps/tw1t611/keymap.c index 169cac82f93a..e5fb5519dc1c 100644 --- a/keyboards/kinesis/keymaps/tw1t611/keymap.c +++ b/keyboards/kinesis/keymaps/tw1t611/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H #include "keymap_german.h" diff --git a/keyboards/kinesis/keymaps/xyverz/keymap.c b/keyboards/kinesis/keymaps/xyverz/keymap.c index 750954428331..1dff9053a8b8 100644 --- a/keyboards/kinesis/keymaps/xyverz/keymap.c +++ b/keyboards/kinesis/keymaps/xyverz/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H enum layer_names { diff --git a/keyboards/kinesis/kint2pp/info.json b/keyboards/kinesis/kint2pp/info.json index 77986bea0a37..ecf86658a849 100644 --- a/keyboards/kinesis/kint2pp/info.json +++ b/keyboards/kinesis/kint2pp/info.json @@ -7,6 +7,16 @@ "device_version": "0.0.2", "max_power": 100 }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "build": { "debounce_type": "sym_eager_pk" }, diff --git a/keyboards/kinesis/kint36/info.json b/keyboards/kinesis/kint36/info.json index 608a18e17852..969f819f80e1 100644 --- a/keyboards/kinesis/kint36/info.json +++ b/keyboards/kinesis/kint36/info.json @@ -7,6 +7,16 @@ "device_version": "0.0.1", "max_power": 100 }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "build": { "debounce_type": "sym_eager_pk" }, diff --git a/keyboards/kinesis/kint41/info.json b/keyboards/kinesis/kint41/info.json index ced47d62132d..eec726cf51eb 100644 --- a/keyboards/kinesis/kint41/info.json +++ b/keyboards/kinesis/kint41/info.json @@ -7,6 +7,16 @@ "device_version": "0.0.1", "max_power": 100 }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "build": { "debounce_type": "sym_eager_pk" }, diff --git a/keyboards/kinesis/kintlc/info.json b/keyboards/kinesis/kintlc/info.json index 4206cacf1e97..13c2f9a55c50 100644 --- a/keyboards/kinesis/kintlc/info.json +++ b/keyboards/kinesis/kintlc/info.json @@ -7,6 +7,16 @@ "device_version": "0.0.1", "max_power": 50 }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "build": { "debounce_type": "sym_eager_pk" }, diff --git a/keyboards/kinesis/kintwin/info.json b/keyboards/kinesis/kintwin/info.json new file mode 100644 index 000000000000..ed67c36af392 --- /dev/null +++ b/keyboards/kinesis/kintwin/info.json @@ -0,0 +1,146 @@ +{ + "development_board": "blackpill_f401", + "keyboard_name": "Kinesis", + "url": "https://github.com/alvicstep/kintwin", + "manufacturer": "https://github.com/alvicstep/kintwin", + "maintainer": "Alex Stepanov", + "usb": { + "device_version": "0.0.1", + "vid": "0x4B53", + "pid": "0x0001", + "shared_endpoint": { + "keyboard": true + } + }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, + "matrix_pins": { + "rows": ["A0", "A1", "A2", "A3", "A4", "A5", "A6"], + "cols": ["A7", "B0", "B1", "B10", "B9", "B8", "B7", "B14", "B13", "B12", "C14", "C15", "B15", "B6", "B5"] + }, + "diode_direction": "ROW2COL", + "indicators": { + "caps_lock": "A15", + "scroll_lock": "B3", + "num_lock": "B4", + "compose": "C13", + "on_state": 0 + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 12], "x": 0, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [0, 13], "x": 0.7, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [0, 14], "x": 1.39, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [1, 12], "x": 2.09, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [1, 13], "x": 2.78, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [1, 14], "x": 3.48, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [2, 12], "x": 4.17, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [2, 13], "x": 4.87, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [2, 14], "x": 5.56, "y": 0, "w": 0.69, "h": 0.85}, + + {"matrix": [3, 12], "x": 9.25, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [3, 13], "x": 9.95, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [3, 14], "x": 10.64, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [4, 12], "x": 11.34, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [4, 13], "x": 12.03, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [4, 14], "x": 12.73, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [5, 12], "x": 13.42, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [5, 14], "x": 14.12, "y": 0, "w": 0.69, "h": 0.85}, + {"matrix": [5, 13], "x": 14.81, "y": 0, "w": 0.69, "h": 0.85}, + + {"matrix": [0, 0], "x": 0, "y": 1.25, "w": 1.25}, + {"matrix": [0, 1], "x": 1.25, "y": 1.25}, + {"matrix": [0, 2], "x": 2.25, "y": 1}, + {"matrix": [0, 3], "x": 3.25, "y": 1}, + {"matrix": [0, 4], "x": 4.25, "y": 1}, + {"matrix": [0, 5], "x": 5.25, "y": 1}, + + {"matrix": [0, 6], "x": 9.25, "y": 1}, + {"matrix": [0, 7], "x": 10.25, "y": 1}, + {"matrix": [0, 8], "x": 11.25, "y": 1}, + {"matrix": [0, 9], "x": 12.25, "y": 1}, + {"matrix": [0, 10], "x": 13.25, "y": 1.25}, + {"matrix": [0, 11], "x": 14.25, "y": 1.25, "w": 1.25}, + + {"matrix": [1, 0], "x": 0, "y": 2.25, "w": 1.25}, + {"matrix": [1, 1], "x": 1.25, "y": 2.25}, + {"matrix": [1, 2], "x": 2.25, "y": 2}, + {"matrix": [1, 3], "x": 3.25, "y": 2}, + {"matrix": [1, 4], "x": 4.25, "y": 2}, + {"matrix": [1, 5], "x": 5.25, "y": 2}, + + {"matrix": [1, 6], "x": 11.25, "y": 2.25}, + {"matrix": [1, 7], "x": 12.25, "y": 2.25}, + {"matrix": [1, 8], "x": 13.25, "y": 2.25}, + {"matrix": [1, 9], "x": 14.25, "y": 2.25}, + {"matrix": [1, 10], "x": 15.25, "y": 2.25}, + {"matrix": [1, 11], "x": 16.25, "y": 2.25, "w": 1.25}, + + {"matrix": [2, 0], "x": 0, "y": 3.25, "w": 1.25}, + {"matrix": [2, 1], "x": 1.25, "y": 3.25}, + {"matrix": [2, 2], "x": 2.25, "y": 3}, + {"matrix": [2, 3], "x": 3.25, "y": 3}, + {"matrix": [2, 4], "x": 4.25, "y": 3}, + {"matrix": [2, 5], "x": 5.25, "y": 3}, + + {"matrix": [2, 6], "x": 9.25, "y": 3}, + {"matrix": [2, 7], "x": 10.25, "y": 3}, + {"matrix": [2, 8], "x": 11.25, "y": 3}, + {"matrix": [2, 9], "x": 12.25, "y": 3}, + {"matrix": [2, 10], "x": 13.25, "y": 3.25}, + {"matrix": [2, 11], "x": 14.25, "y": 3.25, "w": 1.25}, + + {"matrix": [3, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [3, 1], "x": 1.25, "y": 4.25}, + {"matrix": [3, 2], "x": 2.25, "y": 4}, + {"matrix": [3, 3], "x": 3.25, "y": 4}, + {"matrix": [3, 4], "x": 4.25, "y": 4}, + {"matrix": [3, 5], "x": 5.25, "y": 4}, + + {"matrix": [3, 6], "x": 9.25, "y": 4}, + {"matrix": [3, 7], "x": 10.25, "y": 4}, + {"matrix": [3, 8], "x": 11.25, "y": 4}, + {"matrix": [3, 9], "x": 12.25, "y": 4}, + {"matrix": [3, 10], "x": 13.25, "y": 4.25}, + {"matrix": [3, 11], "x": 14.25, "y": 4.25, "w": 1.25}, + + {"matrix": [4, 1], "x": 1.25, "y": 5.25}, + {"matrix": [4, 2], "x": 2.25, "y": 5}, + {"matrix": [4, 3], "x": 3.25, "y": 5}, + {"matrix": [4, 5], "x": 4.25, "y": 5}, + + {"matrix": [4, 6], "x": 10.25, "y": 5}, + {"matrix": [4, 8], "x": 11.25, "y": 5}, + {"matrix": [4, 9], "x": 12.25, "y": 5}, + {"matrix": [4, 10], "x": 13.25, "y": 5.25}, + + {"matrix": [6, 5], "x": 5.25, "y": 6}, + {"matrix": [5, 5], "x": 6.25, "y": 6}, + + {"matrix": [6, 9], "x": 8.25, "y": 6}, + {"matrix": [5, 8], "x": 9.25, "y": 6}, + + {"matrix": [5, 3], "x": 6.25, "y": 7}, + + {"matrix": [6, 8], "x": 8.25, "y": 7}, + + {"matrix": [6, 3], "x": 4.25, "y": 7, "h": 2}, + {"matrix": [6, 4], "x": 5.25, "y": 7, "h": 2}, + {"matrix": [5, 2], "x": 6.25, "y": 8}, + + {"matrix": [6, 6], "x": 8.25, "y": 8}, + {"matrix": [5, 7], "x": 9.25, "y": 7, "h": 2}, + {"matrix": [5, 6], "x": 10.25, "y": 7, "h": 2} + ] + } + } +} diff --git a/keyboards/kinesis/kintwin/kintwin.c b/keyboards/kinesis/kintwin/kintwin.c new file mode 100644 index 000000000000..0e2e7a579283 --- /dev/null +++ b/keyboards/kinesis/kintwin/kintwin.c @@ -0,0 +1,29 @@ +// Copyright 2023 Alex Stepanov (@alvicstep) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "quantum.h" + +void matrix_init_kb(void) { + + uint8_t led_delay_ms = 80; + + /* LED pins setup */ + setPinOutput(LED_CAPS_LOCK_PIN); + writePinLow(LED_CAPS_LOCK_PIN); + + wait_ms(led_delay_ms); + setPinOutput(LED_NUM_LOCK_PIN); + writePinLow(LED_NUM_LOCK_PIN); + wait_ms(led_delay_ms); + + setPinOutput(LED_SCROLL_LOCK_PIN); + writePinLow(LED_SCROLL_LOCK_PIN); + wait_ms(led_delay_ms); + + setPinOutput(LED_COMPOSE_PIN); + writePinLow(LED_COMPOSE_PIN); + wait_ms(led_delay_ms); + writePinHigh(LED_COMPOSE_PIN); + + matrix_init_user(); +} \ No newline at end of file diff --git a/keyboards/kinesis/kintwin/readme.md b/keyboards/kinesis/kintwin/readme.md new file mode 100644 index 000000000000..7f944e02bc22 --- /dev/null +++ b/keyboards/kinesis/kintwin/readme.md @@ -0,0 +1,32 @@ +# KinTwin +[KinTwin](https://github.com/alvicstep/kintwin) is a drop-in replacement of a controller and thumb cluster PCB boards for [Kinesis Contoured keyboards](https://deskthority.net/wiki/Kinesis_Contoured). The controller board is a fork of [KinBP](https://github.com/DmNosachev/KinBP). + +### Keyboard +![Kinesis keyboard](https://i.imgur.com/gmuYlUyh.jpg) + +### Controller +![KinTwin controller](https://i.imgur.com/vu6pexwh.jpg) + +The main difference between KinTwin and KinT controllers is that the former utilizes **Blackpill STM32F401** development board and the latter utilizes **Teensy** development boards. + +* Keyboard Maintainer: Alex Stepanov +* Hardware Supported: KinTwin PCB, WeAct Black Pill STM32F401 micro controller +* Hardware Availability: [Open Source (CC-BY-SA)](https://github.com/alvicstep/kintwin) + +Make example for this keyboard (after setting up your build environment): + + make kinesis/kintwin:default + +Flashing example for this keyboard: + + make kinesis/kintwin:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the top left key and plug in the keyboard. +* **Physical reset button**. Hold 'boot0' button on MCU board, press 'reset', then release 'boot0'. +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/kinesis/kintwin/rules.mk b/keyboards/kinesis/kintwin/rules.mk new file mode 100644 index 000000000000..3922c569c4ec --- /dev/null +++ b/keyboards/kinesis/kintwin/rules.mk @@ -0,0 +1 @@ +# File intentionally blank \ No newline at end of file diff --git a/keyboards/kinesis/nguyenvietyen/config.h b/keyboards/kinesis/nguyenvietyen/config.h index f4d3af8dbd1c..5e21732a5c68 100644 --- a/keyboards/kinesis/nguyenvietyen/config.h +++ b/keyboards/kinesis/nguyenvietyen/config.h @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once /* key matrix size */ diff --git a/keyboards/kinesis/nguyenvietyen/info.json b/keyboards/kinesis/nguyenvietyen/info.json index d9ac2576527b..123b42e9bfc2 100644 --- a/keyboards/kinesis/nguyenvietyen/info.json +++ b/keyboards/kinesis/nguyenvietyen/info.json @@ -6,6 +6,16 @@ "pid": "0x6060", "device_version": "0.0.3" }, + "features": { + "bootmagic": true, + "console": false, + "command": true, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "indicators": { "caps_lock": "E6", "num_lock": "D4", diff --git a/keyboards/kinesis/nguyenvietyen/matrix.c b/keyboards/kinesis/nguyenvietyen/matrix.c index 3e078946e09f..d6ea67da681b 100644 --- a/keyboards/kinesis/nguyenvietyen/matrix.c +++ b/keyboards/kinesis/nguyenvietyen/matrix.c @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #include "matrix.h" #include "quantum.h" diff --git a/keyboards/kinesis/nguyenvietyen/rules.mk b/keyboards/kinesis/nguyenvietyen/rules.mk index 6f6277ff6b6d..59129f4320d4 100644 --- a/keyboards/kinesis/nguyenvietyen/rules.mk +++ b/keyboards/kinesis/nguyenvietyen/rules.mk @@ -1,11 +1,7 @@ # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes -EXTRAKEY_ENABLE = yes -COMMAND_ENABLE = yes -NKRO_ENABLE = yes # Enable N-Key Rollover + SLEEP_LED_ENABLE = yes CUSTOM_MATRIX = lite SRC += matrix.c diff --git a/keyboards/kinesis/readme.md b/keyboards/kinesis/readme.md index 3802f50c9a3a..4767d6a4363a 100644 --- a/keyboards/kinesis/readme.md +++ b/keyboards/kinesis/readme.md @@ -1,12 +1,15 @@ # Firmware for the Kinesis Advantage/Contoured keyboard -There are at least two different ways to replace the controller in this keyboard. +There are at least three different ways to replace the controller in this keyboard. -The Stapelberg folder contains the docs and configuration for using the custom controller created by Michael Stapelberg. +1. The **stapelberg** directory contains the docs and configuration for using Teensy based controller created by Michael Stapelberg. -The alvicstep folder contains docs and configuration for directly wiring a Teensy2++ to the existing controller board. This follows the pinouts described in https://github.com/alvicstep/tmk_keyboard, which is where the name comes from. +2. The **alvicstep** directory contains docs and configuration for directly wiring a Teensy2++ to the existing controller board. This follows the pinouts described in https://github.com/alvicstep/tmk_keyboard, which is where the name comes from. -## Keymaps -Both hardware solutions should work with the same keymaps +3. The **kintwin** directory contains the docs and configuration for using BlackPill based controller. +## Keymaps +All three hardware solutions should work with the same keymaps +## Switch Modifications +In addition to the drop-in replacements of the stock controller above, the directory **"keyboards\kin80"** contains the files to support 80 switch modification of the keyboard, compared to original 86 switches. Kin80 keymaps are not compatible with keymaps that are located inside of **kinesis** directory. \ No newline at end of file diff --git a/keyboards/kinesis/rules.mk b/keyboards/kinesis/rules.mk deleted file mode 100644 index 2090c50d4707..000000000000 --- a/keyboards/kinesis/rules.mk +++ /dev/null @@ -1,13 +0,0 @@ -# Build Options -# change yes to no to disable -# -BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite -MOUSEKEY_ENABLE = yes # Mouse keys -EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug -COMMAND_ENABLE = no -NKRO_ENABLE = no # Enable N-Key Rollover -BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality -AUDIO_ENABLE = no # Audio output - -DEFAULT_FOLDER = kinesis/alvicstep diff --git a/keyboards/kinesis/stapelberg/config.h b/keyboards/kinesis/stapelberg/config.h index a3ae6615ac5b..c0c78135ba17 100644 --- a/keyboards/kinesis/stapelberg/config.h +++ b/keyboards/kinesis/stapelberg/config.h @@ -1,3 +1,6 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + #pragma once /* don't know if this should be defined at the board or top level. Assuming board diff --git a/keyboards/kinesis/stapelberg/info.json b/keyboards/kinesis/stapelberg/info.json index 13713aac5236..44e2a331575c 100644 --- a/keyboards/kinesis/stapelberg/info.json +++ b/keyboards/kinesis/stapelberg/info.json @@ -6,6 +6,16 @@ "pid": "0x6060", "device_version": "0.0.2" }, + "features": { + "bootmagic": true, + "console": false, + "command": false, + "mousekey": true, + "extrakey": true, + "nkro": true, + "audio": false, + "backlight": false + }, "matrix_pins": { "cols": ["B0", "B1", "B2", "B3", "B4", "B5", "B6"], "rows": ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "C0", "C1", "C2", "C3", "C4", "C5", "C6"] From 125a9039034610712dadf2dc4cb4e94ff405c100 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 15 Aug 2023 00:22:37 +1000 Subject: [PATCH 35/65] Fix `keyboard` field for some JSON keymaps (#21752) --- keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json | 2 +- keyboards/durgod/k320/keymaps/default_mac/keymap.json | 2 +- keyboards/handwired/pytest/macro/keymaps/default/keymap.json | 2 +- keyboards/jacky_studio/piggy60/keymaps/via/keymap.json | 2 +- keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json b/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json index 1227020b2971..10f557d72975 100644 --- a/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json +++ b/keyboards/clueboard/2x1800/2021/keymaps/default/keymap.json @@ -2,7 +2,7 @@ "version": 1, "author": "skullydazed", "notes": "", - "keyboard": "clueboard/2x1800/2018", + "keyboard": "clueboard/2x1800/2021", "keymap": "default", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/durgod/k320/keymaps/default_mac/keymap.json b/keyboards/durgod/k320/keymaps/default_mac/keymap.json index a0e83def3694..97fc214c7b73 100644 --- a/keyboards/durgod/k320/keymaps/default_mac/keymap.json +++ b/keyboards/durgod/k320/keymaps/default_mac/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "durgod/k310/base", + "keyboard": "durgod/k320/base", "keymap": "default_mac", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/handwired/pytest/macro/keymaps/default/keymap.json b/keyboards/handwired/pytest/macro/keymaps/default/keymap.json index 23c371aa3434..3bef21a0b21a 100644 --- a/keyboards/handwired/pytest/macro/keymaps/default/keymap.json +++ b/keyboards/handwired/pytest/macro/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "handwired/pytest/basic", + "keyboard": "handwired/pytest/macro", "keymap": "default_json", "layout": "LAYOUT_ortho_1x1", "layers": [["QK_MACRO_0"]], diff --git a/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json b/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json index b166c6771fff..2bd5581ac767 100644 --- a/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json +++ b/keyboards/jacky_studio/piggy60/keymaps/via/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "jacky_studio/piggy60", + "keyboard": "jacky_studio/piggy60/rev1/solder", "keymap": "via", "layout": "LAYOUT_all", "layers": [ diff --git a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json index c93d28815208..226952964b9c 100644 --- a/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json +++ b/keyboards/splitkb/aurora/sofle_v2/keymaps/default/keymap.json @@ -1,5 +1,5 @@ { - "keyboard": "splitkb/aurora/sofle_v2", + "keyboard": "splitkb/aurora/sofle_v2/rev1", "keymap": "default", "version": 1, "layout": "LAYOUT", From f3ef90ba902b4cd198b75b1065a01a50ae3d421c Mon Sep 17 00:00:00 2001 From: mechlovin <57231893+mechlovin@users.noreply.github.com> Date: Tue, 15 Aug 2023 00:18:34 +0700 Subject: [PATCH 36/65] [Keyboard] Add Shostudio Arc (#21733) --- keyboards/shostudio/arc/info.json | 297 ++++++++++++++++++ .../shostudio/arc/keymaps/default/keymap.c | 35 +++ keyboards/shostudio/arc/keymaps/via/keymap.c | 36 +++ keyboards/shostudio/arc/keymaps/via/rules.mk | 1 + keyboards/shostudio/arc/readme.md | 27 ++ keyboards/shostudio/arc/rules.mk | 1 + 6 files changed, 397 insertions(+) create mode 100644 keyboards/shostudio/arc/info.json create mode 100644 keyboards/shostudio/arc/keymaps/default/keymap.c create mode 100644 keyboards/shostudio/arc/keymaps/via/keymap.c create mode 100644 keyboards/shostudio/arc/keymaps/via/rules.mk create mode 100644 keyboards/shostudio/arc/readme.md create mode 100644 keyboards/shostudio/arc/rules.mk diff --git a/keyboards/shostudio/arc/info.json b/keyboards/shostudio/arc/info.json new file mode 100644 index 000000000000..0e7f21464961 --- /dev/null +++ b/keyboards/shostudio/arc/info.json @@ -0,0 +1,297 @@ +{ + "keyboard_name": "ARC", + "manufacturer": "Mechlovin Studio", + "url": "", + "maintainer": "Shostudio", + "usb": { + "vid": "0x5050", + "pid": "0x65AC", + "device_version": "0.0.1" + }, + "matrix_pins": { + "cols": ["B11", "B10", "B2", "B1", "B0", "A7", "A6", "A5", "A15", "C13", "B9", "B8", "B7", "B6", "B5", "B4", "B3"], + "rows": ["B13", "B14", "A8", "A9", "A2"] + }, + "diode_direction": "COL2ROW", + "indicators": { + "caps_lock": "B12", + "on_state": 0 + }, + "features": { + "bootmagic": true, + "command": true, + "console": true, + "extrakey": true, + "nkro": true, + "mousekey": true + }, + "processor": "STM32F103", + "bootloader": "stm32duino", + "layouts": { + "LAYOUT_all": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [4, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 10.75, "y": 0}, + {"matrix": [0, 9], "x": 11.75, "y": 0}, + {"matrix": [0, 10], "x": 12.75, "y": 0}, + {"matrix": [0, 11], "x": 13.75, "y": 0}, + {"matrix": [0, 12], "x": 14.75, "y": 0}, + {"matrix": [0, 13], "x": 15.75, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0}, + {"matrix": [0, 15], "x": 17.75, "y": 0}, + {"matrix": [0, 16], "x": 18.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.25, "y": 1}, + {"matrix": [1, 11], "x": 13.25, "y": 1}, + {"matrix": [1, 12], "x": 14.25, "y": 1}, + {"matrix": [1, 13], "x": 15.25, "y": 1}, + {"matrix": [1, 14], "x": 16.25, "y": 1}, + {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 18.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 10], "x": 12.5, "y": 2}, + {"matrix": [2, 11], "x": 13.5, "y": 2}, + {"matrix": [2, 12], "x": 14.5, "y": 2}, + {"matrix": [2, 13], "x": 15.5, "y": 2}, + {"matrix": [2, 14], "x": 16.5, "y": 2}, + {"matrix": [2, 15], "x": 17.5, "y": 2, "w": 1.25}, + {"matrix": [2, 16], "x": 18.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 3}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3}, + {"matrix": [3, 10], "x": 12, "y": 3}, + {"matrix": [3, 11], "x": 13, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.75, "y": 3}, + {"matrix": [3, 16], "x": 18.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.75, "y": 4}, + {"matrix": [4, 15], "x": 17.75, "y": 4}, + {"matrix": [4, 16], "x": 18.75, "y": 4} + ] + }, + "LAYOUT_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [4, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 10.75, "y": 0}, + {"matrix": [0, 9], "x": 11.75, "y": 0}, + {"matrix": [0, 10], "x": 12.75, "y": 0}, + {"matrix": [0, 11], "x": 13.75, "y": 0}, + {"matrix": [0, 12], "x": 14.75, "y": 0}, + {"matrix": [0, 13], "x": 15.75, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 18.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.25, "y": 1}, + {"matrix": [1, 11], "x": 13.25, "y": 1}, + {"matrix": [1, 12], "x": 14.25, "y": 1}, + {"matrix": [1, 13], "x": 15.25, "y": 1}, + {"matrix": [1, 14], "x": 16.25, "y": 1}, + {"matrix": [1, 15], "x": 17.25, "y": 1, "w": 1.5}, + {"matrix": [1, 16], "x": 18.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 10], "x": 12.5, "y": 2}, + {"matrix": [2, 11], "x": 13.5, "y": 2}, + {"matrix": [2, 12], "x": 14.5, "y": 2}, + {"matrix": [2, 13], "x": 15.5, "y": 2}, + {"matrix": [2, 15], "x": 16.5, "y": 2, "w": 2.25}, + {"matrix": [2, 16], "x": 18.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 2.25}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3}, + {"matrix": [3, 10], "x": 12, "y": 3}, + {"matrix": [3, 11], "x": 13, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.75, "y": 3}, + {"matrix": [3, 16], "x": 18.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.75, "y": 4}, + {"matrix": [4, 15], "x": 17.75, "y": 4}, + {"matrix": [4, 16], "x": 18.75, "y": 4} + ] + }, + "LAYOUT_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2.25, "y": 0}, + {"matrix": [0, 3], "x": 3.25, "y": 0}, + {"matrix": [0, 4], "x": 4.25, "y": 0}, + {"matrix": [0, 5], "x": 5.25, "y": 0}, + {"matrix": [0, 6], "x": 6.25, "y": 0}, + {"matrix": [0, 7], "x": 7.25, "y": 0}, + {"matrix": [4, 7], "x": 8.25, "y": 0}, + {"matrix": [0, 8], "x": 10.75, "y": 0}, + {"matrix": [0, 9], "x": 11.75, "y": 0}, + {"matrix": [0, 10], "x": 12.75, "y": 0}, + {"matrix": [0, 11], "x": 13.75, "y": 0}, + {"matrix": [0, 12], "x": 14.75, "y": 0}, + {"matrix": [0, 13], "x": 15.75, "y": 0}, + {"matrix": [0, 14], "x": 16.75, "y": 0, "w": 2}, + {"matrix": [0, 16], "x": 18.75, "y": 0}, + + {"matrix": [1, 0], "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1, "y": 1}, + {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5}, + {"matrix": [1, 3], "x": 3.75, "y": 1}, + {"matrix": [1, 4], "x": 4.75, "y": 1}, + {"matrix": [1, 5], "x": 5.75, "y": 1}, + {"matrix": [1, 6], "x": 6.75, "y": 1}, + {"matrix": [1, 7], "x": 7.75, "y": 1}, + {"matrix": [1, 8], "x": 10.25, "y": 1}, + {"matrix": [1, 9], "x": 11.25, "y": 1}, + {"matrix": [1, 10], "x": 12.25, "y": 1}, + {"matrix": [1, 11], "x": 13.25, "y": 1}, + {"matrix": [1, 12], "x": 14.25, "y": 1}, + {"matrix": [1, 13], "x": 15.25, "y": 1}, + {"matrix": [1, 14], "x": 16.25, "y": 1}, + {"matrix": [2, 15], "x": 17.5, "y": 1, "w": 1.25, "h": 2}, + {"matrix": [1, 16], "x": 18.75, "y": 1}, + + {"matrix": [2, 0], "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1, "y": 2}, + {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75}, + {"matrix": [2, 3], "x": 4, "y": 2}, + {"matrix": [2, 4], "x": 5, "y": 2}, + {"matrix": [2, 5], "x": 6, "y": 2}, + {"matrix": [2, 6], "x": 7, "y": 2}, + {"matrix": [2, 7], "x": 8, "y": 2}, + {"matrix": [2, 8], "x": 10.5, "y": 2}, + {"matrix": [2, 9], "x": 11.5, "y": 2}, + {"matrix": [2, 10], "x": 12.5, "y": 2}, + {"matrix": [2, 11], "x": 13.5, "y": 2}, + {"matrix": [2, 12], "x": 14.5, "y": 2}, + {"matrix": [2, 13], "x": 15.5, "y": 2}, + {"matrix": [2, 14], "x": 16.5, "y": 2}, + {"matrix": [2, 16], "x": 18.75, "y": 2}, + + {"matrix": [3, 0], "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 1, "y": 3}, + {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25}, + {"matrix": [4, 3], "x": 3.5, "y": 3}, + {"matrix": [3, 3], "x": 4.5, "y": 3}, + {"matrix": [3, 4], "x": 5.5, "y": 3}, + {"matrix": [3, 5], "x": 6.5, "y": 3}, + {"matrix": [3, 6], "x": 7.5, "y": 3}, + {"matrix": [3, 7], "x": 8.5, "y": 3}, + {"matrix": [3, 8], "x": 10, "y": 3}, + {"matrix": [3, 9], "x": 11, "y": 3}, + {"matrix": [3, 10], "x": 12, "y": 3}, + {"matrix": [3, 11], "x": 13, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 13], "x": 15, "y": 3}, + {"matrix": [3, 14], "x": 16, "y": 3, "w": 1.75}, + {"matrix": [3, 15], "x": 17.75, "y": 3}, + {"matrix": [3, 16], "x": 18.75, "y": 3}, + + {"matrix": [4, 0], "x": 0, "y": 4}, + {"matrix": [4, 1], "x": 1, "y": 4}, + {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5}, + {"matrix": [4, 4], "x": 5, "y": 4, "w": 1.5}, + {"matrix": [4, 5], "x": 6.5, "y": 4, "w": 2.25}, + {"matrix": [4, 6], "x": 8.75, "y": 4}, + {"matrix": [4, 9], "x": 10, "y": 4, "w": 2.75}, + {"matrix": [4, 11], "x": 12.75, "y": 4, "w": 1.25}, + {"matrix": [4, 12], "x": 14, "y": 4, "w": 1.25}, + {"matrix": [4, 14], "x": 16.75, "y": 4}, + {"matrix": [4, 15], "x": 17.75, "y": 4}, + {"matrix": [4, 16], "x": 18.75, "y": 4} + ] + } + } +} diff --git a/keyboards/shostudio/arc/keymaps/default/keymap.c b/keyboards/shostudio/arc/keymaps/default/keymap.c new file mode 100644 index 000000000000..591f1928a156 --- /dev/null +++ b/keyboards/shostudio/arc/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2023 Mechlovin' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +#define LT1_CAP LT(1, KC_CAPS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi( + KC_F1, KC_F2, 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_INS, + KC_F3, KC_F4, 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_PGUP, + KC_F5, KC_F6, LT1_CAP, 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_PGDN, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(1), + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; diff --git a/keyboards/shostudio/arc/keymaps/via/keymap.c b/keyboards/shostudio/arc/keymaps/via/keymap.c new file mode 100644 index 000000000000..663823d915ba --- /dev/null +++ b/keyboards/shostudio/arc/keymaps/via/keymap.c @@ -0,0 +1,36 @@ +/* Copyright 2023 Mechlovin' + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +#define LT1_CAP LT(1, KC_CAPS) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_ansi( + KC_F1, KC_F2, 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_INS, + KC_F3, KC_F4, 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_PGUP, + KC_F5, KC_F6, LT1_CAP, 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_PGDN, + KC_F7, KC_F8, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TO(1), + KC_F9, KC_F10, KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPACE, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_ansi( + KC_TRNS, KC_TRNS, KC_TRNS, 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_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) + +}; diff --git a/keyboards/shostudio/arc/keymaps/via/rules.mk b/keyboards/shostudio/arc/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/shostudio/arc/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/shostudio/arc/readme.md b/keyboards/shostudio/arc/readme.md new file mode 100644 index 000000000000..b84d77e0b76f --- /dev/null +++ b/keyboards/shostudio/arc/readme.md @@ -0,0 +1,27 @@ +# arc + +![arc](https://i.imgur.com/HQdls1nh.png) + +ARC PCB, An ergonomic 65% keyboard PCB. +* Keyboard Maintainer: [shostudios](https://shostudios.co/) +* Hardware Supported: ARC, APM32F103 +* Hardware Availability: [shostudios](https://shostudios.co/) + +Make example for this keyboard (after setting up your build environment): + + make shostudio/arc:default + +Flashing example for this keyboard: + + make shostudio/arc:default:flash + +## Bootloader + +Enter the bootloader in 4 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available +* **Bootloader**: Hold down the key at (0,13) in the matrix (Backspace) and plug in the keyboard + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/shostudio/arc/rules.mk b/keyboards/shostudio/arc/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/shostudio/arc/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file From 815cecfbff7d24ee3c36692be0b0cfbe55c29980 Mon Sep 17 00:00:00 2001 From: Richard Baptist Date: Mon, 14 Aug 2023 20:21:34 +0200 Subject: [PATCH 37/65] [Keymap] Update rpbaptist crkbd (#21674) Co-authored-by: Drashna Jaelre Co-authored-by: Richard Baptist --- keyboards/crkbd/keymaps/rpbaptist/config.h | 146 +++-- keyboards/crkbd/keymaps/rpbaptist/glcdfont.c | 231 -------- .../keymaps/rpbaptist/glcdfont_godspeed.c | 231 -------- .../crkbd/keymaps/rpbaptist/glcdfont_laser.c | 231 -------- .../crkbd/keymaps/rpbaptist/glcdfont_multi.c | 36 ++ .../crkbd/keymaps/rpbaptist/glcdfont_pulse.c | 231 -------- keyboards/crkbd/keymaps/rpbaptist/keymap.c | 558 +++--------------- keyboards/crkbd/keymaps/rpbaptist/oled.c | 112 ++++ keyboards/crkbd/keymaps/rpbaptist/oled.h | 8 + keyboards/crkbd/keymaps/rpbaptist/readme.md | 40 +- keyboards/crkbd/keymaps/rpbaptist/rgb.c | 350 +++++++++++ keyboards/crkbd/keymaps/rpbaptist/rgb.h | 28 + keyboards/crkbd/keymaps/rpbaptist/rpbaptist.h | 73 +++ keyboards/crkbd/keymaps/rpbaptist/rules.mk | 25 +- 14 files changed, 820 insertions(+), 1480 deletions(-) delete mode 100644 keyboards/crkbd/keymaps/rpbaptist/glcdfont.c delete mode 100644 keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c delete mode 100644 keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c create mode 100644 keyboards/crkbd/keymaps/rpbaptist/glcdfont_multi.c delete mode 100644 keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c create mode 100644 keyboards/crkbd/keymaps/rpbaptist/oled.c create mode 100644 keyboards/crkbd/keymaps/rpbaptist/oled.h create mode 100644 keyboards/crkbd/keymaps/rpbaptist/rgb.c create mode 100644 keyboards/crkbd/keymaps/rpbaptist/rgb.h create mode 100644 keyboards/crkbd/keymaps/rpbaptist/rpbaptist.h diff --git a/keyboards/crkbd/keymaps/rpbaptist/config.h b/keyboards/crkbd/keymaps/rpbaptist/config.h index d0cda9579460..82064abb5758 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/config.h +++ b/keyboards/crkbd/keymaps/rpbaptist/config.h @@ -20,115 +20,103 @@ along with this program. If not, see . #pragma once -//#define USE_MATRIX_I2C - /* Select hand configuration */ #define EE_HANDS -#ifdef OLED_ENABLE -# define OLED_TIMEOUT 600000 -#endif - -// #define FORCE_NKRO +#define NO_ACTION_ONESHOT +#define NO_USB_STARTUP_CHECK -#define QMK_ESC_OUTPUT F4 // usually COL -#define QMK_ESC_INPUT D4 // usually ROW -#define QMK_LED B0 +#define LAYER_STATE_8BIT // 8 layer limit -#define NO_ACTION_ONESHOT +#define SPLIT_ACTIVITY_ENABLE +#define SPLIT_LAYER_STATE_ENABLE #ifdef RGB_MATRIX_ENABLE -# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended -# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 - -# define RGB_MATRIX_HUE_STEP 8 -# define RGB_MATRIX_SAT_STEP 12 -# define RGB_MATRIX_VAL_STEP 10 -# define RGB_MATRIX_SPD_STEP 10 +// Undefine r2g effects # undef ENABLE_RGB_MATRIX_ALPHAS_MODS -# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT # undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# undef ENABLE_RGB_MATRIX_BREATHING +# undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT # undef ENABLE_RGB_MATRIX_BAND_SAT # undef ENABLE_RGB_MATRIX_BAND_VAL -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL # undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT # undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL - -// #undef ENABLE_RGB_MATRIX_CYCLE_ALL -// # undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL # undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL # undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# undef ENABLE_RGB_MATRIX_DUAL_BEACON -# undef ENABLE_RGB_MATRIX_RAINBOW_BEACON -// #undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS # undef ENABLE_RGB_MATRIX_RAINDROPS -# undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +# undef ENABLE_RGB_MATRIX_HUE_BREATHING +# undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL +# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE +# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# undef ENABLE_RGB_MATRIX_SPLASH +# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -// #undef ENABLE_RGB_MATRIX_TYPING_HEATMAP -# undef ENABLE_RGB_MATRIX_DIGITAL_RAIN +# define SPLIT_TRANSACTION_IDS_USER USER_CONFIG_SYNC -# define RGB_MATRIX_KEYPRESSES // reacts to keypresses +# define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) +# define IDLE_TIMEOUT 60000 * 4 +# define GAMING_IDLE_TIMEOUT 10000 +# define RGB_MATRIX_TYPING_ACTIVE RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define RGB_MATRIX_TYPING_PASSIVE RGB_MATRIX_CYCLE_ALL +# define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended +# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 135 -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -// # undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +# define RGB_MATRIX_HUE_STEP 6 +# define RGB_MATRIX_SAT_STEP 8 +# define RGB_MATRIX_VAL_STEP 10 +# define RGB_MATRIX_SPD_STEP 10 -# undef ENABLE_RGB_MATRIX_SPLASH -# undef ENABLE_RGB_MATRIX_MULTISPLASH -# undef ENABLE_RGB_MATRIX_SOLID_SPLASH -# undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +# define ENABLE_RGB_MATRIX_BREATHING +# define ENABLE_RGB_MATRIX_CYCLE_ALL +# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# define RGB_MATRIX_ANIMATION_SPEED_DEFAULT UINT8_MAX / 2 -# define RGB_MATRIX_ANIMATION_SPEED_SLOW RGB_MATRIX_ANIMATION_SPEED_DEFAULT / 4 -# define RGB_MATRIX_ANIMATION_SPEED_SLOWER RGB_MATRIX_ANIMATION_SPEED_SLOW / 3 +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +# define ENABLE_RGB_MATRIX_TYPING_HEATMAP + +# define RGB_MATRIX_KEYPRESSES // reacts to keypresses + +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS + +# define RGB_MATRIX_ANIMATION_SPEED_FAST UINT8_MAX / 2 +# define RGB_MATRIX_ANIMATION_SPEED_MEDIUM UINT8_MAX / 4 +# define RGB_MATRIX_ANIMATION_SPEED_SLOW UINT8_MAX / 8 +# define RGB_MATRIX_ANIMATION_SPEED_SLOWER UINT8_MAX / 24 + +# if defined(THEME_GODSPEED) +# define THEME_HSV 132, 255, 125 +# elif defined(THEME_GODSPEED_ARES) +# define THEME_HSV HSV_ORANGE +# elif defined(THEME_LASER) +# undef RGB_MATRIX_TYPING_ACTIVE +# undef RGB_MATRIX_TYPING_PASSIVE +# define THEME_HSV HSV_PURPLE +# define RGB_MATRIX_TYPING_ACTIVE RGB_MATRIX_SOLID_REACTIVE_SIMPLE +# define RGB_MATRIX_TYPING_PASSIVE RGB_MATRIX_CYCLE_LEFT_RIGHT +# elif defined(THEME_MILKSHAKE) +# undef RGB_MATRIX_TYPING_ACTIVE +# undef RGB_MATRIX_TYPING_PASSIVE +# define THEME_HSV 30, 255, 218 +# define RGB_MATRIX_TYPING_ACTIVE RGB_MATRIX_TYPING_HEATMAP +# define RGB_MATRIX_TYPING_PASSIVE RGB_MATRIX_CYCLE_LEFT_RIGHT +# else +# define THEME_HSV 123, 255, 125 // default to PULSE +# endif #endif #define TAPPING_TERM 140 #define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY +#define TAP_CODE_DELAY 10 #define TAPPING_TOGGLE 2 -#ifdef MOUSEKEY_ENABLE -# define MOUSEKEY_DELAY 0 -# define MOUSEKEY_INTERVAL 16 -# define MOUSEKEY_MAX_SPEED 6 -# define MOUSEKEY_TIME_TO_MAX 36 -# define MOUSEKEY_WHEEL_MAX_SPEED 4 -# define MOUSEKEY_WHEEL_TIME_TO_MAX 100 -#endif - -#ifdef THEME_GODSPEED -# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c" -# define THEME_HSV 132, 255, 125 -#endif - -#ifdef THEME_PULSE -# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c" -# define THEME_HSV 123, 255, 125 -#endif - -#ifdef THEME_LASER -# define OLED_FONT_H "keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c" -# define THEME_HSV HSV_MAGENTA +#ifdef OLED_ENABLE +# define SPLIT_OLED_ENABLE +# define OLED_TIMEOUT 60000 * 10 +# define OLED_FONT_H "glcdfont_multi.c" #endif -#define NO_ACTION_ONESHOT - #undef PRODUCT #define PRODUCT "Corne Keyboard" - -#define LCPC_KEYS KC_LCTL, KC_LSFT, KC_9 -#define RCPC_KEYS KC_RCTL, KC_RSFT, KC_0 diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c deleted file mode 100644 index ac1f11dbbe2b..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, -0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, -0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, -0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, -0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, -0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, -0x80, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, -0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, -0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, -0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, -0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, -0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, -0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, -0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, -0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, -0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, -0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, -0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3, -0x60, 0x20, 0x30, 0x30, 0x38, 0x18, -0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, -0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, -0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, -0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, -0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, -0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, -0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, -0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, -0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, -0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, -0x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, -0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, -0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, -0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, -0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, -0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, -0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, -0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x01, 0x01, 0x00, 0x40, 0x60, 0x31, -0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, -0x61, 0x60, 0x60, 0x60, 0x60, 0x60, -0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, -0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x07, -0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, -0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, -0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, -0x60, 0x60, 0x60, 0x60, 0x61, 0x63, -0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, -0x07, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c deleted file mode 100644 index ac1f11dbbe2b..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_godspeed.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, -0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, -0x01, 0x01, 0x01, 0x01, 0x01, 0x01, -0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, -0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, -0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, -0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, -0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, -0x80, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, -0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, -0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, -0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, -0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, -0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, -0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, -0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, -0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, -0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, -0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, -0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3, -0x60, 0x20, 0x30, 0x30, 0x38, 0x18, -0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, -0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, -0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, -0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, -0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, -0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, -0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, -0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, -0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, -0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, -0x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, -0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, -0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, -0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, -0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, -0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, -0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, -0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x01, 0x01, 0x00, 0x40, 0x60, 0x31, -0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, -0x61, 0x60, 0x60, 0x60, 0x60, 0x60, -0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, -0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x01, 0x07, -0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, -0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, -0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, -0x60, 0x60, 0x60, 0x60, 0x61, 0x63, -0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, -0x07, 0x03, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c deleted file mode 100644 index 612b7123b093..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_laser.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, -0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, -0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, -0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, -0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, -0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, -0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, -0x00, 0x18, 0x24, 0x18, 0x00, 0x00, -0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, -0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, -0x26, 0x29, 0x79, 0x29, 0x26, 0x00, -0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, -0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, -0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, -0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, -0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, -0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, -0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, -0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, -0x60, 0x60, 0x60, 0x60, 0x60, 0x00, -0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, -0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, -0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, -0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, -0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, -0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, -0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, -0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, -0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, -0x00, 0x07, 0x00, 0x07, 0x00, 0x00, -0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, -0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, -0x23, 0x13, 0x08, 0x64, 0x62, 0x00, -0x36, 0x49, 0x56, 0x20, 0x50, 0x00, -0x00, 0x08, 0x07, 0x03, 0x00, 0x00, -0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, -0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, -0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, -0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, -0x00, 0x80, 0x70, 0x30, 0x00, 0x00, -0x08, 0x08, 0x08, 0x08, 0x08, 0x00, -0x00, 0x00, 0x60, 0x60, 0x00, 0x00, -0x20, 0x10, 0x08, 0x04, 0x02, 0x00, -0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, -0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, -0x72, 0x49, 0x49, 0x49, 0x46, 0x00, -0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, -0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, -0x27, 0x45, 0x45, 0x45, 0x39, 0x00, -0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, -0x41, 0x21, 0x11, 0x09, 0x07, 0x00, -0x36, 0x49, 0x49, 0x49, 0x36, 0x00, -0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, -0x00, 0x00, 0x14, 0x00, 0x00, 0x00, -0x00, 0x40, 0x34, 0x00, 0x00, 0x00, -0x00, 0x08, 0x14, 0x22, 0x41, 0x00, -0x14, 0x14, 0x14, 0x14, 0x14, 0x00, -0x00, 0x41, 0x22, 0x14, 0x08, 0x00, -0x02, 0x01, 0x59, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, -0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, -0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, -0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, -0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, -0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, -0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, -0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, -0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, -0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, -0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, -0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, -0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, -0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, -0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, -0x26, 0x49, 0x49, 0x49, 0x32, 0x00, -0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, -0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, -0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, -0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, -0x63, 0x14, 0x08, 0x14, 0x63, 0x00, -0x03, 0x04, 0x78, 0x04, 0x03, 0x00, -0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, -0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, -0x02, 0x04, 0x08, 0x10, 0x20, 0x00, -0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, -0x04, 0x02, 0x01, 0x02, 0x04, 0x00, -0x40, 0x40, 0x40, 0x40, 0x40, 0x00, -0x00, 0x03, 0x07, 0x08, 0x00, 0x00, -0x20, 0x54, 0x54, 0x78, 0x40, 0x00, -0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, -0x38, 0x44, 0x44, 0x44, 0x28, 0x00, -0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, -0x38, 0x54, 0x54, 0x54, 0x18, 0x00, -0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, -0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, -0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, -0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, -0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, -0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, -0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, -0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, -0x38, 0x44, 0x44, 0x44, 0x38, 0x00, -0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, -0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, -0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, -0x48, 0x54, 0x54, 0x54, 0x24, 0x00, -0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, -0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, -0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, -0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, -0x44, 0x28, 0x10, 0x28, 0x44, 0x00, -0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, -0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, -0x00, 0x08, 0x36, 0x41, 0x00, 0x00, -0x00, 0x00, 0x77, 0x00, 0x00, 0x00, -0x00, 0x41, 0x36, 0x08, 0x00, 0x00, -0x02, 0x01, 0x02, 0x04, 0x02, 0x00, -0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x80, -0xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, -0xE0, 0xF0, 0xF8, 0xFC, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0xE0, 0xF0, 0x7C, -0x3F, 0x0F, 0x03, 0x03, 0x03, 0x03, -0x03, 0x03, 0x1B, 0x1F, 0x1F, 0x07, -0x03, 0xC0, 0xE0, 0xFC, 0x1C, 0x0F, -0x03, 0x03, 0x03, 0x03, 0x03, 0x03, -0x03, 0x03, 0x03, 0x03, 0x03, 0x03, -0xE7, 0xFF, 0xFF, 0x0F, 0x03, 0x03, -0x03, 0x03, 0x83, 0x83, 0xE3, 0xE7, -0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, -0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, -0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, -0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, -0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, -0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, -0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, -0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x80, 0xC0, 0xF0, 0x7C, 0x1F, 0x07, -0x01, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x80, -0x80, 0x90, 0x98, 0x9C, 0x8C, 0x80, -0x80, 0x80, 0x9C, 0x9C, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x10, -0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, -0x1C, 0x1C, 0x9C, 0x9C, 0x1C, 0x1C, -0x0C, 0x0C, 0x80, 0x90, 0x90, 0x10, -0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, -0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0C, -0x00, 0x00, 0x90, 0x90, 0x9C, 0x9C, -0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, -0x9C, 0x0C, 0x0C, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, -0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, -0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, -0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, -0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, -0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, -0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, -0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x70, 0x7C, 0x7E, -0x6F, 0x63, 0x60, 0x60, 0x60, 0x60, -0x60, 0x60, 0x60, 0x60, 0x60, 0x60, -0x60, 0x70, 0x78, 0x3C, 0x1E, 0x0F, -0x07, 0x03, 0x01, 0x01, 0x01, 0x01, -0x01, 0x01, 0x7F, 0x7F, 0x00, 0x00, -0x60, 0x70, 0x7C, 0x7C, 0x6C, 0x60, -0x60, 0x60, 0x60, 0x60, 0x60, 0x78, -0x3E, 0x0F, 0x03, 0x01, 0x00, 0x60, -0x78, 0x7E, 0x67, 0x61, 0x60, 0x60, -0x60, 0x60, 0x60, 0x60, 0x60, 0x60, -0x70, 0x00, 0x00, 0x00, 0x00, 0x60, -0x78, 0x7E, 0x0F, 0x07, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, -0x7F, 0x70, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_multi.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_multi.c new file mode 100644 index 000000000000..28d228190cb9 --- /dev/null +++ b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_multi.c @@ -0,0 +1,36 @@ +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "progmem.h" + +// Helidox 8x6 font with QMK Firmware Logo +// Online editor: https://joric.github.io/qle/ + +const unsigned char font[] PROGMEM = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, + 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, + 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, + 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, + 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, +#if defined(THEME_GODSPEED) || defined(THEME_GODSPEED_ARES) + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x38, 0x1C, 0x0C, 0x06, 0x03, 0x03, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x03, 0x03, 0x82, 0x86, 0xCC, 0xF8, 0xF0, 0xF0, 0x38, 0x1C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x70, 0xF8, 0x0C, 0x04, 0xC6, 0xA2, 0xB3, 0x9F, 0x87, 0x01, 0x01, 0x1F, 0x66, 0x66, 0x44, 0x4C, 0x58, 0x70, 0xE0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0x78, 0x18, 0x8C, 0xC6, 0xE6, 0xE3, 0xE3, 0xC3, 0x83, 0x03, 0x03, 0x73, 0x76, 0x76, 0x0C, 0x18, 0xF8, 0xF0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, + 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0x40, 0x7F, 0xF3, 0x60, 0x20, 0x30, 0x30, 0x38, 0x18, 0x9C, 0xCC, 0x6C, 0x6E, 0x3E, 0x3E, 0x1F, 0x0F, 0x0F, 0x03, 0x03, 0x01, 0xC0, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xC1, 0x00, 0x1D, 0x67, 0xC0, 0x80, 0x01, 0x00, 0x00, 0xF0, 0x0F, 0x00, 0x00, 0x00, 0x0C, 0x1A, 0x32, 0xC2, 0x01, 0xC1, 0xFF, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0xFF, + 0x80, 0x00, 0x00, 0xC3, 0xC7, 0xC7, 0x8F, 0x0F, 0x07, 0x03, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0x80, 0x00, 0x07, 0x0F, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x40, 0x60, 0x31, 0x3B, 0x1E, 0x0C, 0x1E, 0x36, 0x23, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0x1C, 0x3E, 0x3E, 0x3F, 0x1D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x07, 0x0C, 0x18, 0x10, 0x33, 0x3E, 0x38, 0x6E, 0x67, 0x60, 0x60, 0x60, 0x20, 0x30, 0x18, 0x08, 0x0F, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0C, 0x19, 0x31, 0x21, 0x60, 0x60, 0x60, 0x60, 0x61, 0x63, 0x67, 0x67, 0x33, 0x39, 0x18, 0x0E, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#elif defined(THEME_LASER) + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xE0, 0xF8, 0x3E, 0x0F, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0x7C, 0x3F, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1B, 0x1F, 0x1F, 0x07, 0x03, 0xC0, 0xE0, 0xFC, 0x1C, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0xE7, 0xFF, 0xFF, 0x0F, 0x03, 0x03, 0x03, 0x03, 0x83, 0x83, 0xE3, 0xE7, 0x3C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, + 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xF0, 0x7C, 0x1F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x90, 0x98, 0x9C, 0x8C, 0x80, 0x80, 0x80, 0x9C, 0x9C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, 0x1C, 0x1C, 0x0C, 0x0C, 0x80, 0x90, 0x90, 0x10, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0C, + 0x00, 0x00, 0x90, 0x90, 0x9C, 0x9C, 0x1C, 0x1C, 0x1C, 0x1C, 0x9C, 0x9C, 0x9C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x7C, 0x7E, 0x6F, 0x63, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x03, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x7F, 0x7F, 0x00, 0x00, 0x60, 0x70, 0x7C, 0x7C, 0x6C, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78, 0x3E, 0x0F, 0x03, 0x01, 0x00, 0x60, 0x78, 0x7E, 0x67, 0x61, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x70, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x7E, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0F, 0x7F, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#elif defined(THEME_MILKSHAKE) + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFC, 0xFE, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x80, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xF8, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFE, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF0, 0xF8, 0xF8, 0xFC, 0x7C, 0x7C, 0x7C, 0xFC, 0xF8, 0xF8, 0xF0, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, + 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xF8, 0xFC, 0xFE, 0xFF, 0xDF, 0x8F, 0x07, 0x03, 0x00, 0x00, 0x70, 0xF8, 0xF8, 0xF8, 0xF8, 0xFC, 0x7C, 0x7E, 0x3F, 0x3F, 0x1F, 0x0F, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xE0, 0xF1, 0xFB, 0xFF, 0xFF, 0x7F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFB, 0xF1, 0xE0, 0xC0, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0x1F, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xF0, 0xF0, 0xF0, 0xE0, 0xC1, 0x83, 0x03, 0x83, 0xC1, 0xE0, 0xF0, 0xF0, 0xF0, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0x1F, 0x1F, 0x0E, 0x00, 0x00, 0x1F, 0x7F, 0xFF, 0xFF, 0xFF, 0xF1, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0xF1, 0xFF, 0xFF, 0xFF, 0x3F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0F, 0x1F, 0x1F, 0x1F, 0x0F, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#else // default PULSE + 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xF8, 0xF8, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, 0xF0, 0xFE, 0x7F, 0x7F, 0xFE, 0xF0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, + 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x0F, 0x03, 0x03, 0x1F, 0xFF, 0xFC, 0xE0, 0xE0, 0xFC, 0xFF, 0x1F, 0x03, 0x00, 0x00, 0x03, 0x1F, 0xFF, 0xFC, 0xE0, 0xE0, 0xF8, 0xFC, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, + 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +#endif +}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c b/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c deleted file mode 100644 index 3699f4500b76..000000000000 --- a/keyboards/crkbd/keymaps/rpbaptist/glcdfont_pulse.c +++ /dev/null @@ -1,231 +0,0 @@ -#include "progmem.h" - -// Helidox 8x6 font with QMK Firmware Logo -// Online editor: http://teripom.x0.com/ - -const unsigned char font[] PROGMEM = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, - 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, - 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, - 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, - 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, - 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, - 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, - 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, - 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, - 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, - 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, - 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, - 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, - 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, - 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, - 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, - 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, - 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, - 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, - 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, - 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, - 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00, - 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, - 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, - 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, - 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, - 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, - 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, - 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, - 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, - 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, - 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, - 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, - 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, - 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, - 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, - 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, - 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, - 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, - 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, - 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00, - 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, - 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, - 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, - 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, - 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, - 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, - 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, - 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, - 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, - 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, - 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, - 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, - 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, - 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00, - 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, - 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, - 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, - 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, - 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, - 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, - 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, - 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, - 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, - 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, - 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, - 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, - 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, - 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, - 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, - 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, - 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, - 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x28, 0x00, - 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, - 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, - 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, - 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, - 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, - 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, - 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, - 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, - 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, - 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, - 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, - 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, - 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, - 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, - 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, - 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, - 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, - 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, - 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, - 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x80, 0xF0, 0xF8, 0xF8, 0xF0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x80, - 0xF0, 0xFE, 0x7F, 0x7F, 0xFE, 0xF0, - 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xE0, 0xF0, 0xF0, 0xF0, 0xE0, 0xEC, - 0xEE, 0xF7, 0xF3, 0x70, 0x20, 0x00, - 0x7C, 0x7C, 0x7C, 0x7E, 0x00, 0x7E, - 0x7E, 0x7E, 0x7F, 0x7F, 0x7F, 0x00, - 0x00, 0x80, 0xC0, 0xE0, 0x7E, 0x5B, - 0x4F, 0x5B, 0xFE, 0xC0, 0x00, 0x00, - 0xC0, 0x00, 0xDC, 0xD7, 0xDE, 0xDE, - 0xDE, 0xD7, 0xDC, 0x00, 0xC0, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1F, 0x0F, 0x03, 0x03, 0x1F, - 0xFF, 0xFC, 0xE0, 0xE0, 0xFC, 0xFF, - 0x1F, 0x03, 0x00, 0x00, 0x03, 0x1F, - 0xFF, 0xFC, 0xE0, 0xE0, 0xF8, 0xFC, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, - 0x1F, 0x1F, 0x3F, 0x7F, 0x7F, 0x7F, - 0x7F, 0x7F, 0x3F, 0x1E, 0x0C, 0x00, - 0x1F, 0x1F, 0x1F, 0x3F, 0x00, 0x3F, - 0x3F, 0x3F, 0x7F, 0x7F, 0x7F, 0x00, - 0x30, 0x7B, 0x7F, 0x78, 0x30, 0x20, - 0x20, 0x30, 0x78, 0x7F, 0x3B, 0x00, - 0x03, 0x00, 0x0F, 0x7F, 0x0F, 0x0F, - 0x0F, 0x7F, 0x0F, 0x00, 0x03, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x07, 0x0F, 0x0F, 0x07, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; diff --git a/keyboards/crkbd/keymaps/rpbaptist/keymap.c b/keyboards/crkbd/keymaps/rpbaptist/keymap.c index aeeae2cbd82f..fc05a554036e 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/keymap.c +++ b/keyboards/crkbd/keymaps/rpbaptist/keymap.c @@ -1,474 +1,152 @@ -#include QMK_KEYBOARD_H +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later -static uint32_t oled_timer = 0; - -#ifdef RGB_MATRIX_ENABLE - static uint32_t hypno_timer; -#endif - -enum layer_names { - _COLEMAKDHM, - _GAMING, - _GAMING_EXT, - _NUMPAD, - _SYM, - _NAV, - _UTIL -}; - -enum custom_keycodes { - BSP_DEL = SAFE_RANGE, - RGB_RST, // Reset RGB - RGB_UND, // Toggle RGB underglow as layer indicator - RGB_IDL, // RGB Idling animations - RGB_MAP, // RGB_MATRIX_TYPING_HEATMAP - RGB_NXS, // RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS - RGB_SOL, // RGB_MATRIX_SOLID_COLOR - RGB_CYC, // RGB_MATRIX_CYCLE_ALL - RGB_DUO, // RGB_MATRIX_RAINBOW_PINWHEELS - RGB_SCR // RGB_MATRIX_CYCLE_LEFT_RIGHT -}; - -typedef union { - uint32_t raw; - struct { - bool rgb_layer_change : 1; - bool rgb_matrix_idle_anim : 1; - uint8_t rgb_matrix_active_mode : 4; - uint8_t rgb_matrix_idle_mode : 4; - uint8_t rgb_matrix_active_speed : 8; - uint8_t rgb_matrix_idle_speed : 8; - uint16_t rgb_matrix_idle_timeout : 16; - }; -} user_config_t; - -user_config_t user_config; - -// Base layers -#define COLEMAK DF(_COLEMAKDHM) -#define GAMING DF(_GAMING) - -// Layer toggle and switch -#define T_NAV TT(_NAV) -#define S_NAV MO(_NAV) - -#define T_SYM TT(_SYM) -#define S_SYM MO(_SYM) - -// Layer keys with functionality on tap -#define NAV_0 LT(_NAV, KC_0) -#define TAB_NUM LT(_NUMPAD, KC_TAB) - -#define EXT_SF LT(_GAMING_EXT, KC_LSFT) - -// Tap/mod keys -#define RCTL_BR RCTL_T(KC_RBRC) -#define LCTL_BR LCTL_T(KC_LBRC) - -#define SFT_SPC LSFT_T(KC_SPACE) -#define SFT_ENT RSFT_T(KC_ENTER) - -// Global tab forward and backward -#define TAB_FWD LCTL(KC_TAB) -#define TAB_BCK LCTL(LSFT(KC_TAB)) -#define TAB_CLS LCTL(KC_W) - -#define WIN_CLS LALT(KC_F4) - -// CTRL become parens keys on NAV and NUM layers -#define LCT_PRN SC_LCPO -#define RCT_PRN SC_RCPC - -// € -#define KC_EUR ALGR(KC_5) +#include "rpbaptist.h" const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_COLEMAKDHM] = LAYOUT_split_3x6_3( + [_COLEMAKDH] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, BSP_DEL, + KC_ESC, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, BSP_DEL,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - TAB_NUM, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT, + TAB_NUM, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_QUOT,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCTL_BR, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, RCTL_BR, + LCTL_BR, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, RCTL_BR,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_LALT, T_SYM, SFT_SPC, SFT_ENT, T_NAV, KC_RGUI + KC_LALT, T_SYM, SFT_SPC, SFT_ENT, T_NAV, KC_RGUI \ //`--------------------------' `--------------------------' ), - [_GAMING] = LAYOUT_split_3x6_3( + [_GAMING] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_TAB, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL, + KC_LCTL, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_RCTL,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, EXT_SF, KC_SPC, _______, _______, _______ + EXTALT, KC_LSFT, KC_SPC, _______, _______, _______ \ //`--------------------------' `--------------------------' ), - [_GAMING_EXT] = LAYOUT_split_3x6_3( + [_WASD] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_1, KC_2, _______, KC_3, KC_4, _______, _______, _______, _______, _______, KC_DEL, + _______, KC_T, KC_Q, KC_W, KC_E, KC_R, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LBRC, KC_RBRC, _______, _______, _______, KC_BSLS, _______, _______, _______, _______, _______, _______, + KC_TAB, KC_G, KC_A, KC_S, KC_D, KC_F, KC_H, KC_J, KC_K, KC_L, KC_SCLN, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______, _______, _______, + KC_LCTL, KC_B, KC_Z, KC_X, KC_C, KC_V, KC_N, KC_M, _______, _______, _______, KC_RCTL,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, KC_ENT, _______, _______ + EXTALT, KC_LSFT, KC_SPC, _______, _______, _______ \ //`--------------------------' `--------------------------' ), - [_NUMPAD] = LAYOUT_split_3x6_3( + [_GAMING_EXT] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, KC_P7, KC_P8, KC_P9, XXXXXXX, _______, + KC_GRV, KC_Y, KC_I, KC_J, KC_M, KC_N, _______, _______, _______, _______, _______, KC_DEL,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UNDS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PPLS, + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, KC_EQL, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PAST, + KC_CAPS, KC_6, KC_7, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______, _______, _______,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, KC_P0, KC_DOT + _______, KC_LALT, KC_ENT, KC_ENT, _______, _______ \ //`--------------------------' `--------------------------' ), - [_SYM] = LAYOUT_split_3x6_3( + [_NUMPAD] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + _______, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, XXXXXXX, KC_EUR, KC_7, KC_8, KC_9, _______, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_MINS, KC_PLUS, + S_NUM, XXXXXXX, KC_MSTP, KC_VOLD, KC_MPLY, XXXXXXX, KC_UNDS, KC_4, KC_5, KC_6, KC_MINS, KC_PLUS,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCT_PRN, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, XXXXXXX, KC_EQL, KC_PIPE, KC_LT, KC_GT, KC_BSLS, RCT_PRN, + SC_LCPO, XXXXXXX, XXXXXXX, KC_MUTE, KC_PSCR, KC_NUM, KC_EQL, KC_1, KC_2, KC_3, KC_SLSH, KC_ASTR,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, S_SYM, _______, _______, _______, _______ + _______, _______, _______, _______, KC_0, KC_DOT \ //`--------------------------' `--------------------------' ), - [_NAV] = LAYOUT_split_3x6_3( + [_SYM] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, KC_HOME, KC_UP, KC_END, XXXXXXX, KC_BSPC, + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_UNDS, KC_MINS, KC_PLUS,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - LCT_PRN, KC_F11, KC_F12, KC_INS, KC_PSCR, KC_CAPS, WIN_CLS, TAB_BCK, TAB_CLS, TAB_FWD, XXXXXXX, RCT_PRN, + SC_LCPO, XXXXXXX, XXXXXXX, XXXXXXX, KC_EUR, XXXXXXX, KC_EQL, KC_PIPE, KC_LT, KC_GT, KC_EXLM, SC_RCPC,\ + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + _______, S_SYM, _______, _______, _______, _______ \ + //`--------------------------' `--------------------------' + ), + + [_NAV] = LAYOUT_split_3x6_3( \ + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_INS, KC_BSPC,\ + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_TILD, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, KC_RSFT,\ + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + SC_LCPO, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_CAPS, WIN_CLS, TAB_BCK, TAB_CLS, TAB_FWD, KC_BSLS, SC_RCPC,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+---------| - _______, _______, _______, _______, S_NAV, _______ + _______, _______, _______, _______, S_NAV, _______ \ //`--------------------------' `--------------------------' ), - [_UTIL] = LAYOUT_split_3x6_3( + [_UTIL] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, XXXXXXX, KC_MPRV, KC_VOLU, KC_MNXT, COLEMAK, RGB_IDL, RGB_MAP, RGB_NXS, XXXXXXX, RGB_HUD, RGB_HUI, + QK_BOOT, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, TYPING, RGB_ATG, XXXXXXX, XXXXXXX, RGB_IDL, RGB_UND, RGB_TOG,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - RGB_RST, XXXXXXX, KC_MSTP, KC_VOLD, KC_MPLY, GAMING, RGB_UND, RGB_DUO, RGB_SCR, RGB_SPI, RGB_SAD, RGB_SAI, + LCK_NMP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, GAMING, RGB_PST, XXXXXXX, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - EE_CLR, KC_SLEP, XXXXXXX, KC_MUTE, XXXXXXX, XXXXXXX, RGB_TOG, RGB_SOL, RGB_CYC, RGB_SPD, RGB_VAD, RGB_VAI, + EE_CLR, KC_SLEP, XXXXXXX, XXXXXXX, XXXXXXX, WASD, RGB_PCT, XXXXXXX, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______ + _______, _______, _______, _______, _______, _______ \ //`--------------------------' `--------------------------' ) }; layer_state_t layer_state_set_user(layer_state_t state) { switch (get_highest_layer(default_layer_state)) { - case _COLEMAKDHM: + case _COLEMAKDH: state = update_tri_layer_state(state, _SYM, _NAV, _UTIL); break; case _GAMING: + case _WASD: state = update_tri_layer_state(state, _GAMING_EXT, _NAV, _UTIL); break; } return state; } +void suspend_power_down_keymap(void) { #ifdef OLED_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (is_keyboard_master()) { - return OLED_ROTATION_270; - } else { - return OLED_ROTATION_180; - } -} - -void render_crkbd_logo(void) { - static const char PROGMEM crkbd_logo[] = { - 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, - 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, - 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, - 0}; - oled_write_P(crkbd_logo, false); -} - -# ifdef RGB_MATRIX_ENABLE -const char *rgb_matrix_anim_oled_text(uint8_t mode) { - switch (mode) { - case RGB_MATRIX_TYPING_HEATMAP: - return PSTR("Heat "); - case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS: - return PSTR("Nexus"); - case RGB_MATRIX_SOLID_COLOR: - return PSTR("Solid"); - case RGB_MATRIX_CYCLE_ALL: - return PSTR("Cycle"); - case RGB_MATRIX_RAINBOW_PINWHEELS: - return PSTR("Wheel"); - case RGB_MATRIX_CYCLE_LEFT_RIGHT: - return PSTR("Wave "); - default: - return PSTR(""); - } -} -# endif - -void render_status(void) { - // oled_write_P(PSTR("Layout: "), false); - switch (get_highest_layer(default_layer_state)) { - case _COLEMAKDHM: - oled_write_P(PSTR("TYPE "), false); - break; - case _GAMING: - oled_write_P(PSTR("GAME "), false); - break; - } - - oled_write_P(PSTR("\n"), false); - - switch (get_highest_layer(layer_state)) { - case 0: - oled_write_P(PSTR(" "), false); - break; - case _SYM: - oled_write_P(PSTR("Sym "), false); - break; - case _NAV: - oled_write_P(PSTR("Nav "), false); - break; - case _GAMING_EXT: - oled_write_P(PSTR("Ext "), false); - break; - case _NUMPAD: - oled_write_P(PSTR("Num "), false); - break; - case _UTIL: - oled_write_P(PSTR("Util "), false); - break; - default: - oled_write_P(PSTR("Unkn "), false); - break; - } - oled_write_P(PSTR("\n"), false); - - uint8_t modifiers = get_mods(); - - oled_write_P((modifiers & MOD_MASK_SHIFT) ? PSTR("SHIFT") : PSTR("\n"), false); - oled_write_P((modifiers & MOD_MASK_CTRL) ? PSTR("CTRL ") : PSTR("\n"), false); - oled_write_P((modifiers & MOD_MASK_ALT) ? PSTR("ALT ") : PSTR("\n"), false); - oled_write_P((modifiers & MOD_MASK_GUI) ? PSTR("SUPER") : PSTR("\n"), false); - - oled_write_P(PSTR("\n"), false); - - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(PSTR("Mode:"), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR("\n"), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR("\n"), false); - -# ifdef RGB_MATRIX_ENABLE - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("\n"), false); - - if (rgb_matrix_config.enable) { - if (user_config.rgb_matrix_idle_anim) { - oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_active_mode), false); - oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_idle_mode), false); - } else { - oled_write_P(PSTR("\n"), false); - oled_write_P(rgb_matrix_anim_oled_text(rgb_matrix_get_mode()), false); - } - } else { - oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR("\n"), false); - } -# endif -} - -bool oled_task_user(void) { - if (timer_elapsed32(oled_timer) > OLED_TIMEOUT) { - oled_off(); - return; - } else { - oled_on(); - } - - if (is_keyboard_master()) { - render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_crkbd_logo(); - #ifdef RGB_MATRIX_ENABLE - if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { - oled_scroll_left(); // Turns on scrolling - } else { - oled_scroll_off(); - } - #endif - } - return false; -} + oled_off(); #endif - #ifdef RGB_MATRIX_ENABLE - -extern led_config_t g_led_config; -void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_type) { - HSV hsv = {hue, sat, val}; - if (hsv.v > rgb_matrix_config.hsv.v) { - hsv.v = rgb_matrix_config.hsv.v; - } - - RGB rgb = hsv_to_rgb(hsv); - for (uint8_t i = 0; i < RGB_MATRIX_LED_COUNT; i++) { - if (HAS_FLAGS(g_led_config.flags[i], led_type)) { - rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); - } - } -} - -void check_default_layer(uint8_t type) { - switch (get_highest_layer(default_layer_state)) { - case _COLEMAKDHM: - rgb_matrix_layer_helper(THEME_HSV, type); - break; - case _GAMING: - rgb_matrix_layer_helper(HSV_RED, type); - break; - } -} - -bool rgb_matrix_indicators_user(void) { - if ( - user_config.rgb_layer_change && rgb_matrix_config.enable && - (!user_config.rgb_matrix_idle_anim || rgb_matrix_get_mode() != user_config.rgb_matrix_idle_mode) - ) - { - switch (get_highest_layer(layer_state)) { - case _GAMING_EXT: - rgb_matrix_layer_helper(HSV_PURPLE, LED_FLAG_UNDERGLOW); - break; - case _SYM: - rgb_matrix_layer_helper(HSV_GOLDENROD, LED_FLAG_UNDERGLOW); - break; - case _NAV: - rgb_matrix_layer_helper(HSV_SPRINGGREEN, LED_FLAG_UNDERGLOW); - break; - case _UTIL: - rgb_matrix_layer_helper(HSV_PINK, LED_FLAG_UNDERGLOW); - break; - case _NUMPAD: - rgb_matrix_layer_helper(HSV_CORAL, LED_FLAG_UNDERGLOW); - break; - default: { - check_default_layer(LED_FLAG_UNDERGLOW); - break; - } - } - } - return false; -} - -void rgb_matrix_update_current_mode(uint8_t mode, uint8_t speed) { - rgb_matrix_config.speed = speed; - rgb_matrix_mode_noeeprom(mode); - eeconfig_update_user(user_config.raw); -} - -void rgb_matrix_update_dynamic_mode(uint8_t mode, uint8_t speed, bool active) { - if (active) { - user_config.rgb_matrix_active_speed = speed; - user_config.rgb_matrix_active_mode = mode; - } else { - user_config.rgb_matrix_idle_speed = speed; - user_config.rgb_matrix_idle_mode = mode; - } -} - -void rgb_matrix_update_mode(uint8_t mode, uint8_t speed, bool active) { - if (user_config.rgb_matrix_idle_anim) { - rgb_matrix_update_dynamic_mode(mode, speed, active); - } - if (active || !user_config.rgb_matrix_idle_anim) { - rgb_matrix_update_current_mode(mode, speed); - } -} - -void rgb_matrix_set_defaults(void) { - rgb_matrix_config.enable = 1; - rgb_matrix_sethsv_noeeprom(THEME_HSV); - - user_config.rgb_layer_change = false; - user_config.rgb_matrix_idle_anim = true; - user_config.rgb_matrix_idle_timeout = 60000; - - rgb_matrix_update_dynamic_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false); - rgb_matrix_update_dynamic_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_ANIMATION_SPEED_DEFAULT, true); - - eeprom_update_block(&rgb_matrix_config, EECONFIG_RGB_MATRIX, sizeof(rgb_matrix_config)); -} - -void matrix_scan_rgb(void) { - if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_active_mode && timer_elapsed32(hypno_timer) > user_config.rgb_matrix_idle_timeout) { - if (user_config.rgb_layer_change) { - rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW); - } - rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode, user_config.rgb_matrix_idle_speed); - } -} - -void matrix_scan_user(void) { - static bool has_ran_yet; - if (!has_ran_yet) { - has_ran_yet = true; - startup_user(); - } - matrix_scan_rgb(); -} - -void eeconfig_init_user(void) { - user_config.raw = 0; - rgb_matrix_mode_noeeprom(user_config.rgb_matrix_active_mode); - keyboard_init(); -} - -void keyboard_post_init_user(void) { - user_config.raw = eeconfig_read_user(); - rgb_matrix_set_defaults(); - rgb_matrix_enable_noeeprom(); -} -#endif - -void suspend_power_down_keymap(void) { - oled_off(); rgb_matrix_set_suspend_state(true); +#endif } void suspend_wakeup_init_keymap(void) { +#ifdef OLED_ENABLE oled_on(); +#endif +#ifdef RGB_MATRIX_ENABLE rgb_matrix_set_suspend_state(false); +#endif +} + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SFT_ENT: + return TAPPING_TERM - 20; + default: + return TAPPING_TERM; + } } bool process_record_user(uint16_t keycode, keyrecord_t *record) { static uint8_t saved_mods = 0; uint16_t temp_keycode = keycode; - oled_timer = timer_read32(); - #ifdef RGB_MATRIX_ENABLE - if (user_config.rgb_matrix_idle_anim) { - hypno_timer = timer_read32(); - if (rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { - rgb_matrix_update_current_mode(user_config.rgb_matrix_active_mode, user_config.rgb_matrix_active_speed); - if (!user_config.rgb_layer_change) { - rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW); - } - } - } + process_record_user_rgb_matrix(temp_keycode, record); #endif // Filter out the actual keycode from MT and LT keys. @@ -481,12 +159,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { saved_mods = get_mods() & MOD_MASK_SHIFT; - if (saved_mods == MOD_MASK_SHIFT) { // Both shifts pressed + if (saved_mods == MOD_MASK_SHIFT) { // Both shifts pressed register_code(KC_DEL); - } else if (saved_mods) { // One shift pressed - del_mods(saved_mods); // Remove any Shifts present + } else if (saved_mods) { // One shift pressed + del_mods(saved_mods); // Remove any Shifts present register_code(KC_DEL); - add_mods(saved_mods); // Add shifts again + add_mods(saved_mods); // Add shifts again } else { register_code(KC_BSPC); } @@ -495,80 +173,40 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { unregister_code(KC_BSPC); } return false; -#ifdef RGB_MATRIX_ENABLE - case COLEMAK: + case TYPING: if (record->event.pressed) { - user_config.rgb_matrix_idle_timeout = 60000; - rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false); +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_set_typing_defaults(); +#endif + default_layer_set(1U << _COLEMAKDH); } return true; case GAMING: if (record->event.pressed) { - if (!user_config.rgb_layer_change) { - user_config.rgb_layer_change = true; - } - user_config.rgb_matrix_idle_timeout = 10000; - rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_ANIMATION_SPEED_SLOW, false); +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_set_gaming_defaults(); +#endif + default_layer_set(1U << _GAMING); } return true; - case RGB_RST: - if (record->event.pressed) { - rgb_matrix_set_defaults(); - rgb_matrix_enable(); - } - break; - case RGB_UND: // Toggle separate underglow status - if (record->event.pressed) { - user_config.rgb_layer_change ^= 1; - eeconfig_update_user(user_config.raw); - if (user_config.rgb_layer_change) { - layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) - } else { - rgb_matrix_layer_helper(0, 0, 0, LED_FLAG_UNDERGLOW); - } - } - break; - case RGB_IDL: // Toggle idle/heatmap animation - if (record->event.pressed) { - user_config.rgb_matrix_idle_anim ^= 1; - if (user_config.rgb_matrix_idle_anim) { - rgb_matrix_update_mode(user_config.rgb_matrix_active_mode, user_config.rgb_matrix_active_speed, true); - } else { - rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode, user_config.rgb_matrix_idle_speed); - } - } - break; - case RGB_MAP: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_TYPING_HEATMAP, rgb_matrix_config.speed, true); - } - break; - case RGB_NXS: + case WASD: if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS, RGB_MATRIX_ANIMATION_SPEED_DEFAULT, true); - } - break; - case RGB_SOL: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_SOLID_COLOR, rgb_matrix_config.speed, false); - } - break; - case RGB_CYC: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL, RGB_MATRIX_ANIMATION_SPEED_SLOWER, false); - } - break; - case RGB_DUO: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS, RGB_MATRIX_ANIMATION_SPEED_SLOW, false); - } - break; - case RGB_SCR: - if (record->event.pressed) { - rgb_matrix_update_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT, RGB_MATRIX_ANIMATION_SPEED_SLOW, false); - } - break; +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_set_gaming_defaults(); #endif + default_layer_set(1U << _WASD); + } + return true; } return true; } + +// Override functions to save memory +// https://docs.qmk.fm/#/squeezing_avr?id=magic-keycodes +uint16_t keycode_config(uint16_t keycode) { + return keycode; +} + +uint8_t mod_config(uint8_t mod) { + return mod; +} diff --git a/keyboards/crkbd/keymaps/rpbaptist/oled.c b/keyboards/crkbd/keymaps/rpbaptist/oled.c new file mode 100644 index 000000000000..a2cc43c37365 --- /dev/null +++ b/keyboards/crkbd/keymaps/rpbaptist/oled.c @@ -0,0 +1,112 @@ +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rpbaptist.h" + +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (is_keyboard_master()) { + return OLED_ROTATION_270; + } else { + return OLED_ROTATION_180; + } +} + +void render_crkbd_logo(void) { + static const char PROGMEM crkbd_logo[] = { + 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, + 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, + 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, + 0}; + oled_write_P(crkbd_logo, false); +} + +user_config_t user_config; + +void render_status(void) { + switch (get_highest_layer(default_layer_state)) { + case _COLEMAKDH: + oled_write_P(PSTR("TYPE "), false); + break; + case _GAMING: + oled_write_P(PSTR("GAME "), false); + break; + case _WASD: + oled_write_P(PSTR("WASD "), false); + break; + } + + oled_write_P(PSTR("\n"), false); + + switch (get_highest_layer(layer_state)) { + case 0: + oled_write_P(PSTR(" "), false); + break; + case _SYM: + oled_write_P(PSTR("Sym "), false); + break; + case _NAV: + oled_write_P(PSTR("Nav "), false); + break; + case _GAMING_EXT: + oled_write_P(PSTR("Ext "), false); + break; + case _NUMPAD: + oled_write_P(PSTR("Num "), false); + break; + case _UTIL: + oled_write_P(PSTR("Util "), false); + break; + default: + oled_write_P(PSTR("Unkn "), false); + break; + } + oled_write_P(PSTR("\n"), false); + + uint8_t modifiers = get_mods(); + + oled_write_P((modifiers & MOD_MASK_SHIFT) ? PSTR("SHIFT") : PSTR("\n"), false); + oled_write_P((modifiers & MOD_MASK_CTRL) ? PSTR("CTRL ") : PSTR("\n"), false); + oled_write_P((modifiers & MOD_MASK_ALT) ? PSTR("ALT ") : PSTR("\n"), false); + oled_write_P((modifiers & MOD_MASK_GUI) ? PSTR("SUPER") : PSTR("\n"), false); + + oled_write_P(PSTR("\n"), false); + + uint8_t led_usb_state = host_keyboard_leds(); + oled_write_P(PSTR("Mode:"), false); + oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR(" NUM ") : PSTR("\n"), false); + oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR(" CAPS") : PSTR("\n"), false); + +#ifdef RGB_MATRIX_ENABLE + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); + + if (rgb_matrix_config.enable) { + if (user_config.rgb_matrix_idle_anim) { + oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_active_mode), false); + oled_write_P(rgb_matrix_anim_oled_text(user_config.rgb_matrix_idle_mode), false); + } else { + oled_write_P(PSTR("\n"), false); + oled_write_P(rgb_matrix_anim_oled_text(rgb_matrix_get_mode()), false); + } + } else { + oled_write_P(PSTR("\n"), false); + oled_write_P(PSTR("\n"), false); + } +#endif +} + +bool oled_task_user(void) { + if (is_keyboard_master()) { + render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) + } else { + render_crkbd_logo(); +#ifdef RGB_MATRIX_ENABLE + if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { + oled_scroll_left(); // Turns on scrolling + } else { + oled_scroll_off(); + } +#endif + } + return false; +} diff --git a/keyboards/crkbd/keymaps/rpbaptist/oled.h b/keyboards/crkbd/keymaps/rpbaptist/oled.h new file mode 100644 index 000000000000..d4a73992e0ed --- /dev/null +++ b/keyboards/crkbd/keymaps/rpbaptist/oled.h @@ -0,0 +1,8 @@ +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "oled_driver.h" + +void render_crkbd_logo(void); diff --git a/keyboards/crkbd/keymaps/rpbaptist/readme.md b/keyboards/crkbd/keymaps/rpbaptist/readme.md index 9525cf7cfe3b..2312ec8c4982 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/readme.md +++ b/keyboards/crkbd/keymaps/rpbaptist/readme.md @@ -1,6 +1,6 @@ # Corne keyboard layout -This is my highly personalized CRKBD layout. I use Colemak DHm as main typing layer. I use this keyboard and layout in my daily programming job and for everything at home, including gaming. +This is my highly personalized CRKBD layout. I use Colemak DH as main typing layer. I use this keyboard and layout in my daily programming job and for everything at home, including gaming. This keymap is the result of an evolution from Ultimate Hacking Keyboard to Iris, to Corne. It took many iterations and changes and only now I feel this is ready to be merged into the main QMK repository, because I think further changes will be minor. This is my 1.0 release so to speak. @@ -8,7 +8,7 @@ Many thanks to foostan for the keyboard, all QMK contributors and drashna specif ## Layers -### COLEMAKDHM +### COLEMAKDH Main typing layer. I really love having SHIFT available on thumbs. I am a left thumb space bar person, so I put SPACE there and ENTER on right. I use CTRL key combos lot in my text editor and desktop environment. That's why I have two of them. I also found them to be a great position for the square brackets. (`[` and `]`). These become parenthesis (`(` and `)`) on either of the layers. @@ -16,23 +16,23 @@ Holding SHIFT while tapping BACKSPACE will output DEL. Holding both SHIFT keys w I don't know about you but "lower" and "raise" don't mean that much to me. I named my layers `SYM`, short for symbols and `NAV`, short for navigation. Holding the key will activate the layer for as long as it is held, double tapping it will switch to it. Single tapping it once will switch to main layer again. -Holding TAB will access `NUM` layer which features a numpad. +Holding TAB will access `NUMPAD` layer which features a numpad. This is lockable by going to `ADJUST` layer and pressing the same key. ### SYM -Includes a number row, the symbols normally on SHIFT and numbers, as well as a numpad under right side homing keys. +Includes a number row, the symbols normally on SHIFT and numbers and a variety of other symbols used mostly for programming. ### NAV -This is where I access arrow keys, page up, down, home, end and F keys. I also added general tab forward and backward keys. Tab close and window close. I primarily use these in my browser, terminal and text editor. +This is where I access F keys, arrow keys, page up, down, home, end and F keys. I also added general tab forward and backward keys. Tab close and window close. I primarily use these in my browser, terminal and text editor. ### UTIL -Short for utility. This is accessed by pressing both `SYM` and `NAV` at the same time. It has a software `RESET` key, media keys, RGB control and switches main layer between Colemak and a gaming layer. +Short for utility. This is accessed by pressing both `SYM` and `NAV` at the same time. It has a software `QK_BOOT` key, control for RGB and switching the main layer. More on the RGB below. -### NUMPAD +### NUMPAD" -This gives access to a numpad on the right half with some additional symbols I find useful when using the numpad. +This gives access to a numpad on the right half with some additional symbols I find useful when using the numpad. The left half has media control. ### GAMING @@ -42,31 +42,41 @@ I put movement on FRST (would be ESDF on QWERTY), because it lines up more comfo Most notable here is that there are no tap and hold differences anymore on left hand side besides the new layer key. This is a different layer than `SYM`. +### WASD + +This is functionally the same as the `GAMING` layer, but uses traditional WASD layout. This is done for games where I don't need to type and want to just jump in without rebinding everything. + ### GAMING_EXT -This is the gaming extended layer where movement keys remain the same. This means I can keep moving while accessing second layer keys. All other keys are keys on which I can easily rebind something. Besides that it gives me an ENTER key which does not switch. This is good when a game requires you to hold ENTER. +This is the gaming extended layer. I moved this to most inner thumb instead of mid thumb position. Num row is now moved to the home row. Besides that it gives me an ENTER key which does not switch. This is good when a game requires you to hold ENTER. ## RGB I took a big inspiration from Drashna's RGB configuration and tweaked it. - `RGB_UND`: Toggles underglow indicators on and off. Each layer has its own color. -- `RGB_IDL`: This will enable/disable idle mode. By default, when typing, the `ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS` will be used. When the idle timeout has exceeded the secondary animation will be activated, which is `RGB_MATRIX_CYCLE_ALL` by default. When switching to `GAMING` layer the timeout will be reduced and the idle animation changed to `RGB_MATRIX_RAINBOW_PINWHEELS`. - When idle mode is enabled, `RGB_MATRIX_TYPING_HEATMAP` and `RGB_MATRIX_MULTISPLASH` will be used for active animation. All others for idle animation. When disabling idle mode, the current idle animation will be activated. Additionally, on idling, the underglow layer indication will be deactivated. -- There are no RGB mode cycle keys, but instead several keys to use a specific RGB directly. Each has their own default speed, although this can be changed. +- `RGB_IDL`: This will enable/disable idle mode. By default an "active" RGB mode will be used. When the idle timeout has exceeded the secondary animation will be activated, which is a passive animation. When switching to `GAMING` layer the timeout will be reduced and the idle animation changed to `RGB_MATRIX_RAINBOW_PINWHEELS`. + When disabling idle mode, the current idle animation will be activated. + On idling, on idling, the underglow layer indication will be deactivated and the animation RGB will be set instead. +- `RGB_ATG`: Cylces through three active modes: `RGB_MATRIX_SOLID_REACTIVE_SIMPLE` -> `RGB_MATRIX_TYPING_HEATMAP` -> `RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS` +- `RGB_PST`: Cycles through three passive modes: `RGB_MATRIX_SOLID_COLOR` -> `RGB_MATRIX_BREATHING` -> `RGB_MATRIX_CYCLE_ALL` +- `RGB_PCT`: Cycles through two, more colorful, passive modes: `RGB_MATRIX_RAINBOW_PINWHEELS` -> `RGB_MATRIX_CYCLE_LEFT_RIGHT` ## Building -`make crkbd/rev1:rpbaptist:dfu` +`qmk flash -bl dfu -kb crkbd -km rpbaptist` ## Notes I use several OLED slave side images, depending on the keycaps I am using. These also determine the default LED color and underglow. -`make crkbd/rev1:rpbaptist:dfu THEME=pulse` +Provide the theme like this: + +`THEME=laser qmk flash -bl dfu -kb crkbd -km rpbaptist` Current supported themes are: +- pulse (default) - godspeed - laser -- pulse +- milkshake diff --git a/keyboards/crkbd/keymaps/rpbaptist/rgb.c b/keyboards/crkbd/keymaps/rpbaptist/rgb.c new file mode 100644 index 000000000000..7f87d0a9eaa4 --- /dev/null +++ b/keyboards/crkbd/keymaps/rpbaptist/rgb.c @@ -0,0 +1,350 @@ +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include "rpbaptist.h" + +uint32_t transport_user_config = 0; + +void user_config_sync(uint8_t initiator2target_buffer_size, const void* initiator2target_buffer, uint8_t target2initiator_buffer_size, void* target2initiator_buffer) { + if (initiator2target_buffer_size == sizeof(transport_user_config)) { + memcpy(&transport_user_config, initiator2target_buffer, initiator2target_buffer_size); + } +} + +#ifdef OLED_ENABLE +const char* rgb_matrix_anim_oled_text(uint8_t mode) { + switch (mode) { + case RGB_MATRIX_TYPING_HEATMAP: + return PSTR("Heat "); + case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS: + return PSTR("Nexus"); + case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: + return PSTR("Ease "); + case RGB_MATRIX_SOLID_COLOR: + return PSTR("Solid"); + case RGB_MATRIX_BREATHING: + return PSTR("Fade "); + case RGB_MATRIX_CYCLE_ALL: + return PSTR("Cycle"); + case RGB_MATRIX_RAINBOW_PINWHEELS: + return PSTR("Wheel"); + case RGB_MATRIX_CYCLE_LEFT_RIGHT: + return PSTR("Wave "); + default: + return PSTR(""); + } +} +#endif + +extern led_config_t g_led_config; + +void rgb_matrix_layer_helper(uint8_t hue, uint8_t sat, uint8_t val, uint8_t led_min, uint8_t led_max) { + HSV hsv = {hue, sat, val}; + if (hsv.v > rgb_matrix_get_val()) { + hsv.v = rgb_matrix_get_val(); + } + + RGB rgb = hsv_to_rgb(hsv); + for (uint8_t i = 0; i < led_max; i++) { + if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) { + rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b); + } + } +} + +extern user_config_t user_config; + +bool rgb_matrix_in_idle(void) { + return (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode); +} + +bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { + if (user_config.rgb_layer_indicator && !rgb_matrix_in_idle()) { + switch (get_highest_layer(layer_state | default_layer_state)) { + case _GAMING_EXT: + rgb_matrix_layer_helper(HSV_PURPLE, led_min, led_max); + break; + case _SYM: + rgb_matrix_layer_helper(HSV_YELLOW, led_min, led_max); + break; + case _NAV: + rgb_matrix_layer_helper(HSV_SPRINGGREEN, led_min, led_max); + break; + case _UTIL: + rgb_matrix_layer_helper(HSV_PINK, led_min, led_max); + break; + case _NUMPAD: + rgb_matrix_layer_helper(HSV_CORAL, led_min, led_max); + break; + case _GAMING: + case _WASD: + rgb_matrix_layer_helper(HSV_RED, led_min, led_max); + break; + default: + rgb_matrix_layer_helper(THEME_HSV, led_min, led_max); + break; + } + } + return false; +} + +void rgb_matrix_turn_off_underglow(void) { + rgb_matrix_layer_helper(0, 0, 0, 0, 54); +} + +uint8_t rgb_matrix_speed_for_mode(uint8_t mode) { + switch (mode) { + case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: + case RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS: + return RGB_MATRIX_ANIMATION_SPEED_FAST; + case RGB_MATRIX_BREATHING: + case RGB_MATRIX_CYCLE_LEFT_RIGHT: + case RGB_MATRIX_RAINBOW_PINWHEELS: + return RGB_MATRIX_ANIMATION_SPEED_SLOW; + case RGB_MATRIX_CYCLE_ALL: + return RGB_MATRIX_ANIMATION_SPEED_SLOWER; + default: + return RGB_MATRIX_ANIMATION_SPEED_MEDIUM; + } +} + +bool rgb_matrix_mode_active(uint8_t mode) { + return (mode == RGB_MATRIX_SOLID_REACTIVE_SIMPLE || mode == RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS || mode == RGB_MATRIX_TYPING_HEATMAP); +} + +void rgb_matrix_update_current_mode(uint8_t mode) { + rgb_matrix_config.speed = rgb_matrix_speed_for_mode(mode); + rgb_matrix_mode_noeeprom(mode); +} + +void rgb_matrix_update_dynamic_mode(uint8_t mode) { + uint8_t speed; + speed = rgb_matrix_speed_for_mode(mode); + + if (rgb_matrix_mode_active(mode)) { + user_config.rgb_matrix_active_speed = speed; + user_config.rgb_matrix_active_mode = mode; + } else { + user_config.rgb_matrix_idle_speed = speed; + user_config.rgb_matrix_idle_mode = mode; + } +} + +void rgb_matrix_update_mode(uint8_t mode) { + if (user_config.rgb_matrix_idle_anim) { + rgb_matrix_update_dynamic_mode(mode); + } + if (rgb_matrix_mode_active(mode) || !user_config.rgb_matrix_idle_anim) { + rgb_matrix_update_current_mode(mode); + } +} + +uint8_t get_rgb_matrix_active_mode(void) { + if (user_config.rgb_matrix_idle_anim) { + return user_config.rgb_matrix_active_mode; + } else { + return rgb_matrix_get_mode(); + } +} + +void rgb_matrix_toggle_active_mode(void) { + switch (get_rgb_matrix_active_mode()) { + case RGB_MATRIX_SOLID_REACTIVE_SIMPLE: + rgb_matrix_update_mode(RGB_MATRIX_TYPING_HEATMAP); + break; + case RGB_MATRIX_TYPING_HEATMAP: + rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS); + break; + default: + rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); + break; + } +} + +uint8_t get_rgb_matrix_idle_mode(void) { + if (user_config.rgb_matrix_idle_anim) { + return user_config.rgb_matrix_idle_mode; + } else { + return rgb_matrix_get_mode(); + } +} + +void rgb_matrix_toggle_simple_passive_mode(void) { + switch (get_rgb_matrix_idle_mode()) { + case RGB_MATRIX_SOLID_COLOR: + rgb_matrix_update_mode(RGB_MATRIX_BREATHING); + break; + case RGB_MATRIX_BREATHING: + rgb_matrix_update_mode(RGB_MATRIX_CYCLE_ALL); + break; + default: + rgb_matrix_update_mode(RGB_MATRIX_SOLID_COLOR); + break; + } +} + +void rgb_matrix_toggle_color_passive_mode(void) { + switch (get_rgb_matrix_idle_mode()) { + case RGB_MATRIX_RAINBOW_PINWHEELS: + rgb_matrix_update_mode(RGB_MATRIX_CYCLE_LEFT_RIGHT); + break; + default: + rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS); + break; + } +} + +void rgb_matrix_toggle_underglow_layer_indicator(void) { + user_config.rgb_layer_indicator ^= 1; + if (user_config.rgb_layer_indicator) { + layer_state_set(layer_state); // This is needed to immediately set the layer color (looks better) + } else { + rgb_matrix_turn_off_underglow(); + } +} + +void rgb_matrix_toggle_idle_animation_change(void) { + user_config.rgb_matrix_idle_anim ^= 1; + if (user_config.rgb_matrix_idle_anim) { + rgb_matrix_update_mode(user_config.rgb_matrix_active_mode); + } else { + rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode); + } +} + +void rgb_matrix_set_gaming_defaults(void) { + if (!user_config.rgb_layer_indicator) { + user_config.rgb_layer_indicator = true; + } + user_config.rgb_matrix_idle_timeout = GAMING_IDLE_TIMEOUT; + rgb_matrix_update_mode(RGB_MATRIX_RAINBOW_PINWHEELS); + rgb_matrix_update_mode(RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS); +} + +void rgb_matrix_set_typing_defaults(void) { + user_config.rgb_matrix_idle_timeout = IDLE_TIMEOUT; + rgb_matrix_update_mode(RGB_MATRIX_TYPING_PASSIVE); + rgb_matrix_update_mode(RGB_MATRIX_TYPING_ACTIVE); +} + +void rgb_matrix_set_defaults(void) { + rgb_matrix_enable_noeeprom(); + rgb_matrix_sethsv_noeeprom(THEME_HSV); + + user_config.rgb_layer_indicator = true; + user_config.rgb_matrix_idle_anim = true; + + rgb_matrix_set_typing_defaults(); + + rgb_matrix_mode_noeeprom(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); +} + +void matrix_scan_rgb(void) { + if (user_config.rgb_matrix_idle_anim && rgb_matrix_get_mode() == user_config.rgb_matrix_active_mode && last_input_activity_elapsed() > user_config.rgb_matrix_idle_timeout) { + if (user_config.rgb_layer_indicator) { + rgb_matrix_turn_off_underglow(); + } + rgb_matrix_update_current_mode(user_config.rgb_matrix_idle_mode); + } +} + +void user_transport_sync(void) { + // Keep track of the last state, so that we can tell if we need to propagate to slave + static uint32_t last_config = 0, last_sync = 0; + + // Check if the state values are different + // or if sync timer elapsed + if (memcmp(&user_config, &last_config, sizeof(transport_user_config)) || (timer_elapsed32(last_sync) > 250)) { + memcpy(&last_config, &user_config, sizeof(transport_user_config)); + + if (transaction_rpc_send(USER_CONFIG_SYNC, sizeof(transport_user_config), &transport_user_config)) { + last_sync = timer_read32(); + } + } +} + +void user_transport_update(void) { + if (is_keyboard_master()) { + transport_user_config = user_config.raw; + user_transport_sync(); + } else { + user_config.raw = transport_user_config; + } +} + +void housekeeping_task_user(void) { + static bool has_ran_yet; + if (!has_ran_yet) { + has_ran_yet = true; + startup_user(); + } + matrix_scan_rgb(); + + // Update config to slave + user_transport_update(); +} + +void eeconfig_init_user(void) { + user_config.raw = 0; + user_config.rgb_layer_indicator = true; + user_config.rgb_matrix_idle_anim = true; + + rgb_matrix_enable(); + rgb_matrix_sethsv(THEME_HSV); + rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE_SIMPLE); + + eeconfig_update_user(user_config.raw); +} + +void keyboard_post_init_user(void) { + set_single_persistent_default_layer(_COLEMAKDH); + rgb_matrix_set_defaults(); + + // Register user config sync + transaction_register_rpc(USER_CONFIG_SYNC, user_config_sync); +} + +bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t* record) { + if (user_config.rgb_matrix_idle_anim) { + if (rgb_matrix_get_mode() == user_config.rgb_matrix_idle_mode) { + rgb_matrix_update_current_mode(user_config.rgb_matrix_active_mode); + if (!user_config.rgb_layer_indicator) { + rgb_matrix_turn_off_underglow(); + } + } + } + + switch (keycode) { + case RGB_RST: + if (record->event.pressed) { + rgb_matrix_set_defaults(); + } + break; + case RGB_UND: // Toggle separate underglow status + if (record->event.pressed) { + rgb_matrix_toggle_underglow_layer_indicator(); + } + break; + case RGB_IDL: // Toggle idle/heatmap animation + if (record->event.pressed) { + rgb_matrix_toggle_idle_animation_change(); + } + break; + case RGB_ATG: + if (record->event.pressed) { + rgb_matrix_toggle_active_mode(); + } + break; + case RGB_PST: + if (record->event.pressed) { + rgb_matrix_toggle_simple_passive_mode(); + } + break; + case RGB_PCT: + if (record->event.pressed) { + rgb_matrix_toggle_color_passive_mode(); + } + break; + } + return true; +} diff --git a/keyboards/crkbd/keymaps/rpbaptist/rgb.h b/keyboards/crkbd/keymaps/rpbaptist/rgb.h new file mode 100644 index 000000000000..91c25f5c2872 --- /dev/null +++ b/keyboards/crkbd/keymaps/rpbaptist/rgb.h @@ -0,0 +1,28 @@ +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#include "transactions.h" + +typedef union { + uint32_t raw; + struct { + bool rgb_layer_indicator : 1; + bool rgb_matrix_idle_anim : 1; + uint8_t rgb_matrix_active_mode : 4; + uint8_t rgb_matrix_idle_mode : 4; + uint8_t rgb_matrix_active_speed : 2; + uint8_t rgb_matrix_idle_speed : 2; + uint32_t rgb_matrix_idle_timeout : 18; + }; +} user_config_t; + +extern user_config_t user_config; + +_Static_assert(sizeof(user_config_t) == sizeof(uint32_t), "Userspace EECONFIG out of spec."); + +const char *rgb_matrix_anim_oled_text(uint8_t mode); +void rgb_matrix_set_gaming_defaults(void); +void rgb_matrix_set_typing_defaults(void); +bool process_record_user_rgb_matrix(uint16_t keycode, keyrecord_t *record); diff --git a/keyboards/crkbd/keymaps/rpbaptist/rpbaptist.h b/keyboards/crkbd/keymaps/rpbaptist/rpbaptist.h new file mode 100644 index 000000000000..630ab5df49c1 --- /dev/null +++ b/keyboards/crkbd/keymaps/rpbaptist/rpbaptist.h @@ -0,0 +1,73 @@ +// Copyright 2023 Your Name (@rpbaptist) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once +#include QMK_KEYBOARD_H + +#include "quantum.h" + +#if defined(RGB_MATRIX_ENABLE) +# include "rgb.h" +#endif + +#if defined(OLED_ENABLE) +# include "oled.h" +#endif + +enum layer_names { + _COLEMAKDH, + _GAMING, + _WASD, + _GAMING_EXT, + _NUMPAD, + _SYM, + _NAV, + _UTIL +}; + +enum custom_keycodes { + BSP_DEL = SAFE_RANGE, +#if defined(RGB_MATRIX_ENABLE) + RGB_RST, // Reset RGB + RGB_UND, // Toggle RGB underglow as layer indicator + RGB_ATG, // Toggle active RGB mode + RGB_PST, // Toggle simple passive RGB mode + RGB_PCT, // Toggle colorful passive RGB mode + RGB_IDL, // RGB Idling animations +#endif + TYPING, // Switch to Colemak layer + GAMING, // Switch to gaming Colemak layer + WASD // Switch to gaming with WASD positions +}; + +// Layer toggle and switch +#define T_NAV TT(_NAV) +#define S_NAV MO(_NAV) + +#define T_SYM TT(_SYM) +#define S_SYM MO(_SYM) + +// Layer keys with functionality on tap +#define NAV_0 LT(_NAV, KC_0) +#define TAB_NUM LT(_NUMPAD, KC_TAB) +#define LCK_NMP TG(_NUMPAD) +#define S_NUM MO(_NUMPAD) + +#define EXTALT LT(_GAMING_EXT, KC_LALT) + +// Tap/mod keys +#define RCTL_BR RCTL_T(KC_RBRC) +#define LCTL_BR LCTL_T(KC_LBRC) + +#define SFT_SPC LSFT_T(KC_SPACE) +#define SFT_ENT RSFT_T(KC_ENTER) + +// Global tab forward and backward +#define TAB_FWD LCTL(KC_TAB) +#define TAB_BCK LCTL(LSFT(KC_TAB)) +#define TAB_CLS LCTL(KC_W) + +#define WIN_CLS LALT(KC_F4) + +// € +#define KC_EUR ALGR(KC_5) diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk index 2366f669a0d2..21b8fd312786 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/rules.mk +++ b/keyboards/crkbd/keymaps/rpbaptist/rules.mk @@ -7,11 +7,11 @@ LTO_ENABLE = yes # EXTRAKEY_ENABLE = yes # Audio control and System control(+450) NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -# DYNAMIC_MACRO_ENABLE = yes +DYNAMIC_MACRO_ENABLE = no MOUSEKEY_ENABLE = no # Mouse keys(+4700) RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. -BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) CONSOLE_ENABLE = no # Console for debug(+400) COMMAND_ENABLE = no # Commands for debug and configuration BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality @@ -20,6 +20,9 @@ AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID SWAP_HANDS_ENABLE = no # Enable one-hand typing +GRAVE_ESC_ENABLE = no +MAGIC_ENABLE = no +MUSIC_ENABLE = no RGB_MATRIX_ENABLE = yes @@ -31,10 +34,16 @@ BOOTLOADER = qmk-dfu OLED_ENABLE = yes OLED_DRIVER = SSD1306 +DEBOUNCE_TYPE = sym_eager_pk + ifeq ($(strip $(THEME)), godspeed) OPT_DEFS += -DTHEME_GODSPEED endif +ifeq ($(strip $(THEME)), godspeed_ares) + OPT_DEFS += -DTHEME_GODSPEED_ARES +endif + ifeq ($(strip $(THEME)), pulse) OPT_DEFS += -DTHEME_PULSE endif @@ -42,3 +51,15 @@ endif ifeq ($(strip $(THEME)), laser) OPT_DEFS += -DTHEME_LASER endif + +ifeq ($(strip $(THEME)), milkshake) + OPT_DEFS += -DTHEME_MILKSHAKE +endif + +ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes) + SRC += rgb.c +endif + +ifeq ($(strip $(OLED_ENABLE)), yes) + SRC+= oled.c +endif From 280a96b5633cc56ac2a6ffeb2d3ad694b31f54a5 Mon Sep 17 00:00:00 2001 From: Andre Brait Date: Mon, 14 Aug 2023 20:26:22 +0200 Subject: [PATCH 38/65] [Keymap] Update andrebrait keymap for GMMK Pro (#21668) --- .../pro/rev1/ansi/keymaps/andrebrait/config.h | 9 +- .../pro/rev1/ansi/keymaps/andrebrait/keymap.c | 278 +++++++----------- .../pro/rev1/ansi/keymaps/andrebrait/rules.mk | 17 +- 3 files changed, 133 insertions(+), 171 deletions(-) diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h index 08eade43c877..18271fb4d25d 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/config.h @@ -17,13 +17,14 @@ #pragma once #ifdef RGB_MATRIX_ENABLE - #define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) - #define RGB_DISABLE_WHEN_USB_SUSPENDED +# define RGB_MATRIX_TIMEOUT 1200000 // 20 minutes (20 * 60 * 1000ms) +# define RGB_DISABLE_WHEN_USB_SUSPENDED #endif -// Setting DEBOUNCE to 8 to be a little conservative due to issues with Glorious' proprietary hot-swap sockets +// A debounce of 8 represents a minimum key press time of just under 1 refresh at 120Hz +// Slightly higher than the default because we are using sym_eager_pk #ifdef DEBOUNCE - #undef DEBOUNCE +# undef DEBOUNCE #endif #define DEBOUNCE 8 diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c index 6c467ff63653..3d2792b4a64c 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/keymap.c @@ -17,26 +17,21 @@ along with this program. If not, see . #include QMK_KEYBOARD_H -enum layers { - WIN_BASE = 0, - WIN_FN, - MAC_BASE, - MAC_FN -}; +enum layers { WIN_BASE = 0, WIN_FN, MAC_BASE, MAC_FN }; enum custom_keycodes { - CMDQ_TOG = QK_KB_2 // TECH DEBT: Starts at QK_KB_2 to maintain ordering with VIA definitions. See #19884. Revert to QK_KB_0 when VIA catches up with QMK. + CMDQ_TOG = QK_KB_2 // TECH DEBT: Starts at QK_KB_2 to maintain ordering with VIA definitions. See #19884. Revert to QK_KB_0 when VIA catches up with QMK. }; -#define KC_TASK LWIN(KC_TAB) // Open Task Manager -#define KC_FLXP LWIN(KC_E) // Open File Explorer -#define DF_WINB DF(WIN_BASE) // Switch to WIN_BASE layer -#define MO_WINF MO(WIN_FN) // Toggle to WIN_FN layer -#define DF_MACB DF(MAC_BASE) // Switch to MAX_BASE layer -#define MO_MACF MO(MAC_FN) // Toggle to MAC_FN layer +#define KC_TASK LWIN(KC_TAB) // Open Task Manager +#define KC_FLXP LWIN(KC_E) // Open File Explorer +#define DF_WINB DF(WIN_BASE) // Switch to WIN_BASE layer +#define MO_WINF MO(WIN_FN) // Toggle to WIN_FN layer +#define DF_MACB DF(MAC_BASE) // Switch to MAX_BASE layer +#define MO_MACF MO(MAC_FN) // Toggle to MAC_FN layer // clang-format off -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // The GMMK Pro default layout is: // @@ -103,111 +98,99 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { - [WIN_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [WIN_FN] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX) }, - [MAC_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, - [MAC_FN] = { ENCODER_CCW_CW(XXXXXXX, XXXXXXX) }, + [WIN_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [WIN_FN] = {ENCODER_CCW_CW(XXXXXXX, XXXXXXX)}, + [MAC_BASE] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)}, + [MAC_FN] = {ENCODER_CCW_CW(XXXXXXX, XXXXXXX)}, }; #endif /* To record user preferences */ typedef union { - uint32_t raw; // set to 32-bit of size + uint32_t raw; // set to 32-bit of size struct { - bool rgb_enabled :1; // Artificial RGB ON/OFF flag (1 bit) - bool cmd_q_delay_enabled :1; // Toggle CMD+Q delay (1 bit) + bool rgb_enabled : 1; // Artificial RGB ON/OFF flag (1 bit) + bool cmd_q_delay_enabled : 1; // Toggle CMD+Q delay (1 bit) }; } user_config_t; user_config_t user_config; /* Delayed keypresses variables and functions */ -static uint16_t delayed_press_delay = 0; -static uint16_t delayed_press_keycode = KC_NO; -static uint16_t delayed_press_start_time = 0; -static uint16_t delayed_press_sent_keycode = KC_NO; -static void start_delayed_press(const uint16_t delay, const uint16_t keycode); -static bool is_any_delayed_press_pending(void); -static bool is_delayed_press_pending(const uint16_t keycode); -static bool is_delayed_press_sent(const uint16_t keycode); -static void mark_delayed_press_sent(void); -static void mark_delayed_release_sent(void); -static void cancel_delayed_press(void); +static fast_timer_t delayed_press_delay = 0; +static uint16_t delayed_press_keycode = KC_NO; +static fast_timer_t delayed_press_start_time = 0; +static uint16_t delayed_press_sent_keycode = KC_NO; +static void start_delayed_press(fast_timer_t delay, uint16_t keycode); +static void mark_delayed_press_sent(void); +static void mark_delayed_release_sent(void); +static void cancel_delayed_press(void); + +#define IS_ANY_DELAYED_PRESS_PENDING() (delayed_press_start_time > 0 && delayed_press_keycode != KC_NO) +#define IS_DELAYED_PRESS_PENDING(keycode) (delayed_press_start_time > 0 && delayed_press_keycode == (keycode)) +#define IS_DELAYED_PRESS_SENT(keycode) (delayed_press_sent_keycode != KC_NO && delayed_press_sent_keycode == (keycode)) /* CMD+Q delay */ #ifndef CMD_Q_DELAY - #define CMD_Q_DELAY 1000 +# define CMD_Q_DELAY 1000 #endif #if CMD_Q_DELAY <= 0 || CMD_Q_DELAY >= UINT16_MAX / 2 - #error "CMD_Q_DELAY must be a positive integer smaller than UINT16_MAX / 2" +# error "CMD_Q_DELAY must be a positive integer smaller than UINT16_MAX / 2" #endif -#define MIN(x, y) (((x) < (y)) ? (x) : (y)) -#define MAX(x, y) (((x) > (y)) ? (x) : (y)) - #ifdef RGB_MATRIX_ENABLE -#define CAPS_LOCK_COLOR RGB_RED -#define WIN_BASE_COLOR RGB_BLUE -#define WIN_FN_COLOR RGB_BLUE -#define MAC_BASE_COLOR RGB_WHITE -#define MAC_FN_COLOR RGB_WHITE -#define UNKNOWN_LAYER_COLOR RGB_PINK +# define CAPS_LOCK_COLOR RGB_RED +# define WIN_BASE_COLOR RGB_BLUE +# define WIN_FN_COLOR RGB_BLUE +# define MAC_BASE_COLOR RGB_WHITE +# define MAC_FN_COLOR RGB_WHITE +# define UNKNOWN_LAYER_COLOR RGB_PINK /* The maximum effects duration */ -#ifndef EFFECTS_DURATION - #define EFFECTS_DURATION 2000 -#endif -#if EFFECTS_DURATION <= 0 || EFFECTS_DURATION >= UINT16_MAX / 2 - #error "EFFECTS_DURATION must be a positive integer smaller than UINT16_MAX / 2" -#endif +# ifndef EFFECTS_DURATION +# define EFFECTS_DURATION 2000 +# endif +# if EFFECTS_DURATION <= 0 || EFFECTS_DURATION >= UINT16_MAX / 2 +# error "EFFECTS_DURATION must be a positive integer smaller than UINT16_MAX / 2" +# endif /* The interval for the flashing effect */ -#ifndef FLASHING_EFFECT_INTERVAL - #define FLASHING_EFFECT_INTERVAL 250 -#endif -#if FLASHING_EFFECT_INTERVAL <= 0 || FLASHING_EFFECT_INTERVAL >= UINT16_MAX / 2 - #error "FLASHING_EFFECT_INTERVAL must be a positive integer smaller than UINT16_MAX / 2" -#endif +# ifndef FLASHING_EFFECT_INTERVAL +# define FLASHING_EFFECT_INTERVAL 250 +# endif +# if FLASHING_EFFECT_INTERVAL <= 0 || FLASHING_EFFECT_INTERVAL >= UINT16_MAX / 2 +# error "FLASHING_EFFECT_INTERVAL must be a positive integer smaller than UINT16_MAX / 2" +# endif static void set_rgb_layer_winfn(void); static void set_rgb_layer_macfn(void); /* Effects functions */ -static float flashing_effect(const uint16_t delta_time); -static float static_effect(const uint16_t delta_time); -static float increasing_effect(const uint16_t delta_time); +static float flashing_effect(fast_timer_t delta_time); +static float static_effect(fast_timer_t delta_time); +static float increasing_effect(fast_timer_t delta_time); /* Effect variables and functions */ -static uint16_t effect_started_time = 0; -static uint16_t effect_max_duration = EFFECTS_DURATION; -static uint8_t effect_r = 0x0, effect_g = 0x0, effect_b = 0x0; -static float (*effect_multiplier)(const uint16_t) = static_effect; -static void start_effects( - const uint16_t max_duration, - const uint8_t r_color, - const uint8_t g_color, - const uint8_t b_color, - const float (*multiplier)(const uint16_t)); +static fast_timer_t effect_started_time = 0; +static fast_timer_t effect_max_duration = EFFECTS_DURATION; +static uint8_t effect_r = 0x0, effect_g = 0x0, effect_b = 0x0; +static float (*effect_multiplier)(fast_timer_t) = static_effect; +static void start_effects(fast_timer_t max_duration, uint8_t r_color, uint8_t g_color, uint8_t b_color, float (*multiplier)(fast_timer_t)); static void stop_effects(void); /* Delayed keypresses variables with RGB variant */ -static void start_delayed_press_with_effects( - const uint16_t delay, - const uint16_t keycode, - const uint8_t r_color, - const uint8_t g_color, - const uint8_t b_color); +static void start_delayed_press_with_effects(fast_timer_t delay, uint16_t keycode, uint8_t r_color, uint8_t g_color, uint8_t b_color); #endif // RGB_MATRIX_ENABLE -void eeconfig_init_user(void) { // EEPROM is getting reset! - user_config.raw = 0; - user_config.rgb_enabled = true; // We want this enabled by default - user_config.cmd_q_delay_enabled = true; // We want this enabled by default - eeconfig_update_user(user_config.raw); // Write default value to EEPROM now +void eeconfig_init_user(void) { // EEPROM is getting reset! + user_config.raw = 0; + user_config.rgb_enabled = true; // We want this enabled by default + user_config.cmd_q_delay_enabled = true; // We want this enabled by default + eeconfig_update_user(user_config.raw); // Write default value to EEPROM now } void keyboard_post_init_user(void) { - #ifdef RGB_MATRIX_ENABLE +#ifdef RGB_MATRIX_ENABLE // Enable the RGB matrix, if not enabled if (!rgb_matrix_is_enabled()) { rgb_matrix_enable(); @@ -216,15 +199,15 @@ void keyboard_post_init_user(void) { if (rgb_matrix_get_flags() != LED_FLAG_ALL) { rgb_matrix_set_flags(LED_FLAG_ALL); } - #endif +#endif // Read the user config from EEPROM user_config.raw = eeconfig_read_user(); } void matrix_scan_user(void) { - if (is_any_delayed_press_pending()) { - if (sync_timer_elapsed(delayed_press_start_time) > delayed_press_delay) { + if (IS_ANY_DELAYED_PRESS_PENDING()) { + if (timer_elapsed_fast(delayed_press_start_time) > delayed_press_delay) { register_code(delayed_press_keycode); mark_delayed_press_sent(); } @@ -232,20 +215,20 @@ void matrix_scan_user(void) { } bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (is_delayed_press_sent(keycode)) { + if (IS_DELAYED_PRESS_SENT(keycode)) { if (!record->event.pressed) { /* Send key-up event and clear the keycode and stop processing */ unregister_code(keycode); mark_delayed_release_sent(); return false; } - } else if (is_delayed_press_pending(keycode)) { + } else if (IS_DELAYED_PRESS_PENDING(keycode)) { if (!record->event.pressed) { /* Cancel the pending press and stop processing */ cancel_delayed_press(); return false; } - } else if (is_any_delayed_press_pending()) { + } else if (IS_ANY_DELAYED_PRESS_PENDING()) { /* Cancel the pending press and resume processing */ cancel_delayed_press(); } @@ -258,17 +241,15 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; case CMDQ_TOG: if (record->event.pressed) { +#ifdef RGB_MATRIX_ENABLE if (user_config.cmd_q_delay_enabled) { /* Turning delay OFF */ - #ifdef RGB_MATRIX_ENABLE start_effects(EFFECTS_DURATION, RGB_RED, flashing_effect); - #endif } else { /* Turning delay ON */ - #ifdef RGB_MATRIX_ENABLE start_effects(EFFECTS_DURATION, RGB_GREEN, flashing_effect); - #endif } +#endif user_config.cmd_q_delay_enabled = !user_config.cmd_q_delay_enabled; eeconfig_update_user(user_config.raw); } @@ -276,22 +257,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case KC_Q: if (user_config.cmd_q_delay_enabled) { if (layer_state_is(MAC_BASE)) { - const uint8_t mods = get_mods(); + uint8_t mods = get_mods(); if (mods == MOD_BIT(KC_LCMD) || mods == MOD_BIT(KC_RCMD)) { if (record->event.pressed) { - #ifdef RGB_MATRIX_ENABLE +#ifdef RGB_MATRIX_ENABLE start_delayed_press_with_effects(CMD_Q_DELAY, KC_Q, RGB_ORANGE); - #else +#else start_delayed_press(CMD_Q_DELAY, KC_Q); - #endif +#endif } return false; } } } break; - #ifdef RGB_MATRIX_ENABLE - #ifdef NKRO_ENABLE +#ifdef RGB_MATRIX_ENABLE +# ifdef NKRO_ENABLE case NK_TOGG: if (record->event.pressed) { if (keymap_config.nkro) { @@ -303,52 +284,31 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } } break; - #endif // NKRO_ENABLE - case RGB_MOD: - case RGB_RMOD: - case RGB_HUI: - case RGB_HUD: - case RGB_SAI: - case RGB_SAD: - case RGB_VAI: - case RGB_VAD: - case RGB_SPI: - case RGB_SPD: - if (!user_config.rgb_enabled) { - /* Ignore changes to RGB settings while only it's supposed to be OFF */ - return false; // Skip all further processing of this key - } - break; +# endif // NKRO_ENABLE case RGB_TOG: if (record->event.pressed) { user_config.rgb_enabled = !user_config.rgb_enabled; eeconfig_update_user(user_config.raw); } return false; - #endif // RGB_MATRIX_ENABLE + case RGB_MODE_FORWARD ... RGB_MODE_TWINKLE: + if (!user_config.rgb_enabled) { + /* Ignore changes to RGB settings while only it's supposed to be OFF */ + return false; // Skip all further processing of this key + } + break; +#endif // RGB_MATRIX_ENABLE } return true; } -static void start_delayed_press(const uint16_t delay, const uint16_t keycode) { - delayed_press_delay = delay; - delayed_press_keycode = keycode; - delayed_press_start_time = sync_timer_read(); +static void start_delayed_press(fast_timer_t delay, uint16_t keycode) { + delayed_press_delay = delay; + delayed_press_keycode = keycode; + delayed_press_start_time = timer_read_fast(); delayed_press_sent_keycode = KC_NO; } -static bool is_any_delayed_press_pending(void) { - return delayed_press_start_time > 0 && delayed_press_keycode != KC_NO; -} - -static bool is_delayed_press_pending(const uint16_t keycode) { - return delayed_press_start_time > 0 && delayed_press_keycode == keycode; -} - -static bool is_delayed_press_sent(const uint16_t keycode) { - return delayed_press_sent_keycode != KC_NO && delayed_press_sent_keycode == keycode; -} - static void mark_delayed_press_sent(void) { delayed_press_sent_keycode = delayed_press_keycode; cancel_delayed_press(); @@ -359,22 +319,17 @@ static void mark_delayed_release_sent(void) { } static void cancel_delayed_press(void) { - delayed_press_delay = 0; - delayed_press_keycode = KC_NO; + delayed_press_delay = 0; + delayed_press_keycode = KC_NO; delayed_press_start_time = 0; - #ifdef RGB_MATRIX_ENABLE +#ifdef RGB_MATRIX_ENABLE stop_effects(); - #endif +#endif } #ifdef RGB_MATRIX_ENABLE -static void start_delayed_press_with_effects( - const uint16_t delay, - const uint16_t keycode, - const uint8_t r_color, - const uint8_t g_color, - const uint8_t b_color) { +static void start_delayed_press_with_effects(fast_timer_t delay, uint16_t keycode, uint8_t r_color, uint8_t g_color, uint8_t b_color) { start_delayed_press(delay, keycode); start_effects(delay, r_color, g_color, b_color, increasing_effect); } @@ -386,7 +341,7 @@ Effects when switching layers static uint8_t previous_layer = UINT8_MAX; layer_state_t default_layer_state_set_user(layer_state_t state) { - const uint8_t current_layer = get_highest_layer(state); + uint8_t current_layer = get_highest_layer(state); if (previous_layer != current_layer) { // For some reason, setting the default layer alone doesn't change it fully layer_move(current_layer); @@ -407,50 +362,45 @@ layer_state_t default_layer_state_set_user(layer_state_t state) { return state; } -static void start_effects( - const uint16_t max_duration, - const uint8_t r_color, - const uint8_t g_color, - const uint8_t b_color, - const float (*multiplier)(const uint16_t)) { - effect_r = r_color; - effect_g = g_color; - effect_b = b_color; - effect_multiplier = multiplier; +static void start_effects(fast_timer_t max_duration, uint8_t r_color, uint8_t g_color, uint8_t b_color, float (*multiplier)(fast_timer_t)) { + effect_r = r_color; + effect_g = g_color; + effect_b = b_color; + effect_multiplier = multiplier; effect_max_duration = max_duration; - effect_started_time = sync_timer_read(); + effect_started_time = timer_read_fast(); } static void stop_effects(void) { - effect_r = 0x0; - effect_g = 0x0; - effect_b = 0x0; - effect_multiplier = static_effect; + effect_r = 0x0; + effect_g = 0x0; + effect_b = 0x0; + effect_multiplier = static_effect; effect_max_duration = EFFECTS_DURATION; effect_started_time = 0; } -static float flashing_effect(const uint16_t delta_time) { +static float flashing_effect(fast_timer_t delta_time) { return ((delta_time / FLASHING_EFFECT_INTERVAL) + 1) & 0x01; } -static float static_effect(const uint16_t delta_time) { +static float static_effect(fast_timer_t delta_time) { return 1.0; } -static float increasing_effect(const uint16_t delta_time) { - return MAX(0.0, MIN(1.0, ((float) delta_time) / effect_max_duration)); +static float increasing_effect(fast_timer_t delta_time) { + return ((float)delta_time) / effect_max_duration; } bool rgb_matrix_indicators_user(void) { if (effect_started_time > 0) { - const uint16_t delta_time = sync_timer_elapsed(effect_started_time); + fast_timer_t delta_time = timer_elapsed_fast(effect_started_time); if (delta_time <= effect_max_duration) { /* Render effect */ - const float multiplier = effect_multiplier(delta_time); - const uint8_t val_r = multiplier * effect_r; - const uint8_t val_g = multiplier * effect_g; - const uint8_t val_b = multiplier * effect_b; + float multiplier = effect_multiplier(delta_time); + uint8_t val_r = multiplier * effect_r; + uint8_t val_g = multiplier * effect_g; + uint8_t val_b = multiplier * effect_b; rgb_matrix_set_color_all(val_r, val_g, val_b); return false; } else { diff --git a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk index d095a6015482..14e410632183 100644 --- a/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk +++ b/keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk @@ -3,9 +3,20 @@ # Disabling MouseKey because it breaks my KVM switch MOUSEKEY_ENABLE = no -# Ensure sym_defer_g is used. -# It seems sym_defer_pk results in significant chattering, even with an 8ms debounce time. -DEBOUNCE_TYPE = sym_defer_g +# Use sym_eager_pk for better latency when gaming. +# +# Previous issues with sym_defer_pk (and sym_eager_pk and debounce times +# shorter than 8ms) were due to Glorious' horrible hot-swap sockets. +# These issues were 100% resolved after I replaced them with Gateron hot-swap sockets. +# +# The old sockets apparently didn't hold onto the legs of the switches at all. +# +# Using eager might not be a good idea with other switch types, but I only use +# linears now, so this should be ok. +# +# asym_eager_defer_pk also works well and it is more resistant to chatter at +# the cost of delay when releasing a key being slightly higher. +DEBOUNCE_TYPE = sym_eager_pk # Useful for debugging # CONSOLE_ENABLE = yes From 6038023cfb95cf36d19ef066ee1b314ab24294ee Mon Sep 17 00:00:00 2001 From: Janat Taerakul Date: Tue, 15 Aug 2023 03:42:44 +0900 Subject: [PATCH 39/65] [Keymap] submitting janat-t planck keymap (#21619) Co-authored-by: Janat Taerakul --- keyboards/planck/keymaps/janat-t/config.h | 48 +++ keyboards/planck/keymaps/janat-t/keymap.c | 328 +++++++++++++++++++++ keyboards/planck/keymaps/janat-t/readme.md | 112 +++++++ keyboards/planck/keymaps/janat-t/rules.mk | 7 + 4 files changed, 495 insertions(+) create mode 100644 keyboards/planck/keymaps/janat-t/config.h create mode 100644 keyboards/planck/keymaps/janat-t/keymap.c create mode 100644 keyboards/planck/keymaps/janat-t/readme.md create mode 100644 keyboards/planck/keymaps/janat-t/rules.mk diff --git a/keyboards/planck/keymaps/janat-t/config.h b/keyboards/planck/keymaps/janat-t/config.h new file mode 100644 index 000000000000..5d7616f7ca32 --- /dev/null +++ b/keyboards/planck/keymaps/janat-t/config.h @@ -0,0 +1,48 @@ +/* Copyright 2023 Taerakul Janat + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef AUDIO_ENABLE +# define STARTUP_SONG SONG(PLANCK_SOUND) +# define DEFAULT_LAYER_SONGS \ + { SONG(QWERTY_SOUND), SONG(COLEMAK_SOUND), SONG(QWERTY_SOUND) } +#endif + +#define MIDI_BASIC + +// Configure the global tapping term (default: 200ms) +#define TAPPING_TERM 180 + +// Prevent normal rollover on alphas from accidentally triggering mods. +#define PERMISSIVE_HOLD + +#ifndef MOUSEKEY_INTERVAL +#define MOUSEKEY_INTERVAL 10 +#endif +#ifndef MOUSEKEY_MAX_SPEED +#define MOUSEKEY_MAX_SPEED 3 +#endif +#ifndef MOUSEKEY_TIME_TO_MAX +#define MOUSEKEY_TIME_TO_MAX 100 +#endif + +// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. +#define QUICK_TAP_TERM 0 + +#define TRI_LAYER_LOWER_LAYER 3 +#define TRI_LAYER_UPPER_LAYER 4 +#define TRI_LAYER_ADJUST_LAYER 7 \ No newline at end of file diff --git a/keyboards/planck/keymaps/janat-t/keymap.c b/keyboards/planck/keymaps/janat-t/keymap.c new file mode 100644 index 000000000000..27166091d260 --- /dev/null +++ b/keyboards/planck/keymaps/janat-t/keymap.c @@ -0,0 +1,328 @@ +/* Copyright 2023 Taerakul Janat + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +#ifdef AUDIO_ENABLE +# include "muse.h" +#endif + +enum planck_layers { + _QWERTY, + _COLEMAK, + _NOMOD, + _LOWER, + _RAISE, + _NAV, + _MOUSE, + _ADJUST +}; + +enum planck_keycodes { + QWERTY = SAFE_RANGE, + COLEMAK, + NOMOD +}; + +#define MOU_Z LT(_MOUSE, KC_Z) +#define MOU_SCLN LT(_MOUSE, KC_SCLN) +#define NAV_SLSH LT(_NAV, KC_SLSH) +#define NAV_Z LT(_NAV, KC_Z) + +// Left-hand home row mods QWERTY +#define CTL_A LCTL_T(KC_A) +#define ALT_S LALT_T(KC_S) +#define GUI_D LGUI_T(KC_D) +#define SFT_F LSFT_T(KC_F) + +// Right-hand home row mods QWERTY +#define SFT_J RSFT_T(KC_J) +#define GUI_K RGUI_T(KC_K) +#define ALT_L LALT_T(KC_L) +#define CTL_SCLN RCTL_T(KC_SCLN) + +// Left-hand home row mods COLEMAK +#define CTL_A LCTL_T(KC_A) +#define ALT_R LALT_T(KC_R) +#define GUI_S LGUI_T(KC_S) +#define SHFT_T LSFT_T(KC_T) + +// Right-hand home row mods COLEMAK +#define SFT_N RSFT_T(KC_N) +#define GUI_E RGUI_T(KC_E) +#define ALT_I LALT_T(KC_I) +#define CTL_O RCTL_T(KC_O) + +#define HYPER MEH(KC_LGUI) + +#define CT_ESC CTL_T(KC_ESC) + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | BS | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ESC |Ctl-A |Alt-S |GUI-D |Shft-F| G | H |Shft-J|GUI-K |Alt-L |Ctl-; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | CW |MOU-Z | X | C | V | B | N | M | , | . |NAV-/ |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CT_ESC, CTL_A, ALT_S, GUI_D, SFT_F, KC_G, KC_H, SFT_J, GUI_K, ALT_L, CTL_SCLN,KC_QUOT, + CW_TOGG, MOU_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, NAV_SLSH,KC_ENT, + HYPER, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Colemak + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | F | P | B | J | L | U | Y | ; | BS | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ESC |Ctl-A |Alt-R |GUI-S |Shft-T| G | M |Shft-N|GUI-E |Alt-I |Ctl-O | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | CW |MOU-Z | X | C | D | V | K | H | , | . |NAV-/ |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_COLEMAK] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, + CT_ESC, CTL_A, ALT_R, GUI_S, SHFT_T, KC_G, KC_M, SFT_N, GUI_E, ALT_I, CTL_O, KC_QUOT, + CW_TOGG, MOU_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, NAV_SLSH,KC_ENT, + HYPER, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), +/* Qwerty without home row mod + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | BS | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | ESC | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_NOMOD] = LAYOUT_planck_grid( + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + CT_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, + HYPER, KC_LCTL, KC_LALT, KC_LGUI, TL_LOWR, KC_SPC, KC_SPC, TL_UPPR, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT +), + +/* Lower + * ,-----------------------------------------------------------------------------------. + * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | BS | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F13 | F14 | F15 | F16 | F17 | F18 | _ | + | { | } | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F19 | F20 | F21 | F22 | F23 | F24 |ISO ~ |ISO | | Home | End | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | |Adjust| Prev | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_LOWER] = LAYOUT_planck_grid( + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + KC_DEL, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, + _______, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Raise + * ,-----------------------------------------------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BS | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | |Adjust| | | Next | Vol- | Vol+ | Play | + * `-----------------------------------------------------------------------------------' + */ +[_RAISE] = LAYOUT_planck_grid( + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, + _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY +), + +/* Nav + * /-----------------------------------------------------------------------------------\ + * | | Home | PgUp | PgDn | End | | T1 | T← | T→ | T9 | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | Ctrl | Alt | GUI |Shift | | ← | ↓ | ↑ | → | Del | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | | | | | | | | | | |[Nav] | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | | Shift | | | | | | + * \-----------------------------------------------------------------------------------/ + */ +[_NAV] = LAYOUT_planck_grid( + _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, G(KC_1), SCMD(KC_LBRC), SCMD(KC_RBRC), G(KC_9), _______, _______, + _______, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_DEL, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, KC_LSFT, KC_LSFT, _______, _______, _______, _______, _______ +), + +/* Mouse + * /-----------------------------------------------------------------------------------\ + * | | | S↓ | M↑ | S↑ | | S← | S↓ | S↑ | S→ | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | M← | M↓ | M→ | | M← | M↓ | M↑ | M→ | | | + * |------+------+------+------+------+------|------+------+------+------+------+------| + * | |[Mou] | | | | M3 | M3 | | | | | | + * |------+------+------+------+------+-------------+------+------+------+------+------| + * | | | | | M2 | LeftClick | M2 | | | | | + * \-----------------------------------------------------------------------------------/ + */ +[_MOUSE] = LAYOUT_planck_grid( + _______, _______, KC_WH_D, KC_MS_U, KC_WH_U, _______, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, _______, _______, + _______, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, + _______, _______, _______, _______, _______, KC_BTN3, KC_BTN3, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, _______, _______, _______, _______ +), + +/* Adjust (Lower + Raise) + * v------------------------RGB CONTROL--------------------v + * ,-----------------------------------------------------------------------------------. + * | PWR | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|NoMod | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_grid( + KC_PWR, QK_BOOT, DB_TOGG, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL, + _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, NOMOD, _______, _______, + _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) +}; + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); +} + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case QWERTY: + if (record->event.pressed) { + print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + case COLEMAK: + if (record->event.pressed) { + set_single_persistent_default_layer(_COLEMAK); + } + return false; + break; + case NOMOD: + if (record->event.pressed) { + set_single_persistent_default_layer(_NOMOD); + } + return false; + break; + + } + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update_user(uint8_t index, bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo+=1; + } else { + muse_tempo-=1; + } + } + } else { + if (clockwise) { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); + #else + tap_code(KC_PGDN); + #endif + } else { + #ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); + #else + tap_code(KC_PGUP); + #endif + } + } + return true; +} + +bool dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: { + if (active) { + layer_on(_ADJUST); + } else { + layer_off(_ADJUST); + } + break; + } + case 1: + if (active) { + muse_mode = true; + } else { + muse_mode = false; + } + } + return true; +} + +void matrix_scan_user(void) { +#ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } else { + if (muse_counter) { + stop_all_notes(); + muse_counter = 0; + } + } +#endif +} diff --git a/keyboards/planck/keymaps/janat-t/readme.md b/keyboards/planck/keymaps/janat-t/readme.md new file mode 100644 index 000000000000..159558d2351a --- /dev/null +++ b/keyboards/planck/keymaps/janat-t/readme.md @@ -0,0 +1,112 @@ +# Janat's Planck Layout +- MIT Layout +- QWERTY and Colemak-DH with [Home Row Mods](https://precondition.github.io/home-row-mods) +- QWERTY w/o mods for muggles +- Lower + Uper + J/K/L: QWERTY/COLEMAK/NOMOD +- Left Shift: [Caps Word](https://docs.qmk.fm/#/feature_caps_word) +- Hold /: [Navigation Layer](#6-navigation-layer) +- Hold Z: [Mouse Layer](#7-mouse-layer) + +## 1. QWERTY Layer - Qwerty with Home Row Mods +``` +,-----------------------------------------------------------------------------------. +| Tab | Q | W | E | R | T | Y | U | I | O | P | BS | +|------+------+------+------+------+------+------+------+------+------+------+------| +| ESC |Ctl-A |Alt-S |GUI-D |Shft-F| G | H |Shft-J|GUI-K |Alt-L |Ctl-; | " | +|------+------+------+------+------+------+------+------+------+------+------+------| +| CW |MOU-Z | X | C | V | B | N | M | , | . |NAV-/ |Enter | +|------+------+------+------+------+------+------+------+------+------+------+------| +| HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | +`-----------------------------------------------------------------------------------' +``` + +## 2. COLEMAK Layer - Colemak-DH with Home Row Mods +``` +,-----------------------------------------------------------------------------------. +| Tab | Q | W | F | P | B | J | L | U | Y | ; | BS | +|------+------+------+------+------+------+------+------+------+------+------+------| +| ESC |Ctl-A |Alt-R |GUI-S |Shft-T| G | M |Shft-N|GUI-E |Alt-I |Ctl-O | " | +|------+------+------+------+------+------+------+------+------+------+------+------| +| CW |MOU-Z | X | C | D | V | K | H | , | . |NAV-/ |Enter | +|------+------+------+------+------+------+------+------+------+------+------+------| +| HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | +`-----------------------------------------------------------------------------------' +``` + +## 3. NOMOD Layer - QWERTY without Home Row Mods +``` +,-----------------------------------------------------------------------------------. +| Tab | Q | W | E | R | T | Y | U | I | O | P | BS | +|------+------+------+------+------+------+------+------+------+------+------+------| +| ESC | A | S | D | F | G | H | J | K | L | ; | " | +|------+------+------+------+------+------+------+------+------+------+------+------| +| Shift| Z | X | C | V | B | N | M | , | . | / |Enter | +|------+------+------+------+------+------+------+------+------+------+------+------| +| HYPER| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | +`-----------------------------------------------------------------------------------' +``` + +## 4. Lower Layer +``` +,-----------------------------------------------------------------------------------. +| ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | BS | +|------+------+------+------+------+------+------+------+------+------+------+------| +| Del | F13 | F14 | F15 | F16 | F17 | F18 | _ | + | { | } | | | +|------+------+------+------+------+------+------+------+------+------+------+------| +| | F19 | F20 | F21 | F22 | F23 | F24 |ISO ~ |ISO | | Home | End | | +|------+------+------+------+------+------+------+------+------+------+------+------| +| | | | | | |Adjust| Prev | Vol- | Vol+ | Play | +`-----------------------------------------------------------------------------------' +``` + +## 5. Raise Layer +``` +,-----------------------------------------------------------------------------------. +| ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | BS | +|------+------+------+------+------+------+------+------+------+------+------+------| +| Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | +|------+------+------+------+------+------+------+------+------+------+------+------| +| | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | | +|------+------+------+------+------+------+------+------+------+------+------+------| +| | | | |Adjust| | | Next | Vol- | Vol+ | Play | +`-----------------------------------------------------------------------------------' +``` +## 6. Navigation Layer +``` +/-----------------------------------------------------------------------------------\ +| | Home | PgUp | PgDn | End | | T1 | T← | T→ | T9 | | | +|------+------+------+------+------+-------------+------+------+------+------+------| +| | Ctrl | Alt | GUI |Shift | | ← | ↓ | ↑ | → | Del | | +|------+------+------+------+------+------|------+------+------+------+------+------| +| | | | | | | | | | |[Nav] | | +|------+------+------+------+------+-------------+------+------+------+------+------| +| | | | | | Shift | | | | | | +\-----------------------------------------------------------------------------------/ +``` + +## 7. Mouse Layer +``` +/-----------------------------------------------------------------------------------\ +| | | S↓ | M↑ | S↑ | | S← | S↓ | S↑ | S→ | | | +|------+------+------+------+------+-------------+------+------+------+------+------| +| | | M← | M↓ | M→ | | M← | M↓ | M↑ | M→ | | | +|------+------+------+------+------+------|------+------+------+------+------+------| +| |[Mou] | | | | M3 | M3 | | | | | | +|------+------+------+------+------+-------------+------+------+------+------+------| +| | | | | M2 | LeftClick | M2 | | | | | +\-----------------------------------------------------------------------------------/ +``` + +## 8. Adjust Layer (Lower + Raise) +``` + v------------------------RGB CONTROL--------------------v +,-----------------------------------------------------------------------------------. +| PWR | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del | +|------+------+------+------+------+------+------+------+------+------+------+------| +| | |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|NoMod | | | +|------+------+------+------+------+------+------+------+------+------+------+------| +| |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof| | | | | | +|------+------+------+------+------+------+------+------+------+------+------+------| +| | | | | | | | | | | | +`-----------------------------------------------------------------------------------' +``` diff --git a/keyboards/planck/keymaps/janat-t/rules.mk b/keyboards/planck/keymaps/janat-t/rules.mk new file mode 100644 index 000000000000..b0ed6ad92272 --- /dev/null +++ b/keyboards/planck/keymaps/janat-t/rules.mk @@ -0,0 +1,7 @@ +ifeq ($(strip $(AUDIO_ENABLE)), yes) + SRC += muse.c +endif + +MIDI_ENABLE = yes +CAPS_WORD_ENABLE = yes +TRI_LAYER_ENABLE = yes From 31a9d2d00dc732ca29be2213dbf915d6f6ffc76d Mon Sep 17 00:00:00 2001 From: Yizhen Liu <62583086+edwardslau@users.noreply.github.com> Date: Tue, 15 Aug 2023 02:45:38 +0800 Subject: [PATCH 40/65] [keyboard] Graystudio Think6.5 V3 Support Revised (#21560) Co-authored-by: jack <0x6a73@protonmail.com> Co-authored-by: Duncan Sutherland Co-authored-by: Ryan --- keyboards/gray_studio/think65v3/config.h | 9 + keyboards/gray_studio/think65v3/info.json | 275 ++++++++++++++++++ .../think65v3/keymaps/default/keymap.c | 20 ++ .../think65v3/keymaps/via/keymap.c | 20 ++ .../think65v3/keymaps/via/rules.mk | 1 + keyboards/gray_studio/think65v3/readme.md | 21 ++ keyboards/gray_studio/think65v3/rules.mk | 1 + keyboards/gray_studio/think65v3/think65v3.c | 22 ++ 8 files changed, 369 insertions(+) create mode 100644 keyboards/gray_studio/think65v3/config.h create mode 100644 keyboards/gray_studio/think65v3/info.json create mode 100644 keyboards/gray_studio/think65v3/keymaps/default/keymap.c create mode 100644 keyboards/gray_studio/think65v3/keymaps/via/keymap.c create mode 100644 keyboards/gray_studio/think65v3/keymaps/via/rules.mk create mode 100644 keyboards/gray_studio/think65v3/readme.md create mode 100644 keyboards/gray_studio/think65v3/rules.mk create mode 100644 keyboards/gray_studio/think65v3/think65v3.c diff --git a/keyboards/gray_studio/think65v3/config.h b/keyboards/gray_studio/think65v3/config.h new file mode 100644 index 000000000000..0a0596e64c61 --- /dev/null +++ b/keyboards/gray_studio/think65v3/config.h @@ -0,0 +1,9 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#pragma once +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_MOOD +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE + \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/info.json b/keyboards/gray_studio/think65v3/info.json new file mode 100644 index 000000000000..0fbab667d443 --- /dev/null +++ b/keyboards/gray_studio/think65v3/info.json @@ -0,0 +1,275 @@ +{ + "keyboard_name": "think65v3", + "url": "https://graystudio.club/products/testthink6-5-v3", + "maintainer": "edwardslau", + "manufacturer":"GrayStudio", + "processor": "STM32F072", + "diode_direction": "COL2ROW", + "bootloader": "stm32-dfu", + "usb": { + "vid":"0x4753", + "pid":"0x4003", + "device_version": "0.0.3" + }, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "ws2812": { + "pin": "B10" + } + "matrix_pins": { + "cols": ["A3", "A5", "A4", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15", "B0", "A8", "B15", "B14", "B13"], + "rows": ["A6", "B12", "A2", "A0", "A1"] + }, +"rgblight": { + "led_count": 6, + "sleep": true, + "max_brightness": 150, + "layers": { + "enabled": true + "override_rgb": true + }, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0,0], "x": 0, "y": 0}, + {"matrix": [0,1], "x": 1, "y": 0}, + {"matrix": [0,2], "x": 2, "y": 0}, + {"matrix": [0,3], "x": 3, "y": 0}, + {"matrix": [0,4], "x": 4, "y": 0}, + {"matrix": [0,5], "x": 5, "y": 0}, + {"matrix": [0,6], "x": 6, "y": 0}, + {"matrix": [0,7], "x": 7, "y": 0}, + {"matrix": [0,8], "x": 8, "y": 0}, + {"matrix": [0,9], "x": 9, "y": 0}, + {"matrix": [0,10],"x": 10, "y": 0}, + {"matrix": [0,11],"x": 11, "y": 0}, + {"matrix": [0,12],"x": 12, "y": 0}, + {"matrix": [0,13],"x": 13, "y": 0}, + {"matrix": [0,14],"x": 14, "y": 0}, + {"matrix": [0,15],"x": 15, "y": 0}, + + {"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1,2], "x": 1.5, "y": 1}, + {"matrix": [1,3], "x": 2.5, "y": 1}, + {"matrix": [1,4], "x": 3.5, "y": 1}, + {"matrix": [1,5], "x": 4.5, "y": 1}, + {"matrix": [1,6], "x": 5.5, "y": 1}, + {"matrix": [1,7], "x": 6.5, "y": 1}, + {"matrix": [1,8], "x": 7.5, "y": 1}, + {"matrix": [1,9], "x": 8.5, "y": 1}, + {"matrix": [1,10],"x": 9.5, "y": 1}, + {"matrix": [1,11],"x": 10.5, "y": 1}, + {"matrix": [1,12],"x": 11.5, "y": 1}, + {"matrix": [1,13],"x": 12.5, "y": 1}, + {"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1,15],"x": 15, "y": 1}, + + {"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2,2], "x": 1.75, "y": 2}, + {"matrix": [2,3], "x": 2.75, "y": 2}, + {"matrix": [2,4], "x": 3.75, "y": 2}, + {"matrix": [2,5], "x": 4.75, "y": 2}, + {"matrix": [2,6], "x": 5.75, "y": 2}, + {"matrix": [2,7], "x": 6.75, "y": 2}, + {"matrix": [2,8], "x": 7.75, "y": 2}, + {"matrix": [2,9], "x": 8.75, "y": 2}, + {"matrix": [2,10],"x": 9.75, "y": 2}, + {"matrix": [2,11],"x": 10.75, "y": 2}, + {"matrix": [2,12],"x": 11.75, "y": 2}, + {"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3,0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3,1], "x": 1.25, "y": 3}, + {"matrix": [3,2], "x": 2.25, "y": 3}, + {"matrix": [3,3], "x": 3.25, "y": 3}, + {"matrix": [3,4], "x": 4.25, "y": 3}, + {"matrix": [3,5], "x": 5.25, "y": 3}, + {"matrix": [3,6], "x": 6.25, "y": 3}, + {"matrix": [3,7], "x": 7.25, "y": 3}, + {"matrix": [3,8], "x": 8.25, "y": 3}, + {"matrix": [3,9],"x": 9.25, "y": 3}, + {"matrix": [3,10],"x": 10.25, "y": 3}, + {"matrix": [3,11],"x": 11.25, "y": 3}, + {"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3,14],"x": 14, "y": 3}, + + {"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, + {"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4,13],"x": 13, "y": 4}, + {"matrix": [4,14],"x": 14, "y": 4}, + {"matrix": [4,15],"x": 15, "y": 4} + ] + }, + "LAYOUT_65_blocker": { + "layout": [ + {"matrix": [0,0], "x": 0, "y": 0}, + {"matrix": [0,1], "x": 1, "y": 0}, + {"matrix": [0,2], "x": 2, "y": 0}, + {"matrix": [0,3], "x": 3, "y": 0}, + {"matrix": [0,4], "x": 4, "y": 0}, + {"matrix": [0,5], "x": 5, "y": 0}, + {"matrix": [0,6], "x": 6, "y": 0}, + {"matrix": [0,7], "x": 7, "y": 0}, + {"matrix": [0,8], "x": 8, "y": 0}, + {"matrix": [0,9], "x": 9, "y": 0}, + {"matrix": [0,10],"x": 10, "y": 0}, + {"matrix": [0,11],"x": 11, "y": 0}, + {"matrix": [0,12],"x": 12, "y": 0}, + {"matrix": [0,13],"x": 13, "y": 0, "w": 2}, + {"matrix": [0,15],"x": 15, "y": 0}, + + {"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1,2], "x": 1.5, "y": 1}, + {"matrix": [1,3], "x": 2.5, "y": 1}, + {"matrix": [1,4], "x": 3.5, "y": 1}, + {"matrix": [1,5], "x": 4.5, "y": 1}, + {"matrix": [1,6], "x": 5.5, "y": 1}, + {"matrix": [1,7], "x": 6.5, "y": 1}, + {"matrix": [1,8], "x": 7.5, "y": 1}, + {"matrix": [1,9], "x": 8.5, "y": 1}, + {"matrix": [1,10],"x": 9.5, "y": 1}, + {"matrix": [1,11],"x": 10.5, "y": 1}, + {"matrix": [1,12],"x": 11.5, "y": 1}, + {"matrix": [1,13],"x": 12.5, "y": 1}, + {"matrix": [1,14],"x": 13.5, "y": 1, "w": 1.5}, + {"matrix": [1,15],"x": 15, "y": 1}, + + {"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2,2], "x": 1.75, "y": 2}, + {"matrix": [2,3], "x": 2.75, "y": 2}, + {"matrix": [2,4], "x": 3.75, "y": 2}, + {"matrix": [2,5], "x": 4.75, "y": 2}, + {"matrix": [2,6], "x": 5.75, "y": 2}, + {"matrix": [2,7], "x": 6.75, "y": 2}, + {"matrix": [2,8], "x": 7.75, "y": 2}, + {"matrix": [2,9], "x": 8.75, "y": 2}, + {"matrix": [2,10],"x": 9.75, "y": 2}, + {"matrix": [2,11],"x": 10.75, "y": 2}, + {"matrix": [2,12],"x": 11.75, "y": 2}, + {"matrix": [2,13],"x": 12.75, "y": 2, "w": 2.25}, + + {"matrix": [3,0], "x": 0, "y": 3, "w": 2.25}, + {"matrix": [3,2], "x": 2.25, "y": 3}, + {"matrix": [3,3], "x": 3.25, "y": 3}, + {"matrix": [3,4], "x": 4.25, "y": 3}, + {"matrix": [3,5], "x": 5.25, "y": 3}, + {"matrix": [3,6], "x": 6.25, "y": 3}, + {"matrix": [3,7], "x": 7.25, "y": 3}, + {"matrix": [3,8], "x": 8.25, "y": 3}, + {"matrix": [3,9], "x": 9.25, "y": 3}, + {"matrix": [3,10],"x": 10.25, "y": 3}, + {"matrix": [3,11],"x": 11.25, "y": 3}, + {"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3,14],"x": 14, "y": 3}, + + {"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, + {"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4,13],"x": 13, "y": 4}, + {"matrix": [4,14],"x": 14, "y": 4}, + {"matrix": [4,15],"x": 15, "y": 4} + ] + }, + "LAYOUT_65_iso_blocker": { + "layout": [ + {"matrix": [0,0], "x": 0, "y": 0}, + {"matrix": [0,1], "x": 1, "y": 0}, + {"matrix": [0,2], "x": 2, "y": 0}, + {"matrix": [0,3], "x": 3, "y": 0}, + {"matrix": [0,4], "x": 4, "y": 0}, + {"matrix": [0,5], "x": 5, "y": 0}, + {"matrix": [0,6], "x": 6, "y": 0}, + {"matrix": [0,7], "x": 7, "y": 0}, + {"matrix": [0,8], "x": 8, "y": 0}, + {"matrix": [0,9], "x": 9, "y": 0}, + {"matrix": [0,10],"x": 10, "y": 0}, + {"matrix": [0,11],"x": 11, "y": 0}, + {"matrix": [0,12],"x": 12, "y": 0}, + {"matrix": [0,13],"x": 13, "y": 0, "w": 2}, + {"matrix": [0,15],"x": 15, "y": 0}, + + {"matrix": [1,0], "x": 0, "y": 1, "w": 1.5}, + {"matrix": [1,2], "x": 1.5, "y": 1}, + {"matrix": [1,3], "x": 2.5, "y": 1}, + {"matrix": [1,4], "x": 3.5, "y": 1}, + {"matrix": [1,5], "x": 4.5, "y": 1}, + {"matrix": [1,6], "x": 5.5, "y": 1}, + {"matrix": [1,7], "x": 6.5, "y": 1}, + {"matrix": [1,8], "x": 7.5, "y": 1}, + {"matrix": [1,9], "x": 8.5, "y": 1}, + {"matrix": [1,10],"x": 9.5, "y": 1}, + {"matrix": [1,11],"x": 10.5, "y": 1}, + {"matrix": [1,12],"x": 11.5, "y": 1}, + {"matrix": [1,13],"x": 12.5, "y": 1}, + {"matrix": [1,15],"x": 15, "y": 1}, + + {"matrix": [2,0], "x": 0, "y": 2, "w": 1.75}, + {"matrix": [2,2], "x": 1.75, "y": 2}, + {"matrix": [2,3], "x": 2.75, "y": 2}, + {"matrix": [2,4], "x": 3.75, "y": 2}, + {"matrix": [2,5], "x": 4.75, "y": 2}, + {"matrix": [2,6], "x": 5.75, "y": 2}, + {"matrix": [2,7], "x": 6.75, "y": 2}, + {"matrix": [2,8], "x": 7.75, "y": 2}, + {"matrix": [2,9], "x": 8.75, "y": 2}, + {"matrix": [2,10],"x": 9.75, "y": 2}, + {"matrix": [2,11],"x": 10.75, "y": 2}, + {"matrix": [1,14],"x": 11.75, "y": 2}, + {"matrix": [2,13],"x": 12.75, "y": 2}, + {"matrix": [2,14],"x": 13.75, "y": 1, "w": 1.25, "h": 2}, + + {"matrix": [3,0], "x": 0, "y": 3, "w": 1.25}, + {"matrix": [3,1],"x": 1.25, "y": 3}, + {"matrix": [3,2], "x": 2.25, "y": 3}, + {"matrix": [3,3], "x": 3.25, "y": 3}, + {"matrix": [3,4], "x": 4.25, "y": 3}, + {"matrix": [3,5], "x": 5.25, "y": 3}, + {"matrix": [3,6], "x": 6.25, "y": 3}, + {"matrix": [3,7], "x": 7.25, "y": 3}, + {"matrix": [3,8], "x": 8.25, "y": 3}, + {"matrix": [3,9], "x": 9.25, "y": 3}, + {"matrix": [3,10],"x": 10.25, "y": 3}, + {"matrix": [3,11],"x": 11.25, "y": 3}, + {"matrix": [3,13],"x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3,14],"x": 14, "y": 3}, + + {"matrix": [4,0], "x": 0, "y": 4, "w": 1.25}, + {"matrix": [4,1], "x": 1.25, "y": 4, "w": 1.25}, + {"matrix": [4,2], "x": 2.5, "y": 4, "w": 1.25}, + {"matrix": [4,7], "x": 3.75, "y": 4, "w": 6.25}, + {"matrix": [4,10],"x": 10, "y": 4, "w": 1.25}, + {"matrix": [4,11],"x": 11.25, "y": 4, "w": 1.25}, + {"matrix": [4,13],"x": 13, "y": 4}, + {"matrix": [4,14],"x": 14, "y": 4}, + {"matrix": [4,15],"x": 15, "y": 4} + ] + } + } +} diff --git a/keyboards/gray_studio/think65v3/keymaps/default/keymap.c b/keyboards/gray_studio/think65v3/keymaps/default/keymap.c new file mode 100644 index 000000000000..82ff711808ed --- /dev/null +++ b/keyboards/gray_studio/think65v3/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + QK_GESC, 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_DEL, + 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_HOME, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/gray_studio/think65v3/keymaps/via/keymap.c b/keyboards/gray_studio/think65v3/keymaps/via/keymap.c new file mode 100644 index 000000000000..82ff711808ed --- /dev/null +++ b/keyboards/gray_studio/think65v3/keymaps/via/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + QK_GESC, 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_DEL, + 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_HOME, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, QK_BOOT, + _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; diff --git a/keyboards/gray_studio/think65v3/keymaps/via/rules.mk b/keyboards/gray_studio/think65v3/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/gray_studio/think65v3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/gray_studio/think65v3/readme.md b/keyboards/gray_studio/think65v3/readme.md new file mode 100644 index 000000000000..dc09a00d1d2c --- /dev/null +++ b/keyboards/gray_studio/think65v3/readme.md @@ -0,0 +1,21 @@ +# Gray Studio think65v3 + + A 65% keyboard by Graystudio. PCB designed and manufactured by DEMO Studio. + + * Keyboard Maintainer: [edwardslau](https://github.com/edwardslau) + * Hardware Support: Think6.5 V3 + * Hardware Availability: + + Make example for this keyboard (after setting up your build environment): + + make gray_studio/think65v3:default + + Flashing example for this keyboard: + + make gray_studio/think65v3:default:flash + +## Bootloader + +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more infromation. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/rules.mk b/keyboards/gray_studio/think65v3/rules.mk new file mode 100644 index 000000000000..7ff128fa692e --- /dev/null +++ b/keyboards/gray_studio/think65v3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank \ No newline at end of file diff --git a/keyboards/gray_studio/think65v3/think65v3.c b/keyboards/gray_studio/think65v3/think65v3.c new file mode 100644 index 000000000000..04dd85406fb5 --- /dev/null +++ b/keyboards/gray_studio/think65v3/think65v3.c @@ -0,0 +1,22 @@ +// Copyright 2023 Yizhen Liu (@edwardslau) +// SPDX-License-Identifier: GPL-2.0 +#include "quantum.h" +const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS( + {0,6, HSV_WHITE} +); +const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + my_capslock_layer +); + +void keyboard_post_init_kb(void) { + // Enable the LED layers + rgblight_layers = my_rgb_layers; + keyboard_post_init_user(); +} +bool led_update_kb(led_t led_state) { + bool res = led_update_user(led_state); + if (res) { + rgblight_set_layer_state(0, led_state.caps_lock); + } + return res; +} From 0ac8221a0a423d1a74238fcdf6b489bfe865c2e7 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 15 Aug 2023 07:42:06 +0100 Subject: [PATCH 41/65] Remove invalid config option from kikoslab/kl90 (#21708) --- keyboards/kikoslab/kl90/config.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/keyboards/kikoslab/kl90/config.h b/keyboards/kikoslab/kl90/config.h index 9987ae161efa..7f9b0b12d498 100644 --- a/keyboards/kikoslab/kl90/config.h +++ b/keyboards/kikoslab/kl90/config.h @@ -17,7 +17,5 @@ along with this program. If not, see . #pragma once -#define EMCODER_DIRECTION_FLIP - /*EEPROM for via*/ -#define DYNAMIC_KEYMAP_LAYER_COUNT 3 \ No newline at end of file +#define DYNAMIC_KEYMAP_LAYER_COUNT 3 From dbd847d4d3835ec4ab1067b535231284c5cece2d Mon Sep 17 00:00:00 2001 From: Dane Lipscombe Date: Tue, 15 Aug 2023 19:06:18 +1000 Subject: [PATCH 42/65] [Keyboard] Add Chouchou keyboard (#21699) --- keyboards/chouchou/config.h | 7 +++ keyboards/chouchou/info.json | 52 +++++++++++++++++++++ keyboards/chouchou/keymaps/default/keymap.c | 11 +++++ keyboards/chouchou/readme.md | 26 +++++++++++ keyboards/chouchou/rules.mk | 0 5 files changed, 96 insertions(+) create mode 100644 keyboards/chouchou/config.h create mode 100644 keyboards/chouchou/info.json create mode 100644 keyboards/chouchou/keymaps/default/keymap.c create mode 100644 keyboards/chouchou/readme.md create mode 100644 keyboards/chouchou/rules.mk diff --git a/keyboards/chouchou/config.h b/keyboards/chouchou/config.h new file mode 100644 index 000000000000..405bd8b5ff42 --- /dev/null +++ b/keyboards/chouchou/config.h @@ -0,0 +1,7 @@ +// Copyright 2023 Dane Lipscombe (@dlip) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET +#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 1000U diff --git a/keyboards/chouchou/info.json b/keyboards/chouchou/info.json new file mode 100644 index 000000000000..726f190aab1f --- /dev/null +++ b/keyboards/chouchou/info.json @@ -0,0 +1,52 @@ +{ + "manufacturer": "dlip", + "keyboard_name": "chouchou", + "maintainer": "dlip", + "bootloader": "rp2040", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": false, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP26", "GP27", "GP28", "GP29"] + ] + }, + "processor": "RP2040", + "url": "https://github.com/dlip/chouchou", + "usb": { + "device_version": "1.0.0", + "pid": "0x0117", + "vid": "0xFABE" + }, + "layouts": { + "LAYOUT_split_2x4_2": { + "layout": [ + {"matrix": [0, 16], "x": 0, "y": 0.88}, + {"matrix": [0, 17], "x": 1, "y": 0.38}, + {"matrix": [0, 18], "x": 2, "y": 0}, + {"matrix": [0, 19], "x": 3, "y": 0.38}, + {"matrix": [0, 0], "x": 4, "y": 0.38}, + {"matrix": [0, 1], "x": 5, "y": 0}, + {"matrix": [0, 2], "x": 6, "y": 0.38}, + {"matrix": [0, 3], "x": 7, "y": 0.88}, + {"matrix": [0, 12], "x": 0, "y": 1.88}, + {"matrix": [0, 13], "x": 1, "y": 1.38}, + {"matrix": [0, 14], "x": 2, "y": 1}, + {"matrix": [0, 15], "x": 3, "y": 1.38}, + {"matrix": [0, 4], "x": 4, "y": 1.38}, + {"matrix": [0, 5], "x": 5, "y": 1}, + {"matrix": [0, 6], "x": 6, "y": 1.38}, + {"matrix": [0, 7], "x": 7, "y": 1.88}, + {"matrix": [0, 11], "x": 2, "y": 2.38}, + {"matrix": [0, 10], "x": 3, "y": 2.5}, + {"matrix": [0, 9], "x": 4, "y": 2.5}, + {"matrix": [0, 8], "x": 5, "y": 2.38} + ] + } + } +} diff --git a/keyboards/chouchou/keymaps/default/keymap.c b/keyboards/chouchou/keymaps/default/keymap.c new file mode 100644 index 000000000000..7a20b6e21593 --- /dev/null +++ b/keyboards/chouchou/keymaps/default/keymap.c @@ -0,0 +1,11 @@ +// Copyright 2023 Dane Lipscombe (@dlip) +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_2x4_2( + KC_A, KC_B, KC_C, KC_D, KC_N, KC_M, KC_L, KC_K, + KC_E, KC_F, KC_G, KC_H, KC_R, KC_Q, KC_P, KC_O, + KC_I, KC_J, KC_T, KC_S + ), +}; diff --git a/keyboards/chouchou/readme.md b/keyboards/chouchou/readme.md new file mode 100644 index 000000000000..dcd0c9031419 --- /dev/null +++ b/keyboards/chouchou/readme.md @@ -0,0 +1,26 @@ +# Chouchou + +![Chouchou](https://i.imgur.com/BYk2n5Ch.jpeg) + +Chouchou (Japanese for butterfly) is a minimalist unibody keyboard designed to be used with the [Taipo](https://inkeys.wiki/en/keymaps/taipo) layout. + +- [Github repo](https://github.com/dlip/chouchou) +- Keyboard Maintainer: [Dane Lipscombe](https://github.com/dlip) + +Make example for this keyboard (after setting up your build environment): + + make chouchou:default + +Flashing example for this keyboard: + + make chouchou:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/chouchou/rules.mk b/keyboards/chouchou/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 From 5d2f2af19897d1f5fd35cb8475fc8b3f74f201f1 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 15 Aug 2023 19:30:34 +1000 Subject: [PATCH 43/65] OLED: driver naming cleanups (#21710) --- builddefs/common_features.mk | 4 ++-- docs/feature_oled_driver.md | 8 ++++---- keyboards/0xcb/1337/rules.mk | 1 - keyboards/0xcb/static/rules.mk | 1 - keyboards/0xcb/tutelpad/rules.mk | 2 -- keyboards/10bleoledhub/rules.mk | 1 - .../pi40/mit_v1_0/keymaps/miketronic/rules.mk | 1 - keyboards/1upkeyboards/pi40/rules.mk | 1 - keyboards/25keys/cassette42/rules.mk | 1 - .../adpenrose/akemipad/keymaps/oled_bongocat/rules.mk | 1 - keyboards/adpenrose/kintsugi/rules.mk | 1 - keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk | 1 - keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk | 1 - keyboards/aidansmithdotdev/fine40/rules.mk | 1 - keyboards/aleblazer/zodiark/rules.mk | 1 - keyboards/anavi/knob1/rules.mk | 1 - keyboards/anavi/knobs3/rules.mk | 1 - keyboards/anavi/macropad8/rules.mk | 1 - keyboards/aplyard/aplx6/rev2/rules.mk | 1 - keyboards/arabica37/keymaps/default/rules.mk | 1 - keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk | 1 - keyboards/avalanche/v4/rules.mk | 1 - keyboards/basekeys/slice/rev1_rgb/rules.mk | 1 - keyboards/bluebell/swoop/keymaps/kyek/rules.mk | 1 - .../boardsource/holiday/spooky/keymaps/rip_mx/rules.mk | 1 - .../holiday/spooky/keymaps/rip_my_wallet/rules.mk | 1 - keyboards/bolsa/damapad/rules.mk | 1 - keyboards/boston_meetup/2019/rules.mk | 1 - keyboards/buzzard/rev1/rules.mk | 2 -- keyboards/cannonkeys/satisfaction75/rules.mk | 2 -- keyboards/ckeys/washington/rules.mk | 1 - keyboards/controllerworks/mini36/rules.mk | 1 - keyboards/controllerworks/mini42/rules.mk | 1 - keyboards/crkbd/keymaps/ajarov/rules.mk | 1 - keyboards/crkbd/keymaps/armand1m/rules.mk | 1 - keyboards/crkbd/keymaps/benrestech/rules.mk | 1 - keyboards/crkbd/keymaps/bermeo/rules.mk | 3 +-- keyboards/crkbd/keymaps/cameronjlarsen/rules.mk | 3 +-- keyboards/crkbd/keymaps/colemad/rules.mk | 1 - keyboards/crkbd/keymaps/colemak_luna/rules.mk | 1 - keyboards/crkbd/keymaps/crkdves/rules.mk | 2 -- keyboards/crkbd/keymaps/crkqwes/rules.mk | 2 -- keyboards/crkbd/keymaps/devdev/rules.mk | 1 - keyboards/crkbd/keymaps/edvorakjp/rules.mk | 1 - keyboards/crkbd/keymaps/gotham/rules.mk | 1 - keyboards/crkbd/keymaps/hvp/rules.mk | 1 - keyboards/crkbd/keymaps/jarred/rules.mk | 1 - keyboards/crkbd/keymaps/jpe230/rules.mk | 2 -- keyboards/crkbd/keymaps/julian_turner/rules.mk | 1 - keyboards/crkbd/keymaps/kidbrazil/rules.mk | 1 - keyboards/crkbd/keymaps/madhatter/rules.mk | 1 - keyboards/crkbd/keymaps/mcrown/rules.mk | 1 - keyboards/crkbd/keymaps/nimishgautam/rules.mk | 1 - keyboards/crkbd/keymaps/ninjonas/rules.mk | 1 - keyboards/crkbd/keymaps/oled_sample/rules.mk | 1 - keyboards/crkbd/keymaps/ollyhayes/rules.mk | 1 - keyboards/crkbd/keymaps/oo/rules.mk | 1 - keyboards/crkbd/keymaps/rarick/rules.mk | 3 --- keyboards/crkbd/keymaps/rjhilgefort/rules.mk | 1 - keyboards/crkbd/keymaps/rmeli/rules.mk | 1 - keyboards/crkbd/keymaps/rpbaptist/rules.mk | 1 - keyboards/crkbd/keymaps/sharkby7e/rules.mk | 1 - keyboards/crkbd/keymaps/snowe/rules.mk | 1 - keyboards/crkbd/keymaps/soundmonster/rules.mk | 2 -- keyboards/crkbd/keymaps/sulrich/rules.mk | 1 - keyboards/crkbd/keymaps/thumb_ctrl/rules.mk | 1 - keyboards/crkbd/keymaps/thunderbird2086/rules.mk | 1 - keyboards/crkbd/keymaps/toinux/rules.mk | 1 - keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk | 1 - keyboards/crkbd/keymaps/vxid/rules.mk | 1 - keyboards/crkbd/keymaps/xyverz/rules.mk | 1 - keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk | 1 - keyboards/dailycraft/claw44/keymaps/oled/rules.mk | 1 - keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk | 1 - keyboards/doio/kb16/rev1/rules.mk | 1 - keyboards/doio/kb16/rev2/rules.mk | 1 - keyboards/doio/kb30/rules.mk | 2 -- keyboards/doodboard/duckboard/rules.mk | 1 - keyboards/doodboard/duckboard_r2/rules.mk | 1 - keyboards/draculad/keymaps/pimoroni/rules.mk | 1 - keyboards/draculad/rules.mk | 1 - keyboards/dumbo/keymaps/default/rules.mk | 1 - keyboards/dumbo/keymaps/trip-trap/rules.mk | 1 - keyboards/dumbpad/v1x_oled/rules.mk | 1 - keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk | 3 +-- keyboards/ein_60/rules.mk | 1 - keyboards/fearherbs1/blue_team_pad/rules.mk | 1 - keyboards/fungo/rev1/rules.mk | 2 -- keyboards/gboards/gergo/keymaps/oled/rules.mk | 1 - keyboards/gopolar/gg86/rules.mk | 1 - keyboards/hadron/ver2/rules.mk | 1 - keyboards/hadron/ver3/rules.mk | 1 - keyboards/handwired/amigopunk/rules.mk | 1 - keyboards/handwired/d48/rules.mk | 1 - .../dactyl_manuform/5x6_5/keymaps/333fred/rules.mk | 1 - keyboards/handwired/marauder/keymaps/orvia/rules.mk | 1 - keyboards/handwired/myskeeb/rules.mk | 1 - keyboards/handwired/obuwunkunubi/spaget/rules.mk | 2 -- keyboards/handwired/onekey/kb2040/rules.mk | 1 - keyboards/handwired/onekey/keymaps/oled/rules.mk | 1 - keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk | 1 - keyboards/handwired/pill60/rules.mk | 1 - keyboards/handwired/swiftrax/koalafications/rules.mk | 1 - keyboards/handwired/swiftrax/the_galleon/rules.mk | 1 - keyboards/handwired/tsubasa/rules.mk | 1 - keyboards/handwired/uthol/rev3/rules.mk | 1 - keyboards/hardwareabstraction/handwire/rules.mk | 1 - keyboards/helix/rev2/keymaps/xulkal/rules.mk | 1 - keyboards/helix/rev2/local_features.mk | 1 - keyboards/helix/rev3_4rows/rules.mk | 1 - keyboards/helix/rev3_5rows/rules.mk | 1 - keyboards/horrortroll/handwired_k552/rules.mk | 1 - keyboards/horrortroll/lemon40/rules.mk | 1 - keyboards/jagdpietr/drakon/rules.mk | 1 - keyboards/jaykeeb/kamigakushi/rules.mk | 1 - keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk | 1 - keyboards/kakunpc/angel64/rules.mk | 1 - keyboards/kakunpc/business_card/alpha/rules.mk | 1 - keyboards/kakunpc/business_card/beta/rules.mk | 1 - keyboards/kakunpc/suihankey/rules.mk | 1 - keyboards/keybage/radpad/rules.mk | 1 - keyboards/keycapsss/kimiko/keymaps/default/rules.mk | 2 -- keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk | 2 -- keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk | 1 - keyboards/keycapsss/plaid_pad/rev3/rules.mk | 1 - keyboards/kikoslab/kl90/rules.mk | 1 - keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk | 1 - keyboards/kingly_keys/romac_plus/rules.mk | 1 - keyboards/kiwikey/wanderland/keymaps/stanrc85/rules.mk | 1 - keyboards/knobgoblin/rules.mk | 1 - keyboards/latincompass/latinpad/rules.mk | 1 - keyboards/lefty/rules.mk | 1 - keyboards/lily58/keymaps/drasbeck/rules.mk | 1 - keyboards/lily58/keymaps/gshmu/rules.mk | 1 - keyboards/lily58/keymaps/mb_via/rules.mk | 1 - keyboards/lily58/keymaps/muuko/rules.mk | 1 - keyboards/lily58/keymaps/ninjonas/rules.mk | 1 - keyboards/lily58/keymaps/via/rules.mk | 1 - keyboards/lily58/keymaps/yuchi/config.h | 2 -- keyboards/lily58/rules.mk | 2 -- keyboards/lime/rev1/rules.mk | 1 - keyboards/ll3macorn/bongopad/rules.mk | 3 +-- keyboards/lyso1/lck75/rules.mk | 1 - keyboards/macrocat/keymaps/oled/rules.mk | 1 - keyboards/marksard/treadstone48/keymaps/default/rules.mk | 1 - keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk | 1 - .../treadstone48/rev1/keymaps/like_jis_rs/rules.mk | 1 - keyboards/marksard/treadstone48/rules.mk | 1 - keyboards/mechllama/g35/rules.mk | 1 - keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk | 3 +-- keyboards/mechwild/bde/rev2/rules.mk | 1 - keyboards/mechwild/mercutio/rules.mk | 1 - keyboards/mechwild/mokulua/mirrored/rules.mk | 3 +-- keyboards/mechwild/mokulua/standard/rules.mk | 3 +-- keyboards/mechwild/murphpad/rules.mk | 1 - keyboards/mechwild/puckbuddy/rules.mk | 1 - keyboards/mechwild/sugarglider/rules.mk | 1 - keyboards/meow48/rules.mk | 1 - keyboards/merge/um70/rules.mk | 1 - keyboards/merge/um80/rules.mk | 1 - keyboards/merge/uma/rules.mk | 1 - keyboards/mino_plus/hotswap/rules.mk | 1 - keyboards/mino_plus/soldered/rules.mk | 1 - keyboards/misonoworks/chocolatebar/rules.mk | 1 - keyboards/mlego/m65/rev4/rules.mk | 1 - keyboards/nullbitsco/nibble/keymaps/oled/rules.mk | 1 - .../nullbitsco/nibble/keymaps/oled_bongocat/rules.mk | 1 - keyboards/nullbitsco/nibble/keymaps/oled_status/rules.mk | 1 - keyboards/nullbitsco/scramble/keymaps/oled/rules.mk | 1 - keyboards/nullbitsco/snap/keymaps/bongo_reactive/rules.mk | 1 - .../snap/keymaps/bongo_reactive_single_oled/rules.mk | 1 - keyboards/nullbitsco/snap/keymaps/oled/rules.mk | 1 - keyboards/nullbitsco/snap/keymaps/typehud/rules.mk | 1 - keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk | 1 - keyboards/obosob/arch_36/rules.mk | 1 - keyboards/palette1202/rules.mk | 1 - keyboards/pearlboards/zeuspad/rules.mk | 1 - keyboards/pica40/rev1/rules.mk | 1 - keyboards/planck/keymaps/rootiest/rules.mk | 1 - keyboards/prototypist/oceanographer/rules.mk | 1 - keyboards/rainkeebs/rainkeeb/rules.mk | 1 - keyboards/rart/rart67m/rules.mk | 1 - keyboards/rart/rart75m/rules.mk | 1 - keyboards/rart/rartand/rules.mk | 1 - keyboards/rart/rartland/rules.mk | 1 - keyboards/rart/rartlice/rules.mk | 2 -- keyboards/rate/pistachio_pro/rules.mk | 1 - keyboards/rgbkb/mun/rules.mk | 1 - keyboards/rgbkb/pan/rules.mk | 1 - keyboards/rgbkb/sol/keymaps/xyverz/rules.mk | 1 - keyboards/rgbkb/sol3/rules.mk | 1 - keyboards/rgbkb/zygomorph/keymaps/default/readme.md | 3 --- keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk | 1 - keyboards/ristretto/rules.mk | 1 - keyboards/rmi_kb/herringbone/pro/rules.mk | 1 - keyboards/rocketboard_16/rules.mk | 1 - keyboards/rubi/rules.mk | 1 - keyboards/rura66/rev1/rules.mk | 1 - keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk | 1 - .../salicylic_acid3/setta21/keymaps/salicylic/rules.mk | 1 - keyboards/satt/comet46/rules.mk | 1 - keyboards/sendyyeah/pix/rules.mk | 1 - keyboards/shoc/rules.mk | 1 - keyboards/sofle/keyhive/rules.mk | 1 - keyboards/sofle/keymaps/default/rules.mk | 1 - keyboards/sofle/keymaps/devdev/rules.mk | 1 - keyboards/sofle/keymaps/flare576/rules.mk | 1 - keyboards/sofle/keymaps/helltm/rules.mk | 1 - keyboards/sofle/keymaps/michal/rules.mk | 3 +-- keyboards/sofle/keymaps/noqmk/rules.mk | 1 - keyboards/sofle/keymaps/rgb_default/rules.mk | 1 - keyboards/sofle/keymaps/via/rules.mk | 3 +-- keyboards/sofle/rev1/rules.mk | 1 - keyboards/spaceman/pancake/rev2/rules.mk | 1 - keyboards/spacetime/rev2/rules.mk | 1 - keyboards/spleeb/keymaps/chrishoage/rules.mk | 1 - .../splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/benji/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/cameronjlarsen/rules.mk | 2 -- keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/corodiak/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/default/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/gotham/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/j-inc/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/lw/rules.mk | 3 +-- keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk | 3 +-- keyboards/splitkb/kyria/keymaps/mattir/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/plattfot/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/shinze/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/tessachka/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/travishi/rules.mk | 3 +-- keyboards/splitkb/kyria/keymaps/via/rules.mk | 1 - keyboards/splitkb/kyria/keymaps/winternebs/rules.mk | 1 - keyboards/splitkb/zima/rules.mk | 1 - keyboards/subrezon/la_nc/keymaps/default/rules.mk | 1 - keyboards/takashicompany/endzone34/rules.mk | 1 - keyboards/takashicompany/minizone/rules.mk | 2 -- keyboards/tau4/rules.mk | 5 ----- keyboards/tender/macrowo_pad/keymaps/default/rules.mk | 1 - keyboards/tender/macrowo_pad/keymaps/via/rules.mk | 1 - keyboards/tkc/m0lly/rules.mk | 1 - keyboards/tkc/tkc1800/rules.mk | 1 - keyboards/tkw/grandiceps/rules.mk | 1 - keyboards/torn/rules.mk | 1 - keyboards/ungodly/launch_pad/rules.mk | 1 - keyboards/waterfowl/rules.mk | 3 +-- keyboards/westm/westm9/rules.mk | 1 - keyboards/yampad/rules.mk | 1 - keyboards/yanghu/unicorne/rules.mk | 1 - keyboards/yosino58/rev1/rules.mk | 1 - keyboards/z12/rules.mk | 2 -- layouts/community/split_3x6_3/bcat/rules.mk | 1 - users/snowe/readme_ocean_dream.md | 1 - users/tominabox1/rules.mk | 1 - 263 files changed, 19 insertions(+), 306 deletions(-) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 372c906d1caf..47fe56e4aa3a 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -747,8 +747,8 @@ ifeq ($(strip $(HD44780_ENABLE)), yes) SRC += hd44780.c endif -VALID_OLED_DRIVER_TYPES := SSD1306 custom -OLED_DRIVER ?= SSD1306 +VALID_OLED_DRIVER_TYPES := custom ssd1306 +OLED_DRIVER ?= ssd1306 VALID_OLED_TRANSPORT_TYPES := i2c spi custom OLED_TRANSPORT ?= i2c ifeq ($(strip $(OLED_ENABLE)), yes) diff --git a/docs/feature_oled_driver.md b/docs/feature_oled_driver.md index a62294b23a62..f3769742f842 100644 --- a/docs/feature_oled_driver.md +++ b/docs/feature_oled_driver.md @@ -29,17 +29,17 @@ OLED_ENABLE = yes |OLED Driver |Supported Device | |-------------------|------------------------------------| -|SSD1306 (default) |For both SSD1306, SH1106, and SH1107| +|`ssd1306` (default)|For both SSD1306, SH1106, and SH1107| e.g. ```make -OLED_DRIVER = SSD1306 +OLED_DRIVER = ssd1306 ``` |OLED Transport | | |---------------|------------------------------------------------| -|i2c (default) | Uses I2C for communication with the OLED panel | -|spi | Uses SPI for communication with the OLED panel | +|`i2c` (default)| Uses I2C for communication with the OLED panel | +|`spi` | Uses SPI for communication with the OLED panel | e.g. ```make diff --git a/keyboards/0xcb/1337/rules.mk b/keyboards/0xcb/1337/rules.mk index 77dd67f53f8a..60cbfd4df605 100644 --- a/keyboards/0xcb/1337/rules.mk +++ b/keyboards/0xcb/1337/rules.mk @@ -14,4 +14,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/0xcb/static/rules.mk b/keyboards/0xcb/static/rules.mk index 24ff2f2cfd1f..fe8dabeab7ec 100644 --- a/keyboards/0xcb/static/rules.mk +++ b/keyboards/0xcb/static/rules.mk @@ -14,4 +14,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/0xcb/tutelpad/rules.mk b/keyboards/0xcb/tutelpad/rules.mk index 9cc3b02a2279..f06d31c5f13b 100644 --- a/keyboards/0xcb/tutelpad/rules.mk +++ b/keyboards/0xcb/tutelpad/rules.mk @@ -10,6 +10,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output - OLED_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/10bleoledhub/rules.mk b/keyboards/10bleoledhub/rules.mk index 2c0b66f84d91..12bfe122d620 100644 --- a/keyboards/10bleoledhub/rules.mk +++ b/keyboards/10bleoledhub/rules.mk @@ -15,5 +15,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output BLUETOOTH_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk index 96f930ffa10a..e3e55077cb6d 100644 --- a/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk +++ b/keyboards/1upkeyboards/pi40/mit_v1_0/keymaps/miketronic/rules.mk @@ -22,4 +22,3 @@ WS2812_DRIVER = vendor ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/1upkeyboards/pi40/rules.mk b/keyboards/1upkeyboards/pi40/rules.mk index e858deae6aa3..3451f44976a2 100644 --- a/keyboards/1upkeyboards/pi40/rules.mk +++ b/keyboards/1upkeyboards/pi40/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 DEFAULT_FOLDER = 1upkeyboards/pi40/mit_v1_0 diff --git a/keyboards/25keys/cassette42/rules.mk b/keyboards/25keys/cassette42/rules.mk index eaeebeff07fa..f8febbdec8d1 100644 --- a/keyboards/25keys/cassette42/rules.mk +++ b/keyboards/25keys/cassette42/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 SRC += ./common/oled_helper.c diff --git a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk index d24a189b81d6..d313f3a4f96a 100644 --- a/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk +++ b/keyboards/adpenrose/akemipad/keymaps/oled_bongocat/rules.mk @@ -5,5 +5,4 @@ GRAVE_ESC_ENABLE = no MAGIC_ENABLE = no ENCODER_MAP_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/adpenrose/kintsugi/rules.mk b/keyboards/adpenrose/kintsugi/rules.mk index 4704a3487dca..864f929c81e5 100644 --- a/keyboards/adpenrose/kintsugi/rules.mk +++ b/keyboards/adpenrose/kintsugi/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Encoder functionality OLED_ENABLE = yes # OLED functionality -OLED_DRIVER = SSD1306 diff --git a/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk index e9a8bec8798b..ab9d5c6ac2f8 100644 --- a/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk +++ b/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes OLED_ENABLE = yes -# OLED_DRIVER = not a real thing diff --git a/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk index e9a8bec8798b..ab9d5c6ac2f8 100644 --- a/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk +++ b/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes OLED_ENABLE = yes -# OLED_DRIVER = not a real thing diff --git a/keyboards/aidansmithdotdev/fine40/rules.mk b/keyboards/aidansmithdotdev/fine40/rules.mk index 2e3ef9fb844d..e69de29bb2d1 100644 --- a/keyboards/aidansmithdotdev/fine40/rules.mk +++ b/keyboards/aidansmithdotdev/fine40/rules.mk @@ -1 +0,0 @@ -OLED_DRIVER = SSD1306 diff --git a/keyboards/aleblazer/zodiark/rules.mk b/keyboards/aleblazer/zodiark/rules.mk index 3f1afb07c1f5..8fc2f2ff256e 100644 --- a/keyboards/aleblazer/zodiark/rules.mk +++ b/keyboards/aleblazer/zodiark/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes LTO_ENABLE = yes diff --git a/keyboards/anavi/knob1/rules.mk b/keyboards/anavi/knob1/rules.mk index c3600290d9f1..0e5631b02b3f 100644 --- a/keyboards/anavi/knob1/rules.mk +++ b/keyboards/anavi/knob1/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C OPT_DEFS += -DHAL_USE_I2C=TRUE diff --git a/keyboards/anavi/knobs3/rules.mk b/keyboards/anavi/knobs3/rules.mk index c3600290d9f1..0e5631b02b3f 100644 --- a/keyboards/anavi/knobs3/rules.mk +++ b/keyboards/anavi/knobs3/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C OPT_DEFS += -DHAL_USE_I2C=TRUE diff --git a/keyboards/anavi/macropad8/rules.mk b/keyboards/anavi/macropad8/rules.mk index f5e38fc8cbcc..63d200481c72 100644 --- a/keyboards/anavi/macropad8/rules.mk +++ b/keyboards/anavi/macropad8/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C diff --git a/keyboards/aplyard/aplx6/rev2/rules.mk b/keyboards/aplyard/aplx6/rev2/rules.mk index 90decf0341c7..bb653a97f2b4 100644 --- a/keyboards/aplyard/aplx6/rev2/rules.mk +++ b/keyboards/aplyard/aplx6/rev2/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes # Unicode OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for Oled Display ENCODER_ENABLE = yes # Enable Support for Encoder diff --git a/keyboards/arabica37/keymaps/default/rules.mk b/keyboards/arabica37/keymaps/default/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/arabica37/keymaps/default/rules.mk +++ b/keyboards/arabica37/keymaps/default/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk b/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk index 1af84436ed6b..76e55c05f483 100644 --- a/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk +++ b/keyboards/argo_works/ishi/80/mk0_avr_extra/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/avalanche/v4/rules.mk b/keyboards/avalanche/v4/rules.mk index da4886f7d77b..513c25d04d91 100644 --- a/keyboards/avalanche/v4/rules.mk +++ b/keyboards/avalanche/v4/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 SPLIT_KEYBOARD = yes diff --git a/keyboards/basekeys/slice/rev1_rgb/rules.mk b/keyboards/basekeys/slice/rev1_rgb/rules.mk index e9d1e52c1664..1e24ec177f92 100644 --- a/keyboards/basekeys/slice/rev1_rgb/rules.mk +++ b/keyboards/basekeys/slice/rev1_rgb/rules.mk @@ -12,6 +12,5 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Disable OLED driver. LTO_ENABLE = yes diff --git a/keyboards/bluebell/swoop/keymaps/kyek/rules.mk b/keyboards/bluebell/swoop/keymaps/kyek/rules.mk index 6b5678dd27c2..fb46c2589d34 100644 --- a/keyboards/bluebell/swoop/keymaps/kyek/rules.mk +++ b/keyboards/bluebell/swoop/keymaps/kyek/rules.mk @@ -6,7 +6,6 @@ LTO_ENABLE = no EXTRAKEY_ENABLE = no # ENCODER_ENABLE = no -# OLED_DRIVER_ENABLE = no # WPM_ENABLE = no # Enable keyboard underlight functionality diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_mx/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk +++ b/keyboards/boardsource/holiday/spooky/keymaps/rip_my_wallet/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/bolsa/damapad/rules.mk b/keyboards/bolsa/damapad/rules.mk index 395f25f859ec..9c75f75d52d3 100644 --- a/keyboards/bolsa/damapad/rules.mk +++ b/keyboards/bolsa/damapad/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/boston_meetup/2019/rules.mk b/keyboards/boston_meetup/2019/rules.mk index 777d555b2df9..f5ef6ba5a265 100644 --- a/keyboards/boston_meetup/2019/rules.mk +++ b/keyboards/boston_meetup/2019/rules.mk @@ -14,4 +14,3 @@ RGB_MATRIX_ENABLE = no HAPTIC_ENABLE = yes HAPTIC_DRIVER = drv2605l OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/buzzard/rev1/rules.mk b/keyboards/buzzard/rev1/rules.mk index 13c63d5b1763..2beb545ece1f 100644 --- a/keyboards/buzzard/rev1/rules.mk +++ b/keyboards/buzzard/rev1/rules.mk @@ -1,4 +1,2 @@ -OLED_DRIVER = SSD1306 - PS2_ENABLE = yes PS2_DRIVER = interrupt diff --git a/keyboards/cannonkeys/satisfaction75/rules.mk b/keyboards/cannonkeys/satisfaction75/rules.mk index 35c6daa727d3..8cee2da595e3 100644 --- a/keyboards/cannonkeys/satisfaction75/rules.mk +++ b/keyboards/cannonkeys/satisfaction75/rules.mk @@ -16,8 +16,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 #BACKLIGHT_ENABLE = yes DEFAULT_FOLDER = cannonkeys/satisfaction75/rev1 - diff --git a/keyboards/ckeys/washington/rules.mk b/keyboards/ckeys/washington/rules.mk index 87154d95c9af..c6c08dda5950 100644 --- a/keyboards/ckeys/washington/rules.mk +++ b/keyboards/ckeys/washington/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable support for encoders OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable support for OLED displays diff --git a/keyboards/controllerworks/mini36/rules.mk b/keyboards/controllerworks/mini36/rules.mk index ee37cd7f6f05..161ec22b16e2 100644 --- a/keyboards/controllerworks/mini36/rules.mk +++ b/keyboards/controllerworks/mini36/rules.mk @@ -1,2 +1 @@ SERIAL_DRIVER = vendor -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/controllerworks/mini42/rules.mk b/keyboards/controllerworks/mini42/rules.mk index 71f52c4e4d26..161ec22b16e2 100644 --- a/keyboards/controllerworks/mini42/rules.mk +++ b/keyboards/controllerworks/mini42/rules.mk @@ -1,2 +1 @@ SERIAL_DRIVER = vendor -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/ajarov/rules.mk b/keyboards/crkbd/keymaps/ajarov/rules.mk index 3e637d11da4d..bc45ff83ba75 100644 --- a/keyboards/crkbd/keymaps/ajarov/rules.mk +++ b/keyboards/crkbd/keymaps/ajarov/rules.mk @@ -1,5 +1,4 @@ MOUSEKEY_ENABLE = yes RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/armand1m/rules.mk b/keyboards/crkbd/keymaps/armand1m/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/crkbd/keymaps/armand1m/rules.mk +++ b/keyboards/crkbd/keymaps/armand1m/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/benrestech/rules.mk b/keyboards/crkbd/keymaps/benrestech/rules.mk index c177a33cf525..462ceeb32b79 100644 --- a/keyboards/crkbd/keymaps/benrestech/rules.mk +++ b/keyboards/crkbd/keymaps/benrestech/rules.mk @@ -1,3 +1,2 @@ RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/bermeo/rules.mk b/keyboards/crkbd/keymaps/bermeo/rules.mk index e666f1f0cbc7..369b90ce3804 100644 --- a/keyboards/crkbd/keymaps/bermeo/rules.mk +++ b/keyboards/crkbd/keymaps/bermeo/rules.mk @@ -3,7 +3,6 @@ RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes SLEEP_LED_ENABLE = yes WPM_ENABLE = yes @@ -16,4 +15,4 @@ BOOTMAGIC_ENABLE = no COMBO_ENABLE = no AUDIO_ENABLE = no MIDI_ENABLE = no -BLUETOOTH_ENABLE = no \ No newline at end of file +BLUETOOTH_ENABLE = no diff --git a/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk b/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk index f5998494482a..f0b00f3cf01b 100644 --- a/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk +++ b/keyboards/crkbd/keymaps/cameronjlarsen/rules.mk @@ -1,7 +1,6 @@ BOOTMAGIC_ENABLE = no BOOLOADER = atmel-dfu OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow COMMAND_ENABLE = no # Disables the command feature COMBO_ENABLE = yes @@ -12,4 +11,4 @@ MIDI_ENABLE = no BLUETOOTH_ENABLE = no BACKLIGHT_ENABLE = no CAPS_WORD_ENABLE = yes -CUSTOM_ONESHOT_ENABLE = yes \ No newline at end of file +CUSTOM_ONESHOT_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/colemad/rules.mk b/keyboards/crkbd/keymaps/colemad/rules.mk index 6f9d31a75517..70eb5c33188d 100644 --- a/keyboards/crkbd/keymaps/colemad/rules.mk +++ b/keyboards/crkbd/keymaps/colemad/rules.mk @@ -4,7 +4,6 @@ SPLIT_KEYBOARD = yes TAP_DANCE_ENABLE = yes MOUSEKEY_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Link Time Optimization (Reduces compiled size) diff --git a/keyboards/crkbd/keymaps/colemak_luna/rules.mk b/keyboards/crkbd/keymaps/colemak_luna/rules.mk index a26c4eb8a316..9ff3128931ae 100644 --- a/keyboards/crkbd/keymaps/colemak_luna/rules.mk +++ b/keyboards/crkbd/keymaps/colemak_luna/rules.mk @@ -3,6 +3,5 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes # Enable WS2812 RGB underlight. VIA_ENABLE = yes # Enable VIA OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes WPM_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/crkdves/rules.mk b/keyboards/crkbd/keymaps/crkdves/rules.mk index d3a964424fe5..d95e1136bbb2 100644 --- a/keyboards/crkbd/keymaps/crkdves/rules.mk +++ b/keyboards/crkbd/keymaps/crkdves/rules.mk @@ -3,6 +3,4 @@ RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes - diff --git a/keyboards/crkbd/keymaps/crkqwes/rules.mk b/keyboards/crkbd/keymaps/crkqwes/rules.mk index d3a964424fe5..d95e1136bbb2 100644 --- a/keyboards/crkbd/keymaps/crkqwes/rules.mk +++ b/keyboards/crkbd/keymaps/crkqwes/rules.mk @@ -3,6 +3,4 @@ RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes - diff --git a/keyboards/crkbd/keymaps/devdev/rules.mk b/keyboards/crkbd/keymaps/devdev/rules.mk index 4aaf22fd0495..4d53cc756414 100644 --- a/keyboards/crkbd/keymaps/devdev/rules.mk +++ b/keyboards/crkbd/keymaps/devdev/rules.mk @@ -2,4 +2,3 @@ MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/edvorakjp/rules.mk b/keyboards/crkbd/keymaps/edvorakjp/rules.mk index 1291d50e921d..c019c307569a 100644 --- a/keyboards/crkbd/keymaps/edvorakjp/rules.mk +++ b/keyboards/crkbd/keymaps/edvorakjp/rules.mk @@ -17,7 +17,6 @@ RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing TAP_DANCE_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/crkbd/keymaps/gotham/rules.mk b/keyboards/crkbd/keymaps/gotham/rules.mk index 48a2c1d72aaa..455cf708a6a0 100644 --- a/keyboards/crkbd/keymaps/gotham/rules.mk +++ b/keyboards/crkbd/keymaps/gotham/rules.mk @@ -3,5 +3,4 @@ EXTRAKEY_ENABLE = yes AUDIO_ENABLE = yes RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/hvp/rules.mk b/keyboards/crkbd/keymaps/hvp/rules.mk index c7ed029e3d44..3091ed20af44 100644 --- a/keyboards/crkbd/keymaps/hvp/rules.mk +++ b/keyboards/crkbd/keymaps/hvp/rules.mk @@ -10,5 +10,4 @@ SRC += ./lib/rgb_state_reader.c \ TAP_DANCE_ENABLE = yes EXTRAKEY_ENABLE = yes # Audio control and System control OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # LOCAL_GLCDFONT = yes diff --git a/keyboards/crkbd/keymaps/jarred/rules.mk b/keyboards/crkbd/keymaps/jarred/rules.mk index f18100d7ff4e..efa378b09911 100644 --- a/keyboards/crkbd/keymaps/jarred/rules.mk +++ b/keyboards/crkbd/keymaps/jarred/rules.mk @@ -17,7 +17,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/crkbd/keymaps/jpe230/rules.mk b/keyboards/crkbd/keymaps/jpe230/rules.mk index b78c1d45f3ce..459cf9c69175 100644 --- a/keyboards/crkbd/keymaps/jpe230/rules.mk +++ b/keyboards/crkbd/keymaps/jpe230/rules.mk @@ -1,6 +1,5 @@ # Shared rules for both of my Corne OLED_ENABLE = yes -OLED_DRIVER = SSD1306 VIA_ENABLE = yes RGB_MATRIX_ENABLE = yes @@ -22,4 +21,3 @@ else SRC += oled/avr/master/oled_master_handler.c \ oled/avr/slave/oled_slave_handler.c endif - diff --git a/keyboards/crkbd/keymaps/julian_turner/rules.mk b/keyboards/crkbd/keymaps/julian_turner/rules.mk index e6ddd80076dc..1717383ec49a 100644 --- a/keyboards/crkbd/keymaps/julian_turner/rules.mk +++ b/keyboards/crkbd/keymaps/julian_turner/rules.mk @@ -1,7 +1,6 @@ RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/kidbrazil/rules.mk b/keyboards/crkbd/keymaps/kidbrazil/rules.mk index d2c2f649e0ee..c16efc66e30e 100644 --- a/keyboards/crkbd/keymaps/kidbrazil/rules.mk +++ b/keyboards/crkbd/keymaps/kidbrazil/rules.mk @@ -6,7 +6,6 @@ MOUSEKEY_ENABLE = no RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # If you want to change the display of OLED, you need to change here SRC += logo_reader.c \ diff --git a/keyboards/crkbd/keymaps/madhatter/rules.mk b/keyboards/crkbd/keymaps/madhatter/rules.mk index 89a2791bcd60..ed64986331fe 100644 --- a/keyboards/crkbd/keymaps/madhatter/rules.mk +++ b/keyboards/crkbd/keymaps/madhatter/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # If you want to change the display of OLED, you need to change here SRC += ./lib/rgb_state_reader.c \ diff --git a/keyboards/crkbd/keymaps/mcrown/rules.mk b/keyboards/crkbd/keymaps/mcrown/rules.mk index 922e246ba9ad..8b6f82d5df35 100644 --- a/keyboards/crkbd/keymaps/mcrown/rules.mk +++ b/keyboards/crkbd/keymaps/mcrown/rules.mk @@ -7,7 +7,6 @@ MOUSEKEY_ENABLE = no # Mouse keys(+4700) EXTRAKEY_ENABLE = no # Audio control and System control(+450) RGB_MATRIX_ENABLE = yes # Enable RGB Matrix. OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = yes # Breathing sleep LED during USB suspend diff --git a/keyboards/crkbd/keymaps/nimishgautam/rules.mk b/keyboards/crkbd/keymaps/nimishgautam/rules.mk index 84ae6248cbdd..dcb0007591b8 100644 --- a/keyboards/crkbd/keymaps/nimishgautam/rules.mk +++ b/keyboards/crkbd/keymaps/nimishgautam/rules.mk @@ -1,6 +1,5 @@ RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 COMBO_ENABLE = yes TAP_DANCE_ENABLE = yes # enable tap dance features EXTRAKEY_ENABLE = no diff --git a/keyboards/crkbd/keymaps/ninjonas/rules.mk b/keyboards/crkbd/keymaps/ninjonas/rules.mk index c40a827798ac..6dd34f26d775 100644 --- a/keyboards/crkbd/keymaps/ninjonas/rules.mk +++ b/keyboards/crkbd/keymaps/ninjonas/rules.mk @@ -1,7 +1,6 @@ RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/crkbd/keymaps/oled_sample/rules.mk b/keyboards/crkbd/keymaps/oled_sample/rules.mk index d9db223cfa5e..676795847a39 100644 --- a/keyboards/crkbd/keymaps/oled_sample/rules.mk +++ b/keyboards/crkbd/keymaps/oled_sample/rules.mk @@ -5,4 +5,3 @@ # RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/ollyhayes/rules.mk b/keyboards/crkbd/keymaps/ollyhayes/rules.mk index 2dcd9007e573..f2bf2ce07b85 100644 --- a/keyboards/crkbd/keymaps/ollyhayes/rules.mk +++ b/keyboards/crkbd/keymaps/ollyhayes/rules.mk @@ -1,7 +1,6 @@ SRC += oled.c OLED_ENABLE = yes -OLED_DRIVER = SSD1306 EXTRAKEY_ENABLE = yes UNICODE_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/oo/rules.mk b/keyboards/crkbd/keymaps/oo/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/crkbd/keymaps/oo/rules.mk +++ b/keyboards/crkbd/keymaps/oo/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/rarick/rules.mk b/keyboards/crkbd/keymaps/rarick/rules.mk index 775268a1d472..2528fec9b0fc 100644 --- a/keyboards/crkbd/keymaps/rarick/rules.mk +++ b/keyboards/crkbd/keymaps/rarick/rules.mk @@ -4,9 +4,6 @@ BOOTLOADER = atmel-dfu # Enable RGB matric RGB_MATRIX_ENABLE = yes -# Enable OLED driver -OLED_DRIVER_ENABLE = yes - # Enable media keys EXTRAKEY_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk index c6c258e255e1..e7c9b4b95376 100644 --- a/keyboards/crkbd/keymaps/rjhilgefort/rules.mk +++ b/keyboards/crkbd/keymaps/rjhilgefort/rules.mk @@ -5,4 +5,3 @@ BOOTLOADER = atmel-dfu EXTRAKEY_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/rmeli/rules.mk b/keyboards/crkbd/keymaps/rmeli/rules.mk index 58a00ed6ba32..107c4939782c 100644 --- a/keyboards/crkbd/keymaps/rmeli/rules.mk +++ b/keyboards/crkbd/keymaps/rmeli/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 TAP_DANCE_ENABLE = yes AUTO_SHIFT_ENABLE = no // disable auto-shift with home row mods diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk index 2366f669a0d2..4df519b0749d 100644 --- a/keyboards/crkbd/keymaps/rpbaptist/rules.mk +++ b/keyboards/crkbd/keymaps/rpbaptist/rules.mk @@ -29,7 +29,6 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend BOOTLOADER = qmk-dfu OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ifeq ($(strip $(THEME)), godspeed) OPT_DEFS += -DTHEME_GODSPEED diff --git a/keyboards/crkbd/keymaps/sharkby7e/rules.mk b/keyboards/crkbd/keymaps/sharkby7e/rules.mk index 38a8cf1bdb5a..17406603fe2a 100644 --- a/keyboards/crkbd/keymaps/sharkby7e/rules.mk +++ b/keyboards/crkbd/keymaps/sharkby7e/rules.mk @@ -1,6 +1,5 @@ MOUSEKEY_ENABLE = yes RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes BOOTLOADER = caterina diff --git a/keyboards/crkbd/keymaps/snowe/rules.mk b/keyboards/crkbd/keymaps/snowe/rules.mk index 96ae4bbf95f8..10cf2fa97ca9 100644 --- a/keyboards/crkbd/keymaps/snowe/rules.mk +++ b/keyboards/crkbd/keymaps/snowe/rules.mk @@ -14,7 +14,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID SWAP_HANDS_ENABLE = no # Enable one-hand typing RGBLIGHT_TWINKLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 RGB_MATRIX_ENABLE = yes OCEAN_DREAM_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/soundmonster/rules.mk b/keyboards/crkbd/keymaps/soundmonster/rules.mk index d3a964424fe5..d95e1136bbb2 100644 --- a/keyboards/crkbd/keymaps/soundmonster/rules.mk +++ b/keyboards/crkbd/keymaps/soundmonster/rules.mk @@ -3,6 +3,4 @@ RGB_MATRIX_ENABLE = yes MOUSEKEY_ENABLE = no NKRO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes - diff --git a/keyboards/crkbd/keymaps/sulrich/rules.mk b/keyboards/crkbd/keymaps/sulrich/rules.mk index 24d83947a9ef..61b07ad0dfac 100644 --- a/keyboards/crkbd/keymaps/sulrich/rules.mk +++ b/keyboards/crkbd/keymaps/sulrich/rules.mk @@ -1,3 +1,2 @@ EXTRAKEY_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk index 193aa14dac70..d3bbc97a236b 100755 --- a/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk +++ b/keyboards/crkbd/keymaps/thumb_ctrl/rules.mk @@ -17,7 +17,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/crkbd/keymaps/thunderbird2086/rules.mk b/keyboards/crkbd/keymaps/thunderbird2086/rules.mk index adc61ea60d3d..0621b371e9c8 100644 --- a/keyboards/crkbd/keymaps/thunderbird2086/rules.mk +++ b/keyboards/crkbd/keymaps/thunderbird2086/rules.mk @@ -4,7 +4,6 @@ AUDIO_ENABLE = no RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes TAP_DANCE_ENABLE = yes diff --git a/keyboards/crkbd/keymaps/toinux/rules.mk b/keyboards/crkbd/keymaps/toinux/rules.mk index 07c98a08f803..59b90c792c25 100644 --- a/keyboards/crkbd/keymaps/toinux/rules.mk +++ b/keyboards/crkbd/keymaps/toinux/rules.mk @@ -2,7 +2,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes BOOTLOADER = atmel-dfu diff --git a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk index ed4d34a70b87..d2e0957c4998 100644 --- a/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk +++ b/keyboards/crkbd/keymaps/vlukash_trackpad_left/rules.mk @@ -1,7 +1,6 @@ # Build Options RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. OLED_ENABLE = yes -OLED_DRIVER = SSD1306 BOOTLOADER = atmel-dfu diff --git a/keyboards/crkbd/keymaps/vxid/rules.mk b/keyboards/crkbd/keymaps/vxid/rules.mk index 432e21947686..b14970fbf363 100644 --- a/keyboards/crkbd/keymaps/vxid/rules.mk +++ b/keyboards/crkbd/keymaps/vxid/rules.mk @@ -17,7 +17,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SWAP_HANDS_ENABLE = no # Enable one-hand typing OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend diff --git a/keyboards/crkbd/keymaps/xyverz/rules.mk b/keyboards/crkbd/keymaps/xyverz/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/crkbd/keymaps/xyverz/rules.mk +++ b/keyboards/crkbd/keymaps/xyverz/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk index b696e1de8bd5..9fe565335aec 100644 --- a/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk +++ b/keyboards/crkbd/rev1/keymaps/dvorak_42_key/rules.mk @@ -5,5 +5,4 @@ MOUSEKEY_ENABLE = yes # Mouse keys RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. # RGB_MATRIX_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/dailycraft/claw44/keymaps/oled/rules.mk b/keyboards/dailycraft/claw44/keymaps/oled/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/dailycraft/claw44/keymaps/oled/rules.mk +++ b/keyboards/dailycraft/claw44/keymaps/oled/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk b/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk index 6af3117b94fd..cd11afc8d497 100644 --- a/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk +++ b/keyboards/dmqdesign/spin/keymaps/gorbachev/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = no MIDI_ENABLE = no diff --git a/keyboards/doio/kb16/rev1/rules.mk b/keyboards/doio/kb16/rev1/rules.mk index 5c5ad3de8c27..b234c1ca6a99 100644 --- a/keyboards/doio/kb16/rev1/rules.mk +++ b/keyboards/doio/kb16/rev1/rules.mk @@ -20,7 +20,6 @@ SPACE_CADET_ENABLE = no # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # RGB Matrix enabled RGB_MATRIX_ENABLE = yes diff --git a/keyboards/doio/kb16/rev2/rules.mk b/keyboards/doio/kb16/rev2/rules.mk index f931af11e4f0..88879a4ffaea 100644 --- a/keyboards/doio/kb16/rev2/rules.mk +++ b/keyboards/doio/kb16/rev2/rules.mk @@ -19,7 +19,6 @@ AUDIO_ENABLE = no # Audio output # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # RGB Matrix enabled RGB_MATRIX_ENABLE = yes diff --git a/keyboards/doio/kb30/rules.mk b/keyboards/doio/kb30/rules.mk index a6ad4b74caea..1e48f891f280 100644 --- a/keyboards/doio/kb30/rules.mk +++ b/keyboards/doio/kb30/rules.mk @@ -12,6 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes - diff --git a/keyboards/doodboard/duckboard/rules.mk b/keyboards/doodboard/duckboard/rules.mk index 4ddaccda461d..0551c8b37099 100644 --- a/keyboards/doodboard/duckboard/rules.mk +++ b/keyboards/doodboard/duckboard/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/doodboard/duckboard_r2/rules.mk b/keyboards/doodboard/duckboard_r2/rules.mk index 4ddaccda461d..0551c8b37099 100644 --- a/keyboards/doodboard/duckboard_r2/rules.mk +++ b/keyboards/doodboard/duckboard_r2/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/draculad/keymaps/pimoroni/rules.mk b/keyboards/draculad/keymaps/pimoroni/rules.mk index 66d3bf0e46b4..72ace5a3df1f 100644 --- a/keyboards/draculad/keymaps/pimoroni/rules.mk +++ b/keyboards/draculad/keymaps/pimoroni/rules.mk @@ -2,5 +2,4 @@ POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = pimoroni_trackball OLED_ENABLE = yes -OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = yes diff --git a/keyboards/draculad/rules.mk b/keyboards/draculad/rules.mk index 453d3b26b1de..5f5fd002a1a0 100644 --- a/keyboards/draculad/rules.mk +++ b/keyboards/draculad/rules.mk @@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes ENCODER_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/dumbo/keymaps/default/rules.mk b/keyboards/dumbo/keymaps/default/rules.mk index a2d6e788f985..0f4dda264784 100644 --- a/keyboards/dumbo/keymaps/default/rules.mk +++ b/keyboards/dumbo/keymaps/default/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders diff --git a/keyboards/dumbo/keymaps/trip-trap/rules.mk b/keyboards/dumbo/keymaps/trip-trap/rules.mk index 1913e10c490b..023239d3eeaf 100644 --- a/keyboards/dumbo/keymaps/trip-trap/rules.mk +++ b/keyboards/dumbo/keymaps/trip-trap/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders WPM_ENABLE = yes diff --git a/keyboards/dumbpad/v1x_oled/rules.mk b/keyboards/dumbpad/v1x_oled/rules.mk index 073a351a03c2..53db407bc362 100644 --- a/keyboards/dumbpad/v1x_oled/rules.mk +++ b/keyboards/dumbpad/v1x_oled/rules.mk @@ -13,5 +13,4 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk b/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk index 63e79e2da902..98ca45243dbf 100644 --- a/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk +++ b/keyboards/ebastler/e80_1800/keymaps/via_oled/rules.mk @@ -1,5 +1,4 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -WPM_ENABLE = yes \ No newline at end of file +WPM_ENABLE = yes diff --git a/keyboards/ein_60/rules.mk b/keyboards/ein_60/rules.mk index 648a0c38ff2c..541e00aa4426 100644 --- a/keyboards/ein_60/rules.mk +++ b/keyboards/ein_60/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = no # Enable for pretty RGB matrix effects ENCODER_ENABLE = yes # Enables the use of one or more encoders OLED_ENABLE = yes # Enables the use of OLED displays -OLED_DRIVER = SSD1306 diff --git a/keyboards/fearherbs1/blue_team_pad/rules.mk b/keyboards/fearherbs1/blue_team_pad/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/fearherbs1/blue_team_pad/rules.mk +++ b/keyboards/fearherbs1/blue_team_pad/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/fungo/rev1/rules.mk b/keyboards/fungo/rev1/rules.mk index 731941b437ae..e8d7a7aed531 100644 --- a/keyboards/fungo/rev1/rules.mk +++ b/keyboards/fungo/rev1/rules.mk @@ -14,6 +14,4 @@ KEY_LOCK_ENABLE = yes # kc_lock use OLED_ENABLE = no -OLED_DRIVER = SSD1306 # OLED display SPLIT_KEYBOARD = yes # split type - diff --git a/keyboards/gboards/gergo/keymaps/oled/rules.mk b/keyboards/gboards/gergo/keymaps/oled/rules.mk index 788041671962..e1bd70f65642 100644 --- a/keyboards/gboards/gergo/keymaps/oled/rules.mk +++ b/keyboards/gboards/gergo/keymaps/oled/rules.mk @@ -8,7 +8,6 @@ BALLSTEP = 20 # Multiple in px to move, multiplied by layer number SCROLLSTEP = 1 # Lines to scroll with ball MOUSEKEY_ENABLE = yes # Mouse keys, needed for baller OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LOCAL_GLCDFONT = yes #Debug options diff --git a/keyboards/gopolar/gg86/rules.mk b/keyboards/gopolar/gg86/rules.mk index 9eef6b6cc41a..acdf49b47da0 100644 --- a/keyboards/gopolar/gg86/rules.mk +++ b/keyboards/gopolar/gg86/rules.mk @@ -22,4 +22,3 @@ RGB_MATRIX_ENABLE = yes # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # OLED display diff --git a/keyboards/hadron/ver2/rules.mk b/keyboards/hadron/ver2/rules.mk index d07da3fca08d..188b4696f185 100644 --- a/keyboards/hadron/ver2/rules.mk +++ b/keyboards/hadron/ver2/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/hadron/ver3/rules.mk b/keyboards/hadron/ver3/rules.mk index 887fbcbfebfc..edc5fa7d5bf5 100644 --- a/keyboards/hadron/ver3/rules.mk +++ b/keyboards/hadron/ver3/rules.mk @@ -14,5 +14,4 @@ RGB_MATRIX_ENABLE = no # once arm_rgb is implemented HAPTIC_ENABLE = yes HAPTIC_DRIVER = drv2605l OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLER = yes diff --git a/keyboards/handwired/amigopunk/rules.mk b/keyboards/handwired/amigopunk/rules.mk index 395f25f859ec..9c75f75d52d3 100644 --- a/keyboards/handwired/amigopunk/rules.mk +++ b/keyboards/handwired/amigopunk/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/handwired/d48/rules.mk b/keyboards/handwired/d48/rules.mk index 411362b652f0..7fa8dfdd340f 100644 --- a/keyboards/handwired/d48/rules.mk +++ b/keyboards/handwired/d48/rules.mk @@ -13,7 +13,6 @@ USE_I2C = no RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 UNICODE_ENABLE = yes SRC += ds1307.c taphold.c diff --git a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk index 6e58ff5d15ed..c83f96e10280 100644 --- a/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk +++ b/keyboards/handwired/dactyl_manuform/5x6_5/keymaps/333fred/rules.mk @@ -1,5 +1,4 @@ KEY_LOCK_ENABLE = yes CONSOLE_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/handwired/marauder/keymaps/orvia/rules.mk b/keyboards/handwired/marauder/keymaps/orvia/rules.mk index 9b5ee6b6fa52..e39f8c6e9e80 100644 --- a/keyboards/handwired/marauder/keymaps/orvia/rules.mk +++ b/keyboards/handwired/marauder/keymaps/orvia/rules.mk @@ -1,4 +1,3 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # OLED Driver Enable WPM_ENABLE = yes # WPM counting Enable diff --git a/keyboards/handwired/myskeeb/rules.mk b/keyboards/handwired/myskeeb/rules.mk index a67d345674e4..e09e2e2bbe98 100644 --- a/keyboards/handwired/myskeeb/rules.mk +++ b/keyboards/handwired/myskeeb/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes # Enables split keyboard support OLED_ENABLE = yes -OLED_DRIVER = SSD1306 NO_USB_STARTUP_CHECK = yes diff --git a/keyboards/handwired/obuwunkunubi/spaget/rules.mk b/keyboards/handwired/obuwunkunubi/spaget/rules.mk index bf275d4f6f27..9652815de213 100644 --- a/keyboards/handwired/obuwunkunubi/spaget/rules.mk +++ b/keyboards/handwired/obuwunkunubi/spaget/rules.mk @@ -14,6 +14,4 @@ UNICODE_ENABLE = yes # Unicode AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable OLED display support ENCODER_ENABLE = yes # Enable encoder support - diff --git a/keyboards/handwired/onekey/kb2040/rules.mk b/keyboards/handwired/onekey/kb2040/rules.mk index a5429ba9935e..0e5631b02b3f 100644 --- a/keyboards/handwired/onekey/kb2040/rules.mk +++ b/keyboards/handwired/onekey/kb2040/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 OPT_DEFS += -DHAL_USE_I2C=TRUE diff --git a/keyboards/handwired/onekey/keymaps/oled/rules.mk b/keyboards/handwired/onekey/keymaps/oled/rules.mk index 83757b190967..f39e8ce4bde1 100644 --- a/keyboards/handwired/onekey/keymaps/oled/rules.mk +++ b/keyboards/handwired/onekey/keymaps/oled/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 TAP_DANCE_ENABLE = yes CONSOLE_ENABLE = yes diff --git a/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk b/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk +++ b/keyboards/handwired/owlet60/keymaps/oled_testing/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/handwired/pill60/rules.mk b/keyboards/handwired/pill60/rules.mk index f7d65c56c2cd..6bb5fa15810e 100644 --- a/keyboards/handwired/pill60/rules.mk +++ b/keyboards/handwired/pill60/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DEFAULT_FOLDER = handwired/pill60/bluepill diff --git a/keyboards/handwired/swiftrax/koalafications/rules.mk b/keyboards/handwired/swiftrax/koalafications/rules.mk index 51909d1883c8..efd14377bf4f 100644 --- a/keyboards/handwired/swiftrax/koalafications/rules.mk +++ b/keyboards/handwired/swiftrax/koalafications/rules.mk @@ -11,5 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/handwired/swiftrax/the_galleon/rules.mk b/keyboards/handwired/swiftrax/the_galleon/rules.mk index 5587a8dbbc60..dec78ae4080d 100644 --- a/keyboards/handwired/swiftrax/the_galleon/rules.mk +++ b/keyboards/handwired/swiftrax/the_galleon/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no # Rotary Encoder OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # I2C OLED diff --git a/keyboards/handwired/tsubasa/rules.mk b/keyboards/handwired/tsubasa/rules.mk index cddbc1e33fa0..5838d93ad558 100644 --- a/keyboards/handwired/tsubasa/rules.mk +++ b/keyboards/handwired/tsubasa/rules.mk @@ -15,5 +15,4 @@ LTO_ENABLE = yes ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/handwired/uthol/rev3/rules.mk b/keyboards/handwired/uthol/rev3/rules.mk index 2eaa7224979b..f0f9be4985cc 100644 --- a/keyboards/handwired/uthol/rev3/rules.mk +++ b/keyboards/handwired/uthol/rev3/rules.mk @@ -5,7 +5,6 @@ BOOTMAGIC_ENABLE = yes NKRO_ENABLE = yes KEYBOARD_SHARED_EP = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes EXTRAKEY_ENABLE = yes ENCODER_ENABLE = yes diff --git a/keyboards/hardwareabstraction/handwire/rules.mk b/keyboards/hardwareabstraction/handwire/rules.mk index ede296e1e876..8a33a553313c 100644 --- a/keyboards/hardwareabstraction/handwire/rules.mk +++ b/keyboards/hardwareabstraction/handwire/rules.mk @@ -3,6 +3,5 @@ HAPTIC_ENABLE = yes HAPTIC_DRIVER = solenoid OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/helix/rev2/keymaps/xulkal/rules.mk b/keyboards/helix/rev2/keymaps/xulkal/rules.mk index 5a9c1e28906f..09e14f46ee9d 100644 --- a/keyboards/helix/rev2/keymaps/xulkal/rules.mk +++ b/keyboards/helix/rev2/keymaps/xulkal/rules.mk @@ -3,7 +3,6 @@ RGBLIGHT_ENABLE = yes OPT_DEFS += -DRGBLED_BACK OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Helix specific font file OPT_DEFS += -DOLED_FONT_H=\"common/glcdfont.c\" # Xulkal specific oled define diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk index 6e63cc717231..4bfee0411de6 100644 --- a/keyboards/helix/rev2/local_features.mk +++ b/keyboards/helix/rev2/local_features.mk @@ -63,7 +63,6 @@ ifeq ($(strip $(LED_ANIMATIONS)), yes) endif ifeq ($(strip $(OLED_ENABLE)), yes) - OLED_DRIVER = SSD1306 ifeq ($(strip $(LOCAL_GLCDFONT)), yes) OPT_DEFS += -DOLED_FONT_H=\ else diff --git a/keyboards/helix/rev3_4rows/rules.mk b/keyboards/helix/rev3_4rows/rules.mk index 23b73845f0aa..a46f9d9c59f3 100644 --- a/keyboards/helix/rev3_4rows/rules.mk +++ b/keyboards/helix/rev3_4rows/rules.mk @@ -3,7 +3,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DIP_SWITCH_ENABLE = no LTO_ENABLE = yes diff --git a/keyboards/helix/rev3_5rows/rules.mk b/keyboards/helix/rev3_5rows/rules.mk index 23b73845f0aa..a46f9d9c59f3 100644 --- a/keyboards/helix/rev3_5rows/rules.mk +++ b/keyboards/helix/rev3_5rows/rules.mk @@ -3,7 +3,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes DIP_SWITCH_ENABLE = no LTO_ENABLE = yes diff --git a/keyboards/horrortroll/handwired_k552/rules.mk b/keyboards/horrortroll/handwired_k552/rules.mk index c6854d8a44c0..fd1825af356d 100644 --- a/keyboards/horrortroll/handwired_k552/rules.mk +++ b/keyboards/horrortroll/handwired_k552/rules.mk @@ -31,7 +31,6 @@ RGB_MATRIX_ENABLE = yes # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes # Wear-levelling driver diff --git a/keyboards/horrortroll/lemon40/rules.mk b/keyboards/horrortroll/lemon40/rules.mk index 933affaa8634..9ac59719d8ee 100644 --- a/keyboards/horrortroll/lemon40/rules.mk +++ b/keyboards/horrortroll/lemon40/rules.mk @@ -15,7 +15,6 @@ AUDIO_ENABLE = no # Audio output # OLED enabled OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes # Additional thing to reduce compiled size diff --git a/keyboards/jagdpietr/drakon/rules.mk b/keyboards/jagdpietr/drakon/rules.mk index 94fd5ee9d13b..d670d935a0d4 100644 --- a/keyboards/jagdpietr/drakon/rules.mk +++ b/keyboards/jagdpietr/drakon/rules.mk @@ -14,5 +14,4 @@ AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes WPM_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/jaykeeb/kamigakushi/rules.mk b/keyboards/jaykeeb/kamigakushi/rules.mk index 24f0fb91d3b8..161ec22b16e2 100644 --- a/keyboards/jaykeeb/kamigakushi/rules.mk +++ b/keyboards/jaykeeb/kamigakushi/rules.mk @@ -1,2 +1 @@ SERIAL_DRIVER = vendor -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk b/keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk index 7a7b1acc03aa..80b82b2a5cca 100644 --- a/keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk +++ b/keyboards/kagizaraya/chidori/keymaps/oled_sample/rules.mk @@ -1,3 +1,2 @@ # Enable SSD1306 OLED OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/kakunpc/angel64/rules.mk b/keyboards/kakunpc/angel64/rules.mk index e10619259c73..213576dfbd54 100644 --- a/keyboards/kakunpc/angel64/rules.mk +++ b/keyboards/kakunpc/angel64/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 CUSTOM_MATRIX = yes SRC += matrix.c diff --git a/keyboards/kakunpc/business_card/alpha/rules.mk b/keyboards/kakunpc/business_card/alpha/rules.mk index fa42618a3b04..6744c64e1ba4 100644 --- a/keyboards/kakunpc/business_card/alpha/rules.mk +++ b/keyboards/kakunpc/business_card/alpha/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/kakunpc/business_card/beta/rules.mk b/keyboards/kakunpc/business_card/beta/rules.mk index fa42618a3b04..6744c64e1ba4 100644 --- a/keyboards/kakunpc/business_card/beta/rules.mk +++ b/keyboards/kakunpc/business_card/beta/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/kakunpc/suihankey/rules.mk b/keyboards/kakunpc/suihankey/rules.mk index 85df4231d509..80475ea69aac 100644 --- a/keyboards/kakunpc/suihankey/rules.mk +++ b/keyboards/kakunpc/suihankey/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 SPLIT_KEYBOARD = no DEFAULT_FOLDER = kakunpc/suihankey/rev1 diff --git a/keyboards/keybage/radpad/rules.mk b/keyboards/keybage/radpad/rules.mk index 18b77f249ec1..f1e31ddbdcc0 100644 --- a/keyboards/keybage/radpad/rules.mk +++ b/keyboards/keybage/radpad/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/keycapsss/kimiko/keymaps/default/rules.mk b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk index 75655f2bd5ec..ef4f0c0b43a2 100644 --- a/keyboards/keycapsss/kimiko/keymaps/default/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/default/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # ENables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow @@ -8,4 +7,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow # This does not affect QMK Macros and Layers LTO_ENABLE = yes ENCODER_MAP_ENABLE = yes - diff --git a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk index 0229490d4422..96b99cdff0a2 100644 --- a/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk +++ b/keyboards/keycapsss/kimiko/keymaps/oriaj3/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # ENables the use of one or more encoders RGBLIGHT_ENABLE = no # Disable keyboard RGB underglow @@ -18,4 +17,3 @@ SPLIT_KEYBOARD = yes #DEACTIVATED FOR MEMORY SAVING MOUSEKEY_ENABLE = no CONSOLE_ENABLE = no - diff --git a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk index 9ce6e078db2b..dc3e29cf8b2a 100644 --- a/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk +++ b/keyboards/keycapsss/plaid_pad/keymaps/oled/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays COMBO_ENABLE = yes diff --git a/keyboards/keycapsss/plaid_pad/rev3/rules.mk b/keyboards/keycapsss/plaid_pad/rev3/rules.mk index e72f11863f7e..5ec06e960911 100644 --- a/keyboards/keycapsss/plaid_pad/rev3/rules.mk +++ b/keyboards/keycapsss/plaid_pad/rev3/rules.mk @@ -1,3 +1,2 @@ ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays diff --git a/keyboards/kikoslab/kl90/rules.mk b/keyboards/kikoslab/kl90/rules.mk index 27c445ca2fc7..a62bc3d00cd6 100644 --- a/keyboards/kikoslab/kl90/rules.mk +++ b/keyboards/kikoslab/kl90/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk b/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk index eee9c0d533e1..68d31978961b 100755 --- a/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk +++ b/keyboards/kingly_keys/romac/keymaps/boss566y/rules.mk @@ -1,4 +1,3 @@ VIA_ENABLE = yes BOOTLOADER = qmk-dfu OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C diff --git a/keyboards/kingly_keys/romac_plus/rules.mk b/keyboards/kingly_keys/romac_plus/rules.mk index a2287ae9158b..3eef56841c47 100644 --- a/keyboards/kingly_keys/romac_plus/rules.mk +++ b/keyboards/kingly_keys/romac_plus/rules.mk @@ -10,4 +10,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable support for EC11 Rotary Encoder OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C diff --git a/keyboards/kiwikey/wanderland/keymaps/stanrc85/rules.mk b/keyboards/kiwikey/wanderland/keymaps/stanrc85/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/kiwikey/wanderland/keymaps/stanrc85/rules.mk +++ b/keyboards/kiwikey/wanderland/keymaps/stanrc85/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/knobgoblin/rules.mk b/keyboards/knobgoblin/rules.mk index e19365e2abd6..41cfa4949a43 100644 --- a/keyboards/knobgoblin/rules.mk +++ b/keyboards/knobgoblin/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/latincompass/latinpad/rules.mk b/keyboards/latincompass/latinpad/rules.mk index 4d41664e3cee..c6959a65903e 100644 --- a/keyboards/latincompass/latinpad/rules.mk +++ b/keyboards/latincompass/latinpad/rules.mk @@ -11,6 +11,5 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no RGBLIGHT_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes diff --git a/keyboards/lefty/rules.mk b/keyboards/lefty/rules.mk index e0d5a4375e5e..bbf738e03bb7 100644 --- a/keyboards/lefty/rules.mk +++ b/keyboards/lefty/rules.mk @@ -13,6 +13,5 @@ AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 DEFAULT_FOLDER = lefty/rev2 diff --git a/keyboards/lily58/keymaps/drasbeck/rules.mk b/keyboards/lily58/keymaps/drasbeck/rules.mk index 10228e36776a..f0442f1008c5 100644 --- a/keyboards/lily58/keymaps/drasbeck/rules.mk +++ b/keyboards/lily58/keymaps/drasbeck/rules.mk @@ -13,7 +13,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow SWAP_HANDS_ENABLE = no # Enable one-hand typing OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # OLED display ENCODER_ENABLE = yes # Enable encoder # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE diff --git a/keyboards/lily58/keymaps/gshmu/rules.mk b/keyboards/lily58/keymaps/gshmu/rules.mk index 4b7da61a0cb7..401abfb4cf61 100644 --- a/keyboards/lily58/keymaps/gshmu/rules.mk +++ b/keyboards/lily58/keymaps/gshmu/rules.mk @@ -1,6 +1,5 @@ VIA_ENABLE = yes OLED_ENABLE = no -OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes DYNAMIC_TAPPING_TERM_ENABLE = yes diff --git a/keyboards/lily58/keymaps/mb_via/rules.mk b/keyboards/lily58/keymaps/mb_via/rules.mk index d3528d52a1a2..3c1f402d2ad0 100644 --- a/keyboards/lily58/keymaps/mb_via/rules.mk +++ b/keyboards/lily58/keymaps/mb_via/rules.mk @@ -1,5 +1,4 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/lily58/keymaps/muuko/rules.mk b/keyboards/lily58/keymaps/muuko/rules.mk index 7c38d43f82bd..004fc910f653 100644 --- a/keyboards/lily58/keymaps/muuko/rules.mk +++ b/keyboards/lily58/keymaps/muuko/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes EXTRAKEY_ENABLE = yes COMBO_ENABLE = yes diff --git a/keyboards/lily58/keymaps/ninjonas/rules.mk b/keyboards/lily58/keymaps/ninjonas/rules.mk index b7c57d87b9ed..9f00574d5d01 100644 --- a/keyboards/lily58/keymaps/ninjonas/rules.mk +++ b/keyboards/lily58/keymaps/ninjonas/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/lily58/keymaps/via/rules.mk b/keyboards/lily58/keymaps/via/rules.mk index d3528d52a1a2..3c1f402d2ad0 100644 --- a/keyboards/lily58/keymaps/via/rules.mk +++ b/keyboards/lily58/keymaps/via/rules.mk @@ -1,5 +1,4 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/lily58/keymaps/yuchi/config.h b/keyboards/lily58/keymaps/yuchi/config.h index 8e07ec837fe9..55d05464bc03 100644 --- a/keyboards/lily58/keymaps/yuchi/config.h +++ b/keyboards/lily58/keymaps/yuchi/config.h @@ -28,7 +28,5 @@ along with this program. If not, see . // #define MASTER_RIGHT // #define EE_HANDS -//#define OLED_DRIVER - #define QUICK_TAP_TERM 0 #define TAPPING_TERM 100 diff --git a/keyboards/lily58/rules.mk b/keyboards/lily58/rules.mk index 76ce166170dd..a63bd42ad37d 100644 --- a/keyboards/lily58/rules.mk +++ b/keyboards/lily58/rules.mk @@ -1,3 +1 @@ -OLED_DRIVER = SSD1306 - DEFAULT_FOLDER = lily58/rev1 diff --git a/keyboards/lime/rev1/rules.mk b/keyboards/lime/rev1/rules.mk index f83c13ac8d68..8ef96fa9d06c 100644 --- a/keyboards/lime/rev1/rules.mk +++ b/keyboards/lime/rev1/rules.mk @@ -1,4 +1,3 @@ ENCODER_ENABLE = yes ENCODER_RIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/ll3macorn/bongopad/rules.mk b/keyboards/ll3macorn/bongopad/rules.mk index c7f8935a0886..722f12e66eca 100644 --- a/keyboards/ll3macorn/bongopad/rules.mk +++ b/keyboards/ll3macorn/bongopad/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -WPM_ENABLE = yes \ No newline at end of file +WPM_ENABLE = yes diff --git a/keyboards/lyso1/lck75/rules.mk b/keyboards/lyso1/lck75/rules.mk index db42ab6247ca..6f3aabc44fc1 100644 --- a/keyboards/lyso1/lck75/rules.mk +++ b/keyboards/lyso1/lck75/rules.mk @@ -15,7 +15,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes WPM_ENABLE = yes LTO_ENABLE = no diff --git a/keyboards/macrocat/keymaps/oled/rules.mk b/keyboards/macrocat/keymaps/oled/rules.mk index ca8d16ba670c..ab9d5c6ac2f8 100644 --- a/keyboards/macrocat/keymaps/oled/rules.mk +++ b/keyboards/macrocat/keymaps/oled/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/marksard/treadstone48/keymaps/default/rules.mk b/keyboards/marksard/treadstone48/keymaps/default/rules.mk index 23c4ae9542cf..4ce2645eca12 100644 --- a/keyboards/marksard/treadstone48/keymaps/default/rules.mk +++ b/keyboards/marksard/treadstone48/keymaps/default/rules.mk @@ -2,7 +2,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes # If you want to change the display of OLED, you need to change here diff --git a/keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk b/keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk index 23c4ae9542cf..4ce2645eca12 100644 --- a/keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk +++ b/keyboards/marksard/treadstone48/keymaps/like_jis/rules.mk @@ -2,7 +2,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes # If you want to change the display of OLED, you need to change here diff --git a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/rules.mk b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/rules.mk index fafe992d6f9a..6b041a7554fa 100644 --- a/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/rules.mk +++ b/keyboards/marksard/treadstone48/rev1/keymaps/like_jis_rs/rules.mk @@ -2,7 +2,6 @@ MOUSEKEY_ENABLE = yes # Mouse keys RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes # If you use connection the Rhymestone, please enable RS_EXTRA_LED diff --git a/keyboards/marksard/treadstone48/rules.mk b/keyboards/marksard/treadstone48/rules.mk index 78219bfaceb8..e9a2de4c2516 100644 --- a/keyboards/marksard/treadstone48/rules.mk +++ b/keyboards/marksard/treadstone48/rules.mk @@ -14,6 +14,5 @@ MOUSEKEY_ENABLE = yes # Mouse keys RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 DEFAULT_FOLDER = marksard/treadstone48/rev1 diff --git a/keyboards/mechllama/g35/rules.mk b/keyboards/mechllama/g35/rules.mk index 205f58723851..be2e71f9036a 100644 --- a/keyboards/mechllama/g35/rules.mk +++ b/keyboards/mechllama/g35/rules.mk @@ -1,6 +1,5 @@ NKRO_ENABLE = yes # Enable N-Key Rollover OLED_ENABLE = yes -OLED_DRIVER = SSD1306 RGBLIGHT_ENABLE = yes DEFAULT_FOLDER = mechllama/g35/v2 diff --git a/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk b/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk index 540fbaecb220..6cdd5981242e 100644 --- a/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk +++ b/keyboards/mechwild/bde/rev2/keymaps/miketronic/rules.mk @@ -8,6 +8,5 @@ LEADER_ENABLE = yes ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes OLED_ENABLE = yes # Enable OLED Screen -OLED_DRIVER = SSD1306 # Set OLED Driver -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow \ No newline at end of file +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/mechwild/bde/rev2/rules.mk b/keyboards/mechwild/bde/rev2/rules.mk index 307b1ef79746..bade0749fc9e 100644 --- a/keyboards/mechwild/bde/rev2/rules.mk +++ b/keyboards/mechwild/bde/rev2/rules.mk @@ -1,3 +1,2 @@ ENCODER_ENABLE = yes # Enable encoder OLED_ENABLE = yes # Enable OLED Screen -OLED_DRIVER = SSD1306 # Set OLED Driver diff --git a/keyboards/mechwild/mercutio/rules.mk b/keyboards/mechwild/mercutio/rules.mk index 27c445ca2fc7..a62bc3d00cd6 100644 --- a/keyboards/mechwild/mercutio/rules.mk +++ b/keyboards/mechwild/mercutio/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/mechwild/mokulua/mirrored/rules.mk b/keyboards/mechwild/mokulua/mirrored/rules.mk index c04e6937b06d..875d4311681b 100644 --- a/keyboards/mechwild/mokulua/mirrored/rules.mk +++ b/keyboards/mechwild/mokulua/mirrored/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable encoder OLED_ENABLE = yes # Enable OLED Screen -OLED_DRIVER = SSD1306 # Define OLED Driver -SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file +SPLIT_KEYBOARD = yes # Define split functionality diff --git a/keyboards/mechwild/mokulua/standard/rules.mk b/keyboards/mechwild/mokulua/standard/rules.mk index c04e6937b06d..875d4311681b 100644 --- a/keyboards/mechwild/mokulua/standard/rules.mk +++ b/keyboards/mechwild/mokulua/standard/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable encoder OLED_ENABLE = yes # Enable OLED Screen -OLED_DRIVER = SSD1306 # Define OLED Driver -SPLIT_KEYBOARD = yes # Define split functionality \ No newline at end of file +SPLIT_KEYBOARD = yes # Define split functionality diff --git a/keyboards/mechwild/murphpad/rules.mk b/keyboards/mechwild/murphpad/rules.mk index ddfffd4c4b0d..df9b208bb218 100644 --- a/keyboards/mechwild/murphpad/rules.mk +++ b/keyboards/mechwild/murphpad/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable encoder OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable OLED Screen diff --git a/keyboards/mechwild/puckbuddy/rules.mk b/keyboards/mechwild/puckbuddy/rules.mk index 4bddc4813fcd..980fe281cff7 100644 --- a/keyboards/mechwild/puckbuddy/rules.mk +++ b/keyboards/mechwild/puckbuddy/rules.mk @@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Encoder Enabled OLED_ENABLE = yes # OLED Enabled -OLED_DRIVER = SSD1306 # OLED Driver DIP_SWITCH_ENABLE = yes # Dip Switch Enabled POINTING_DEVICE_ENABLE = yes # Pointing Device Enabled diff --git a/keyboards/mechwild/sugarglider/rules.mk b/keyboards/mechwild/sugarglider/rules.mk index 05ac15827cf3..9cfa6b77970f 100644 --- a/keyboards/mechwild/sugarglider/rules.mk +++ b/keyboards/mechwild/sugarglider/rules.mk @@ -2,7 +2,6 @@ # change yes to no to disable # OLED_ENABLE = yes # OLED Enabled -OLED_DRIVER = SSD1306 # OLED Driver # Cirque touchpad settings POINTING_DEVICE_ENABLE = yes # Pointing Device Enabled diff --git a/keyboards/meow48/rules.mk b/keyboards/meow48/rules.mk index b38f37579e1d..50a1438ecd39 100644 --- a/keyboards/meow48/rules.mk +++ b/keyboards/meow48/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/merge/um70/rules.mk b/keyboards/merge/um70/rules.mk index de0aec2ab239..11776618e226 100644 --- a/keyboards/merge/um70/rules.mk +++ b/keyboards/merge/um70/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/merge/um80/rules.mk b/keyboards/merge/um80/rules.mk index de0aec2ab239..11776618e226 100644 --- a/keyboards/merge/um80/rules.mk +++ b/keyboards/merge/um80/rules.mk @@ -13,4 +13,3 @@ AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/merge/uma/rules.mk b/keyboards/merge/uma/rules.mk index 1fec8e42150b..8bd01d2bb4ce 100644 --- a/keyboards/merge/uma/rules.mk +++ b/keyboards/merge/uma/rules.mk @@ -14,4 +14,3 @@ ENCODER_ENABLE = yes SPLIT_KEYBOARD = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/mino_plus/hotswap/rules.mk b/keyboards/mino_plus/hotswap/rules.mk index 842350f40ead..76e55c05f483 100644 --- a/keyboards/mino_plus/hotswap/rules.mk +++ b/keyboards/mino_plus/hotswap/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes WPM_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/mino_plus/soldered/rules.mk b/keyboards/mino_plus/soldered/rules.mk index 842350f40ead..76e55c05f483 100644 --- a/keyboards/mino_plus/soldered/rules.mk +++ b/keyboards/mino_plus/soldered/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes WPM_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/misonoworks/chocolatebar/rules.mk b/keyboards/misonoworks/chocolatebar/rules.mk index de4cbe598cf4..e61a4270e14c 100644 --- a/keyboards/misonoworks/chocolatebar/rules.mk +++ b/keyboards/misonoworks/chocolatebar/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/mlego/m65/rev4/rules.mk b/keyboards/mlego/m65/rev4/rules.mk index bf9405e1d19b..3e44c80fe0a8 100644 --- a/keyboards/mlego/m65/rev4/rules.mk +++ b/keyboards/mlego/m65/rev4/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable encoder OLED_ENABLE = yes # Enable OLED -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C WPM_ENABLE = yes # Enable WPM Counter diff --git a/keyboards/nullbitsco/nibble/keymaps/oled/rules.mk b/keyboards/nullbitsco/nibble/keymaps/oled/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/nullbitsco/nibble/keymaps/oled/rules.mk +++ b/keyboards/nullbitsco/nibble/keymaps/oled/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/rules.mk b/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/rules.mk index db6a98385a25..1909c7ef9a3a 100644 --- a/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/rules.mk +++ b/keyboards/nullbitsco/nibble/keymaps/oled_bongocat/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes VIA_ENABLE = yes diff --git a/keyboards/nullbitsco/nibble/keymaps/oled_status/rules.mk b/keyboards/nullbitsco/nibble/keymaps/oled_status/rules.mk index 0e39ada47b53..d665c5ec5a40 100644 --- a/keyboards/nullbitsco/nibble/keymaps/oled_status/rules.mk +++ b/keyboards/nullbitsco/nibble/keymaps/oled_status/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes VIA_ENABLE = yes diff --git a/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk b/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk +++ b/keyboards/nullbitsco/scramble/keymaps/oled/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/nullbitsco/snap/keymaps/bongo_reactive/rules.mk b/keyboards/nullbitsco/snap/keymaps/bongo_reactive/rules.mk index 7e580bfd7490..5706b9bf2a0d 100644 --- a/keyboards/nullbitsco/snap/keymaps/bongo_reactive/rules.mk +++ b/keyboards/nullbitsco/snap/keymaps/bongo_reactive/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 VIA_ENABLE = yes ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/rules.mk b/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/rules.mk index d0a184e961f1..506f77c16d69 100644 --- a/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/rules.mk +++ b/keyboards/nullbitsco/snap/keymaps/bongo_reactive_single_oled/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes VIA_ENABLE = yes ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/snap/keymaps/oled/rules.mk b/keyboards/nullbitsco/snap/keymaps/oled/rules.mk index d0a184e961f1..506f77c16d69 100644 --- a/keyboards/nullbitsco/snap/keymaps/oled/rules.mk +++ b/keyboards/nullbitsco/snap/keymaps/oled/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes VIA_ENABLE = yes ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk b/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk index 151e44f4aac8..16bd6085c059 100644 --- a/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk +++ b/keyboards/nullbitsco/snap/keymaps/typehud/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes VIA_ENABLE = yes ENCODER_MAP_ENABLE = yes diff --git a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk index 1b3509eac8aa..ba3a7b1701f7 100644 --- a/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk +++ b/keyboards/nullbitsco/tidbit/keymaps/oled/rules.mk @@ -1,4 +1,3 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_MAP_ENABLE = yes diff --git a/keyboards/obosob/arch_36/rules.mk b/keyboards/obosob/arch_36/rules.mk index e2392b129305..7d311cd40586 100644 --- a/keyboards/obosob/arch_36/rules.mk +++ b/keyboards/obosob/arch_36/rules.mk @@ -10,6 +10,5 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays AUDIO_ENABLE = no # Audio output SPLIT_KEYBOARD = yes # Split common diff --git a/keyboards/palette1202/rules.mk b/keyboards/palette1202/rules.mk index 1c07ca71f286..8876586f4bae 100644 --- a/keyboards/palette1202/rules.mk +++ b/keyboards/palette1202/rules.mk @@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Enable support for rotary encoders OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable support for OLED display # Additional code SRC += lib/oled_helper.c # Adding OLED diff --git a/keyboards/pearlboards/zeuspad/rules.mk b/keyboards/pearlboards/zeuspad/rules.mk index c6e9db406aba..a560cb2ea2cf 100644 --- a/keyboards/pearlboards/zeuspad/rules.mk +++ b/keyboards/pearlboards/zeuspad/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes # Rotary encoder OLED_ENABLE = yes # Enable oled -OLED_DRIVER = SSD1306 # Oled type LTO_ENABLE = yes # Link time optimization diff --git a/keyboards/pica40/rev1/rules.mk b/keyboards/pica40/rev1/rules.mk index 2e3ef9fb844d..e69de29bb2d1 100644 --- a/keyboards/pica40/rev1/rules.mk +++ b/keyboards/pica40/rev1/rules.mk @@ -1 +0,0 @@ -OLED_DRIVER = SSD1306 diff --git a/keyboards/planck/keymaps/rootiest/rules.mk b/keyboards/planck/keymaps/rootiest/rules.mk index ca0f90b6e9a8..d6f42b33ad55 100644 --- a/keyboards/planck/keymaps/rootiest/rules.mk +++ b/keyboards/planck/keymaps/rootiest/rules.mk @@ -1,7 +1,6 @@ SRC += muse.c ENCODER_ENABLE = yes # Enables basic encoder support OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables support for OLED displays # UNICODE_ENABLE = yes # Allow inputting basic unicode characters UNICODEMAP_ENABLE = yes # Enable use of Unicode mapping array # UCIS_ENABLE = yes # Another method for generating Unicode characters via maps diff --git a/keyboards/prototypist/oceanographer/rules.mk b/keyboards/prototypist/oceanographer/rules.mk index 07ce0fe6c515..5f37eac2f6d5 100644 --- a/keyboards/prototypist/oceanographer/rules.mk +++ b/keyboards/prototypist/oceanographer/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 AUDIO_ENABLE = yes LTO_ENABLE = yes RGBLIGHT_ENABLE = yes diff --git a/keyboards/rainkeebs/rainkeeb/rules.mk b/keyboards/rainkeebs/rainkeeb/rules.mk index ed4adffba93d..866521b42882 100644 --- a/keyboards/rainkeebs/rainkeeb/rules.mk +++ b/keyboards/rainkeebs/rainkeeb/rules.mk @@ -13,7 +13,6 @@ RGBLIGHT_ENABLE = no # OLED enable OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Encoder enable ENCODER_ENABLE = yes diff --git a/keyboards/rart/rart67m/rules.mk b/keyboards/rart/rart67m/rules.mk index 9d9090d7ea04..5a309870d338 100644 --- a/keyboards/rart/rart67m/rules.mk +++ b/keyboards/rart/rart67m/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/rart/rart75m/rules.mk b/keyboards/rart/rart75m/rules.mk index 6d03cffdfe79..5277f7c480d6 100644 --- a/keyboards/rart/rart75m/rules.mk +++ b/keyboards/rart/rart75m/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/rart/rartand/rules.mk b/keyboards/rart/rartand/rules.mk index b9cc25d86e28..7b55e77aeedf 100644 --- a/keyboards/rart/rartand/rules.mk +++ b/keyboards/rart/rartand/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/rart/rartland/rules.mk b/keyboards/rart/rartland/rules.mk index 06d9ea1b916d..5e5e0f090d75 100644 --- a/keyboards/rart/rartland/rules.mk +++ b/keyboards/rart/rartland/rules.mk @@ -15,5 +15,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output UNICODE_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes diff --git a/keyboards/rart/rartlice/rules.mk b/keyboards/rart/rartlice/rules.mk index 47297d817f86..b3f4fc8b8a7b 100644 --- a/keyboards/rart/rartlice/rules.mk +++ b/keyboards/rart/rartlice/rules.mk @@ -12,5 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 - diff --git a/keyboards/rate/pistachio_pro/rules.mk b/keyboards/rate/pistachio_pro/rules.mk index df27be46be33..7d8b50ef3fd2 100644 --- a/keyboards/rate/pistachio_pro/rules.mk +++ b/keyboards/rate/pistachio_pro/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes CUSTOM_MATRIX = lite diff --git a/keyboards/rgbkb/mun/rules.mk b/keyboards/rgbkb/mun/rules.mk index 0862bde4e54c..18dfc8edf708 100644 --- a/keyboards/rgbkb/mun/rules.mk +++ b/keyboards/rgbkb/mun/rules.mk @@ -19,7 +19,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable the OLED Driver ENCODER_ENABLE = yes diff --git a/keyboards/rgbkb/pan/rules.mk b/keyboards/rgbkb/pan/rules.mk index 775fa48e1219..3f1097a7e86e 100644 --- a/keyboards/rgbkb/pan/rules.mk +++ b/keyboards/rgbkb/pan/rules.mk @@ -11,7 +11,6 @@ AUDIO_ENABLE = no # Audio output RGB_MATRIX_ENABLE = yes ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # RGB layout selection RGB_ENCODERS = yes # For RGB encoders, solder on both WS2811 chips diff --git a/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk b/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk index 073cb668f0f7..36416c8dbee5 100644 --- a/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk +++ b/keyboards/rgbkb/sol/keymaps/xyverz/rules.mk @@ -24,7 +24,6 @@ IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPa DEFAULT_FOLDER = rgbkb/sol/rev1 ENCODER_ENABLE = no OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Do not edit past here diff --git a/keyboards/rgbkb/sol3/rules.mk b/keyboards/rgbkb/sol3/rules.mk index 382b858f4654..9cb54cfa1519 100644 --- a/keyboards/rgbkb/sol3/rules.mk +++ b/keyboards/rgbkb/sol3/rules.mk @@ -23,7 +23,6 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable the OLED Driver ENCODER_ENABLE = yes diff --git a/keyboards/rgbkb/zygomorph/keymaps/default/readme.md b/keyboards/rgbkb/zygomorph/keymaps/default/readme.md index e3e663db5dda..e1984691c659 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/default/readme.md +++ b/keyboards/rgbkb/zygomorph/keymaps/default/readme.md @@ -97,10 +97,7 @@ RGBLIGHT_FULL_POWER = yes # Allow maximum RGB brightness. Otherwise, limited t SWAP_HANDS_ENABLE = no # Enable one-hand typing ENCODER_ENABLE = yes # Enable rotary encoder (+90) OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable the OLED Driver (+5000) IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) - - ``` ## Compile diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk index 2eb5fbab49da..aa8c4326463a 100644 --- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk +++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk @@ -11,7 +11,6 @@ RGBLIGHT_FULL_POWER = yes # Allow maximum RGB brightness. Otherwise, limited t SWAP_HANDS_ENABLE = no # Enable one-hand typing ENCODER_ENABLE = yes # Enable rotary encoder OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable the OLED Driver IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone) LTO_ENABLE = yes # Enable optimizations to reduce firmware size. Also disables action macros and functions. diff --git a/keyboards/ristretto/rules.mk b/keyboards/ristretto/rules.mk index cb202f5b9b19..13002485f83b 100644 --- a/keyboards/ristretto/rules.mk +++ b/keyboards/ristretto/rules.mk @@ -12,5 +12,4 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WAIT_FOR_USB = yes diff --git a/keyboards/rmi_kb/herringbone/pro/rules.mk b/keyboards/rmi_kb/herringbone/pro/rules.mk index db45e4f61c55..890f20de86ab 100644 --- a/keyboards/rmi_kb/herringbone/pro/rules.mk +++ b/keyboards/rmi_kb/herringbone/pro/rules.mk @@ -15,7 +15,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes LTO_ENABLE = yes diff --git a/keyboards/rocketboard_16/rules.mk b/keyboards/rocketboard_16/rules.mk index 110ba7d10a53..dcc3d4516bda 100644 --- a/keyboards/rocketboard_16/rules.mk +++ b/keyboards/rocketboard_16/rules.mk @@ -17,7 +17,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB backlit keys AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes RAW_ENABLE = yes # Enables HID RAW communication between the board and the PC diff --git a/keyboards/rubi/rules.mk b/keyboards/rubi/rules.mk index e2279a08a6c0..e4810730443b 100644 --- a/keyboards/rubi/rules.mk +++ b/keyboards/rubi/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes SRC += lib/oled.c \ diff --git a/keyboards/rura66/rev1/rules.mk b/keyboards/rura66/rev1/rules.mk index 0f2fb66a8017..1c7bdc0c3cd5 100644 --- a/keyboards/rura66/rev1/rules.mk +++ b/keyboards/rura66/rev1/rules.mk @@ -2,7 +2,6 @@ EXTRAKEY_ENABLE = yes # Audio control and System control RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow SPLIT_KEYBOARD = yes RGB_MATRIX_ENABLE = no -OLED_DRIVER = SSD1306 ENCODER_ENABLE = no LTO_ENABLE = yes diff --git a/keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk b/keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk +++ b/keyboards/salicylic_acid3/getta25/keymaps/oled/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk index 69864a316621..ad721c13de4c 100644 --- a/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk +++ b/keyboards/salicylic_acid3/setta21/keymaps/salicylic/rules.mk @@ -1,4 +1,3 @@ RGBLIGHT_ENABLE = no RGB_MATRIX_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/satt/comet46/rules.mk b/keyboards/satt/comet46/rules.mk index 687d594ecbf1..fe692cc5c344 100644 --- a/keyboards/satt/comet46/rules.mk +++ b/keyboards/satt/comet46/rules.mk @@ -11,7 +11,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output CUSTOM_MATRIX = lite -OLED_DRIVER = SSD1306 # project specific files SRC += matrix.c diff --git a/keyboards/sendyyeah/pix/rules.mk b/keyboards/sendyyeah/pix/rules.mk index a6fe4b81c41e..83231e1022bc 100644 --- a/keyboards/sendyyeah/pix/rules.mk +++ b/keyboards/sendyyeah/pix/rules.mk @@ -12,4 +12,3 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/shoc/rules.mk b/keyboards/shoc/rules.mk index 806df5042105..5d17ed9492a8 100644 --- a/keyboards/shoc/rules.mk +++ b/keyboards/shoc/rules.mk @@ -11,5 +11,4 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes diff --git a/keyboards/sofle/keyhive/rules.mk b/keyboards/sofle/keyhive/rules.mk index bb1a7f3dc2bb..00719ebea0cb 100755 --- a/keyboards/sofle/keyhive/rules.mk +++ b/keyboards/sofle/keyhive/rules.mk @@ -14,4 +14,3 @@ ENCODER_ENABLE = yes LTO_ENABLE = yes SPLIT_KEYBOARD = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/sofle/keymaps/default/rules.mk b/keyboards/sofle/keymaps/default/rules.mk index c21a769a2ec0..ab79c07969fc 100644 --- a/keyboards/sofle/keymaps/default/rules.mk +++ b/keyboards/sofle/keymaps/default/rules.mk @@ -1,6 +1,5 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes CONSOLE_ENABLE = no EXTRAKEY_ENABLE = yes diff --git a/keyboards/sofle/keymaps/devdev/rules.mk b/keyboards/sofle/keymaps/devdev/rules.mk index 860c2122da25..0d18161a0d71 100644 --- a/keyboards/sofle/keymaps/devdev/rules.mk +++ b/keyboards/sofle/keymaps/devdev/rules.mk @@ -5,4 +5,3 @@ RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/sofle/keymaps/flare576/rules.mk b/keyboards/sofle/keymaps/flare576/rules.mk index a7505f53864b..abfcc01d94bf 100644 --- a/keyboards/sofle/keymaps/flare576/rules.mk +++ b/keyboards/sofle/keymaps/flare576/rules.mk @@ -3,5 +3,4 @@ ENCODER_ENABLE = yes EXTRAKEY_ENABLE = yes TAP_DANCE_ENABLE = yes WPM_ENABLE = yes -OLED_DRIVER_ENABLE = yes SRC += graphics.c diff --git a/keyboards/sofle/keymaps/helltm/rules.mk b/keyboards/sofle/keymaps/helltm/rules.mk index b905bd94fcde..8cba53095957 100644 --- a/keyboards/sofle/keymaps/helltm/rules.mk +++ b/keyboards/sofle/keymaps/helltm/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes CONSOLE_ENABLE = yes EXTRAKEY_ENABLE = yes diff --git a/keyboards/sofle/keymaps/michal/rules.mk b/keyboards/sofle/keymaps/michal/rules.mk index 8088d744cd01..06a046f0736f 100644 --- a/keyboards/sofle/keymaps/michal/rules.mk +++ b/keyboards/sofle/keymaps/michal/rules.mk @@ -1,7 +1,6 @@ BOOTLOADER = atmel-dfu OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # These are turned off to save space COMMAND_ENABLE = no @@ -17,4 +16,4 @@ EXTRAKEY_ENABLE = yes MOUSEKEY_ENABLE = yes # More space-saving -LTO_ENABLE = yes \ No newline at end of file +LTO_ENABLE = yes diff --git a/keyboards/sofle/keymaps/noqmk/rules.mk b/keyboards/sofle/keymaps/noqmk/rules.mk index 6685b8492cea..588139262295 100644 --- a/keyboards/sofle/keymaps/noqmk/rules.mk +++ b/keyboards/sofle/keymaps/noqmk/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes CONSOLE_ENABLE = no EXTRAKEY_ENABLE = yes diff --git a/keyboards/sofle/keymaps/rgb_default/rules.mk b/keyboards/sofle/keymaps/rgb_default/rules.mk index 860c2122da25..0d18161a0d71 100644 --- a/keyboards/sofle/keymaps/rgb_default/rules.mk +++ b/keyboards/sofle/keymaps/rgb_default/rules.mk @@ -5,4 +5,3 @@ RGBLIGHT_ENABLE = yes ENCODER_ENABLE = yes LTO_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/sofle/keymaps/via/rules.mk b/keyboards/sofle/keymaps/via/rules.mk index b57a417092df..c8ca49919c88 100644 --- a/keyboards/sofle/keymaps/via/rules.mk +++ b/keyboards/sofle/keymaps/via/rules.mk @@ -1,9 +1,8 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes CONSOLE_ENABLE = no EXTRAKEY_ENABLE = yes VIA_ENABLE = yes LTO_ENABLE = yes RGBLIGHT_ENABLE = yes -ENCODER_MAP_ENABLE = yes \ No newline at end of file +ENCODER_MAP_ENABLE = yes diff --git a/keyboards/sofle/rev1/rules.mk b/keyboards/sofle/rev1/rules.mk index 46ec39ee4814..5ec06e960911 100644 --- a/keyboards/sofle/rev1/rules.mk +++ b/keyboards/sofle/rev1/rules.mk @@ -1,3 +1,2 @@ ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/spaceman/pancake/rev2/rules.mk b/keyboards/spaceman/pancake/rev2/rules.mk index c085de5a4a2c..a7cc2bfee468 100644 --- a/keyboards/spaceman/pancake/rev2/rules.mk +++ b/keyboards/spaceman/pancake/rev2/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/spacetime/rev2/rules.mk b/keyboards/spacetime/rev2/rules.mk index d34d066ded93..dd68e9d3b090 100644 --- a/keyboards/spacetime/rev2/rules.mk +++ b/keyboards/spacetime/rev2/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/spleeb/keymaps/chrishoage/rules.mk b/keyboards/spleeb/keymaps/chrishoage/rules.mk index 117c55fd8b83..271c920da89c 100644 --- a/keyboards/spleeb/keymaps/chrishoage/rules.mk +++ b/keyboards/spleeb/keymaps/chrishoage/rules.mk @@ -8,4 +8,3 @@ POINTING_DEVICE_ENABLE = yes POINTING_DEVICE_DRIVER = cirque_pinnacle_i2c OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk index b1c72a8aaffa..585c589d3aab 100644 --- a/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk +++ b/keyboards/splitkb/aurora/sweep/keymaps/flinguenheld/rules.mk @@ -7,7 +7,6 @@ SRC += features/leader.c SRC += oled/oled.c OLED_ENABLE = yes -OLED_DRIVER = SSD1306 MOUSEKEY_ENABLE = yes AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk index 65b44a2982e9..a64a9f4e15f3 100644 --- a/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LEADER_ENABLE = yes # Enable the Leader Key feature diff --git a/keyboards/splitkb/kyria/keymaps/benji/rules.mk b/keyboards/splitkb/kyria/keymaps/benji/rules.mk index 35f8ec90c6f7..7b3d2303508a 100644 --- a/keyboards/splitkb/kyria/keymaps/benji/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/benji/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/splitkb/kyria/keymaps/cameronjlarsen/rules.mk b/keyboards/splitkb/kyria/keymaps/cameronjlarsen/rules.mk index e7146a164072..c58bda2c50a9 100644 --- a/keyboards/splitkb/kyria/keymaps/cameronjlarsen/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/cameronjlarsen/rules.mk @@ -1,7 +1,6 @@ BOOTMAGIC_ENABLE = no BOOTLOADER = atmel-dfu OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow COMMAND_ENABLE = no # Disables the command feature @@ -11,4 +10,3 @@ CONSOLE_ENABLE = no AUDIO_ENABLE = no CAPS_WORD_ENABLE = yes CUSTOM_ONESHOT_ENABLE = yes - diff --git a/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk index 71feb286dac4..968012ece1c0 100644 --- a/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk @@ -3,5 +3,4 @@ EXTRAKEY_ENABLE = yes LEADER_ENABLE = yes MOUSEKEY_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 RGBLIGHT_ENABLE = no diff --git a/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk index 59e2da986bbd..2ed0ad91c795 100644 --- a/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk @@ -1,5 +1,4 @@ # OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays # ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LEADER_ENABLE = yes # Enables the Leader shortcut funtionality diff --git a/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk index e2e6a3268903..442170ccd664 100644 --- a/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow RAW_ENABLE = no WPM_ENABLE = no diff --git a/keyboards/splitkb/kyria/keymaps/default/rules.mk b/keyboards/splitkb/kyria/keymaps/default/rules.mk index 830107351108..36a9c313733e 100644 --- a/keyboards/splitkb/kyria/keymaps/default/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/default/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGB_MATRIX_ENABLE = no # Disable keyboard RGB matrix, as it is enabled by default on rev3 RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk index d5d64865bb54..d1f3f0f9f47e 100644 --- a/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUTO_SHIFT_ENABLE = yes # Enable auto shift diff --git a/keyboards/splitkb/kyria/keymaps/gotham/rules.mk b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk index be3789ce9b0e..eff9494ff159 100644 --- a/keyboards/splitkb/kyria/keymaps/gotham/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk @@ -3,7 +3,6 @@ ENCODER_ENABLE = yes # ENables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow MOUSEKEY_ENABLE = no # Mouse keys OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays THUMBSTICK_ENABLE = yes # Enables analog thumbstick code ifeq ($(strip $(ENCODER_ENABLE)), yes) diff --git a/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk index 453d19ab3b40..7bcef000f3ab 100644 --- a/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow WPM_ENABLE = yes diff --git a/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk index a987a4ded23b..21b26a04a4bc 100644 --- a/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk @@ -1,6 +1,5 @@ AUTO_SHIFT_ENABLE = yes # Autoshift by holding down a key OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow LEADER_ENABLE = no # Enable the Leader Key feature diff --git a/keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk b/keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk index 35f8ec90c6f7..7b3d2303508a 100644 --- a/keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/jimmysjolund/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk b/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk index 87026b87564f..802e7a0f8a95 100644 --- a/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/john-ezra/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes # Enables the use of OLED displays -OLED_DRIVER = SSD1306 RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow NKRO_ENABLE = yes # Enable N-Key Rollover ENCODER_ENABLE = no # Disable Rotary Encoder diff --git a/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk b/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk index 329b41e4e5dd..61577a39a526 100644 --- a/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/lms_ace01/rules.mk @@ -2,7 +2,6 @@ BOOTLOADER = caterina # Pro Micro bootloader TAP_DANCE_ENABLE = yes # Enable Tap Dance -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/splitkb/kyria/keymaps/lw/rules.mk b/keyboards/splitkb/kyria/keymaps/lw/rules.mk index 41156dd41c8a..36553b7b25c6 100644 --- a/keyboards/splitkb/kyria/keymaps/lw/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/lw/rules.mk @@ -1,6 +1,5 @@ OLED_ENABLE = no -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = no # Enables the use of one or more encoders RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -UNICODEMAP_ENABLE = yes # Enable unicode \ No newline at end of file +UNICODEMAP_ENABLE = yes # Enable unicode diff --git a/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk b/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk index f37eabe3d544..2f8de3561ef1 100644 --- a/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/maherma-adg/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = no # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -MOUSEKEY_ENABLE = yes # Enable mouse movements \ No newline at end of file +MOUSEKEY_ENABLE = yes # Enable mouse movements diff --git a/keyboards/splitkb/kyria/keymaps/mattir/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk index 9d1a91831e29..2a9ca4aff97a 100644 --- a/keyboards/splitkb/kyria/keymaps/mattir/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LEADER_ENABLE = yes # Enables the use of the leader key diff --git a/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk index 1931861cafad..9d1a8a631ec2 100644 --- a/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LTO_ENABLE = yes diff --git a/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk index 4d148481ca7a..f35aee8683db 100644 --- a/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LEADER_ENABLE = yes # Enable the Leader Key feature diff --git a/keyboards/splitkb/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk index 35f8ec90c6f7..7b3d2303508a 100644 --- a/keyboards/splitkb/kyria/keymaps/shinze/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk index e79a5604e046..7fe734fb7246 100644 --- a/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk @@ -1,4 +1,3 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow MOUSEKEY_ENABLE = yes diff --git a/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk index 65b44a2982e9..a64a9f4e15f3 100644 --- a/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow LEADER_ENABLE = yes # Enable the Leader Key feature diff --git a/keyboards/splitkb/kyria/keymaps/travishi/rules.mk b/keyboards/splitkb/kyria/keymaps/travishi/rules.mk index a1564cfe4ba7..398b5debfa7a 100644 --- a/keyboards/splitkb/kyria/keymaps/travishi/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/travishi/rules.mk @@ -2,11 +2,10 @@ LEADER_ENABLE = yes RGBLIGHT_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays WPM_ENABLE = yes # Disabled features ENCODER_ENABLE = no # Enables the use of one or more encoders -MOUSEKEY_ENABLE = no \ No newline at end of file +MOUSEKEY_ENABLE = no diff --git a/keyboards/splitkb/kyria/keymaps/via/rules.mk b/keyboards/splitkb/kyria/keymaps/via/rules.mk index 0f12ae88e1cf..351b07402799 100644 --- a/keyboards/splitkb/kyria/keymaps/via/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/via/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more encoders VIA_ENABLE = yes NKRO_ENABLE = yes diff --git a/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk index 47a3988e6e27..c09579035c17 100755 --- a/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk @@ -1,5 +1,4 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays ENCODER_ENABLE = yes # Enables the use of one or more NKRO_ENABLE = yes WPM_ENABLE = yes diff --git a/keyboards/splitkb/zima/rules.mk b/keyboards/splitkb/zima/rules.mk index f491893a43af..3bcfccdd7bda 100644 --- a/keyboards/splitkb/zima/rules.mk +++ b/keyboards/splitkb/zima/rules.mk @@ -13,7 +13,6 @@ AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes # ENables the use of one or more encoders OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enables the use of OLED displays HAPTIC_ENABLE = yes # Supported but not included by defaut HAPTIC_DRIVER = drv2605l diff --git a/keyboards/subrezon/la_nc/keymaps/default/rules.mk b/keyboards/subrezon/la_nc/keymaps/default/rules.mk index b7c57d87b9ed..9f00574d5d01 100644 --- a/keyboards/subrezon/la_nc/keymaps/default/rules.mk +++ b/keyboards/subrezon/la_nc/keymaps/default/rules.mk @@ -1,3 +1,2 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 LTO_ENABLE = yes diff --git a/keyboards/takashicompany/endzone34/rules.mk b/keyboards/takashicompany/endzone34/rules.mk index f8fbdec9bda3..e6ed3b4b034b 100644 --- a/keyboards/takashicompany/endzone34/rules.mk +++ b/keyboards/takashicompany/endzone34/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/takashicompany/minizone/rules.mk b/keyboards/takashicompany/minizone/rules.mk index 60c7bb59b5e0..e6ed3b4b034b 100644 --- a/keyboards/takashicompany/minizone/rules.mk +++ b/keyboards/takashicompany/minizone/rules.mk @@ -10,6 +10,4 @@ NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output - OLED_ENABLE = yes -OLED_DRIVER = SSD1306 \ No newline at end of file diff --git a/keyboards/tau4/rules.mk b/keyboards/tau4/rules.mk index f27ee2a28eef..0001ae06b81f 100644 --- a/keyboards/tau4/rules.mk +++ b/keyboards/tau4/rules.mk @@ -1,7 +1,2 @@ -# Build Options -# change yes to no to disable -# - -OLED_DRIVER = SSD1306 # OLED display support # EEPROM_DRIVER ?= i2c # Driver for external EEPROM chip # This is currently not working due to QMK not officially supporting the chip used on the Tau4, I am working on a fix. diff --git a/keyboards/tender/macrowo_pad/keymaps/default/rules.mk b/keyboards/tender/macrowo_pad/keymaps/default/rules.mk index fd3d5d7e560f..dd68e9d3b090 100644 --- a/keyboards/tender/macrowo_pad/keymaps/default/rules.mk +++ b/keyboards/tender/macrowo_pad/keymaps/default/rules.mk @@ -1,2 +1 @@ OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C diff --git a/keyboards/tender/macrowo_pad/keymaps/via/rules.mk b/keyboards/tender/macrowo_pad/keymaps/via/rules.mk index d3ac2585b9ea..ab9d5c6ac2f8 100644 --- a/keyboards/tender/macrowo_pad/keymaps/via/rules.mk +++ b/keyboards/tender/macrowo_pad/keymaps/via/rules.mk @@ -1,3 +1,2 @@ VIA_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 # Enable Support for SSD1306 or SH1106 OLED Displays; Communicating over I2C diff --git a/keyboards/tkc/m0lly/rules.mk b/keyboards/tkc/m0lly/rules.mk index f07afe6ed407..6d915f6d417f 100644 --- a/keyboards/tkc/m0lly/rules.mk +++ b/keyboards/tkc/m0lly/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/tkc/tkc1800/rules.mk b/keyboards/tkc/tkc1800/rules.mk index f9f3b206d04a..fc74989daffd 100644 --- a/keyboards/tkc/tkc1800/rules.mk +++ b/keyboards/tkc/tkc1800/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/tkw/grandiceps/rules.mk b/keyboards/tkw/grandiceps/rules.mk index 2565f116a19c..86483ba9207a 100644 --- a/keyboards/tkw/grandiceps/rules.mk +++ b/keyboards/tkw/grandiceps/rules.mk @@ -16,7 +16,6 @@ KEYBOARD_SHARED_EP = yes # Free up some extra endpoints - needed if console+m SPLIT_KEYBOARD = yes SERIAL_DRIVER = usart OLED_ENABLE = yes -OLED_DRIVER = SSD1306 OPT_DEFS += -DSTM32_DMA_REQUIRED=TRUE DEFAULT_FOLDER = tkw/grandiceps/rev1 diff --git a/keyboards/torn/rules.mk b/keyboards/torn/rules.mk index 7d7b3015899b..d2ec5cf6d423 100644 --- a/keyboards/torn/rules.mk +++ b/keyboards/torn/rules.mk @@ -10,7 +10,6 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow ENCODER_ENABLE = yes # Enable rotary encoder OLED_ENABLE = yes -OLED_DRIVER = SSD1306 WPM_ENABLE = yes CUSTOM_MATRIX = lite diff --git a/keyboards/ungodly/launch_pad/rules.mk b/keyboards/ungodly/launch_pad/rules.mk index 5b696a9b0765..935414446645 100644 --- a/keyboards/ungodly/launch_pad/rules.mk +++ b/keyboards/ungodly/launch_pad/rules.mk @@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output MIDI_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ENCODER_ENABLE = yes RGB_MATRIX_ENABLE = yes SPACE_CADET_ENABLE = no diff --git a/keyboards/waterfowl/rules.mk b/keyboards/waterfowl/rules.mk index 4f359b9ee8d9..0eed9cdd8f68 100644 --- a/keyboards/waterfowl/rules.mk +++ b/keyboards/waterfowl/rules.mk @@ -12,6 +12,5 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes # Enables the use of OLED displays -OLED_DRIVER = SSD1306 # Specifies the type of OLED SPLIT_KEYBOARD = yes # Enables split functionality -ENCODER_ENABLE = yes # Enables the encoders \ No newline at end of file +ENCODER_ENABLE = yes # Enables the encoders diff --git a/keyboards/westm/westm9/rules.mk b/keyboards/westm/westm9/rules.mk index 00ce09e1a6c8..e522c525602a 100644 --- a/keyboards/westm/westm9/rules.mk +++ b/keyboards/westm/westm9/rules.mk @@ -15,6 +15,5 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output OLED_ENABLE = yes # Enable the OLED feature -OLED_DRIVER = SSD1306 # OLED driver DEFAULT_FOLDER = westm/westm9/rev2 diff --git a/keyboards/yampad/rules.mk b/keyboards/yampad/rules.mk index 5d58ddf6fae7..498bf77b9779 100644 --- a/keyboards/yampad/rules.mk +++ b/keyboards/yampad/rules.mk @@ -10,6 +10,5 @@ EXTRAKEY_ENABLE = no # Audio control and System control LTO_ENABLE = yes # Link time optimise, reduce firmware size MOUSEKEY_ENABLE = no # Mouse keys NKRO_ENABLE = yes # Enable N-Key Rollover -OLED_DRIVER = SSD1306 OLED_ENABLE = yes RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/yanghu/unicorne/rules.mk b/keyboards/yanghu/unicorne/rules.mk index 651d6bedf382..014f5d4d4225 100644 --- a/keyboards/yanghu/unicorne/rules.mk +++ b/keyboards/yanghu/unicorne/rules.mk @@ -12,7 +12,6 @@ RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes OLED_ENABLE = yes -OLED_DRIVER = SSD1306 AUDIO_DRIVER = pwm_hardware diff --git a/keyboards/yosino58/rev1/rules.mk b/keyboards/yosino58/rev1/rules.mk index a51a58c5ead9..2fcc81da0f63 100644 --- a/keyboards/yosino58/rev1/rules.mk +++ b/keyboards/yosino58/rev1/rules.mk @@ -11,4 +11,3 @@ BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. SPLIT_KEYBOARD = yes -OLED_DRIVER = SSD1306 diff --git a/keyboards/z12/rules.mk b/keyboards/z12/rules.mk index 65ce7f2dea5a..102b2e62a3c0 100644 --- a/keyboards/z12/rules.mk +++ b/keyboards/z12/rules.mk @@ -13,5 +13,3 @@ RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes # Enables Link Time Optimization (LTO) which reduces the compiled size OLED_ENABLE = yes # Enables the use of OLED displays -OLED_DRIVER = SSD1306 # Enables the use of OLED displays - diff --git a/layouts/community/split_3x6_3/bcat/rules.mk b/layouts/community/split_3x6_3/bcat/rules.mk index 29e52b92db5a..e0ce760a7912 100644 --- a/layouts/community/split_3x6_3/bcat/rules.mk +++ b/layouts/community/split_3x6_3/bcat/rules.mk @@ -4,6 +4,5 @@ ifeq ($(strip $(KEYBOARD)), crkbd/rev1) BOOTLOADER = atmel-dfu # Elite-C OLED_ENABLE = yes # dual 128x32 OLED screens - OLED_DRIVER = SSD1306 RGB_MATRIX_ENABLE = yes # per-key RGB and underglow endif diff --git a/users/snowe/readme_ocean_dream.md b/users/snowe/readme_ocean_dream.md index 688afc899824..fd6de1bca7d4 100644 --- a/users/snowe/readme_ocean_dream.md +++ b/users/snowe/readme_ocean_dream.md @@ -60,7 +60,6 @@ endif You're done! Now you can enable **Ocean Dream** by simply turning on the OLED feature ```makefile OLED_ENABLE = yes -OLED_DRIVER = SSD1306 ``` And if you want to disable it without turning off the OLED Driver you can simply set diff --git a/users/tominabox1/rules.mk b/users/tominabox1/rules.mk index 1df563464045..f1ee5c04850f 100644 --- a/users/tominabox1/rules.mk +++ b/users/tominabox1/rules.mk @@ -12,7 +12,6 @@ RGB_MATRIX_ENABLE = yes EXTRAFLAGS += -flto BOOTLOADER = qmk-dfu OLED_ENABLE = yes -OLED_DRIVER = SSD1306 endif ifeq ($(strip $(KEYBOARD)), lazydesigners/dimple) From f38ccaa598f83aefc7821d5491970a31de4c6acc Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Tue, 15 Aug 2023 10:36:39 +0100 Subject: [PATCH 44/65] Update usb information for dactyl_cc (#21612) --- keyboards/handwired/dactyl_cc/info.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/handwired/dactyl_cc/info.json b/keyboards/handwired/dactyl_cc/info.json index b4fbcb6f5e67..e607bfad1a48 100644 --- a/keyboards/handwired/dactyl_cc/info.json +++ b/keyboards/handwired/dactyl_cc/info.json @@ -4,9 +4,9 @@ "url": "https://github.com/mjohns/dactyl-cc", "maintainer": "qmk", "usb": { - "vid": "0xFEED", - "pid": "0x3060", - "device_version": "0.0.1" + "vid": "0x444E", + "pid": "0x1407", + "device_version": "1.0.0" }, "features": { "bootmagic": true, From 1c069b13b9c410d30cb3b0126b21b984284c405c Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 15 Aug 2023 20:06:57 +1000 Subject: [PATCH 45/65] rgblight: driver selection cleanups (#21558) --- builddefs/common_features.mk | 12 ++++-------- builddefs/show_options.mk | 2 +- data/mappings/info_rules.hjson | 1 + data/schemas/keyboard.jsonschema | 4 ++++ docs/feature_rgblight.md | 2 +- keyboards/capsunlocked/cu75/info.json | 1 + keyboards/capsunlocked/cu75/keymaps/default/rules.mk | 1 - keyboards/capsunlocked/cu75/keymaps/iso/rules.mk | 1 - keyboards/handwired/onekey/keymaps/apa102/rules.mk | 2 +- keyboards/handwired/uthol/rev2/rules.mk | 1 - keyboards/handwired/uthol/rev3/rules.mk | 1 - keyboards/kprepublic/jj40/keymaps/fun40/rules.mk | 4 ---- keyboards/kprepublic/jj40/keymaps/waples/rules.mk | 1 - .../lfkeyboards/lfk78/keymaps/ca178858/rules.mk | 1 - keyboards/lfkeyboards/lfk78/revb/info.json | 1 + keyboards/lfkeyboards/lfk78/revc/info.json | 1 + keyboards/lfkeyboards/lfk78/revj/info.json | 1 + keyboards/lfkeyboards/lfk78/rules.mk | 1 - keyboards/lfkeyboards/lfk87/info.json | 3 +++ .../lfkeyboards/lfk87/keymaps/ca178858/rules.mk | 1 - keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk | 1 - keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk | 1 - keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk | 1 - keyboards/lfkeyboards/lfk87/rules.mk | 1 - keyboards/lfkeyboards/lfkpad/info.json | 1 + keyboards/lfkeyboards/lfkpad/rules.mk | 1 - keyboards/lfkeyboards/mini1800/info.json | 1 + keyboards/lfkeyboards/mini1800/reva/rules.mk | 3 --- keyboards/lfkeyboards/mini1800/revc/rules.mk | 3 --- keyboards/lfkeyboards/smk65/revb/info.json | 1 + keyboards/lfkeyboards/smk65/revb/rules.mk | 1 - keyboards/lfkeyboards/smk65/revf/info.json | 1 + keyboards/lfkeyboards/smk65/revf/rules.mk | 1 - keyboards/matrix/noah/info.json | 1 + keyboards/matrix/noah/rules.mk | 1 - keyboards/pearl/keymaps/cijanzen/rules.mk | 1 - keyboards/prototypist/oceanographer/rules.mk | 1 - keyboards/v60_type_r/info.json | 1 + keyboards/v60_type_r/keymaps/ifohancroft/readme.md | 2 +- keyboards/v60_type_r/keymaps/ifohancroft/rules.mk | 1 - keyboards/v60_type_r/rules.mk | 1 - keyboards/yandrstudio/buff67v3/rules.mk | 1 - layouts/community/60_iso/unxmaal/rules.mk | 2 +- 43 files changed, 27 insertions(+), 44 deletions(-) diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 47fe56e4aa3a..906a793df7a7 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -317,14 +317,10 @@ ifneq ($(strip $(FLASH_DRIVER)), none) endif RGBLIGHT_ENABLE ?= no -VALID_RGBLIGHT_TYPES := WS2812 APA102 custom - -ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes) - RGBLIGHT_DRIVER ?= custom -endif +VALID_RGBLIGHT_TYPES := ws2812 apa102 custom ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) - RGBLIGHT_DRIVER ?= WS2812 + RGBLIGHT_DRIVER ?= ws2812 ifeq ($(filter $(RGBLIGHT_DRIVER),$(VALID_RGBLIGHT_TYPES)),) $(call CATASTROPHIC_ERROR,Invalid RGBLIGHT_DRIVER,RGBLIGHT_DRIVER="$(RGBLIGHT_DRIVER)" is not a valid RGB type) @@ -338,11 +334,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) RGB_KEYCODES_ENABLE := yes endif - ifeq ($(strip $(RGBLIGHT_DRIVER)), WS2812) + ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812) WS2812_DRIVER_REQUIRED := yes endif - ifeq ($(strip $(RGBLIGHT_DRIVER)), APA102) + ifeq ($(strip $(RGBLIGHT_DRIVER)), apa102) APA102_DRIVER_REQUIRED := yes endif diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index c21f907881c2..563d08988036 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -17,7 +17,7 @@ HARDWARE_OPTION_NAMES = \ BACKLIGHT_ENABLE \ BACKLIGHT_DRIVER \ RGBLIGHT_ENABLE \ - RGBLIGHT_CUSTOM_DRIVER \ + RGBLIGHT_DRIVER \ RGB_MATRIX_ENABLE \ RGB_MATRIX_DRIVER \ CIE1931_CURVE \ diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index bf8ec05cb2ce..07191551da8f 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -35,6 +35,7 @@ "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"}, "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"}, "RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"}, + "RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"}, "SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"}, "SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"}, "SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index cdea6621923b..aea76af50adb 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -477,6 +477,10 @@ } }, "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "driver": { + "type": "string", + "enum": ["apa102", "custom", "ws2812"] + }, "hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "layers": { "type": "object", diff --git a/docs/feature_rgblight.md b/docs/feature_rgblight.md index fef856f7dfad..39b7e6a6f1e1 100644 --- a/docs/feature_rgblight.md +++ b/docs/feature_rgblight.md @@ -28,7 +28,7 @@ For APA102 LEDs, add the following to your `rules.mk`: ```make RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = APA102 +RGBLIGHT_DRIVER = apa102 ``` At minimum you must define the data pin your LED strip is connected to, and the number of LEDs in the strip, in your `config.h`. For APA102 LEDs, you must also define the clock pin. If your keyboard has onboard RGB LEDs, and you are simply creating a keymap, you usually won't need to modify these. diff --git a/keyboards/capsunlocked/cu75/info.json b/keyboards/capsunlocked/cu75/info.json index 5698fc101eee..aa738d1f75cb 100644 --- a/keyboards/capsunlocked/cu75/info.json +++ b/keyboards/capsunlocked/cu75/info.json @@ -18,6 +18,7 @@ "levels": 8 }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 24 }, diff --git a/keyboards/capsunlocked/cu75/keymaps/default/rules.mk b/keyboards/capsunlocked/cu75/keymaps/default/rules.mk index aefb10a8b118..483baa799377 100644 --- a/keyboards/capsunlocked/cu75/keymaps/default/rules.mk +++ b/keyboards/capsunlocked/cu75/keymaps/default/rules.mk @@ -7,7 +7,6 @@ NKRO_ENABLE = yes BACKLIGHT_ENABLE = yes # Disable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Disable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk b/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk index 26239f265ee4..005811360586 100644 --- a/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk +++ b/keyboards/capsunlocked/cu75/keymaps/iso/rules.mk @@ -7,7 +7,6 @@ NKRO_ENABLE = yes # BACKLIGHT_ENABLE = no # Disable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = no # Disable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes ISSI_ENABLE = no # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/handwired/onekey/keymaps/apa102/rules.mk b/keyboards/handwired/onekey/keymaps/apa102/rules.mk index 70932cb75168..5f15fa9e7080 100644 --- a/keyboards/handwired/onekey/keymaps/apa102/rules.mk +++ b/keyboards/handwired/onekey/keymaps/apa102/rules.mk @@ -1,2 +1,2 @@ RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = APA102 +RGBLIGHT_DRIVER = apa102 diff --git a/keyboards/handwired/uthol/rev2/rules.mk b/keyboards/handwired/uthol/rev2/rules.mk index 445e503d0bd3..c6e22b8dd296 100644 --- a/keyboards/handwired/uthol/rev2/rules.mk +++ b/keyboards/handwired/uthol/rev2/rules.mk @@ -6,4 +6,3 @@ EXTRAKEY_ENABLE = yes NKRO_ENABLE = yes LTO_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/handwired/uthol/rev3/rules.mk b/keyboards/handwired/uthol/rev3/rules.mk index f0f9be4985cc..1577cf8a775d 100644 --- a/keyboards/handwired/uthol/rev3/rules.mk +++ b/keyboards/handwired/uthol/rev3/rules.mk @@ -9,4 +9,3 @@ WPM_ENABLE = yes EXTRAKEY_ENABLE = yes ENCODER_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = WS2812 diff --git a/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk b/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk index cc9508d7d6f2..9018bddfe35b 100644 --- a/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk +++ b/keyboards/kprepublic/jj40/keymaps/fun40/rules.mk @@ -13,9 +13,5 @@ UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes -RGBLIGHT_CUSTOM_DRIVER = yes -DISABLE_WS2812 = yes - SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend - diff --git a/keyboards/kprepublic/jj40/keymaps/waples/rules.mk b/keyboards/kprepublic/jj40/keymaps/waples/rules.mk index b9b67d1c7398..8f678e6b594e 100644 --- a/keyboards/kprepublic/jj40/keymaps/waples/rules.mk +++ b/keyboards/kprepublic/jj40/keymaps/waples/rules.mk @@ -6,5 +6,4 @@ CONSOLE_ENABLE = no COMMAND_ENABLE = yes BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_CUSTOM_DRIVER = yes KEY_LOCK_ENABLE = yes diff --git a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk index f1836baa2777..481ff1407bdf 100644 --- a/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk +++ b/keyboards/lfkeyboards/lfk78/keymaps/ca178858/rules.mk @@ -10,7 +10,6 @@ AUDIO_ENABLE = no # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = no # Enable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = no # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes TAP_DANCE_ENABLE = yes diff --git a/keyboards/lfkeyboards/lfk78/revb/info.json b/keyboards/lfkeyboards/lfk78/revb/info.json index bee0a0305b78..f4319acd1686 100644 --- a/keyboards/lfkeyboards/lfk78/revb/info.json +++ b/keyboards/lfkeyboards/lfk78/revb/info.json @@ -18,6 +18,7 @@ "levels": 8 }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 31 }, diff --git a/keyboards/lfkeyboards/lfk78/revc/info.json b/keyboards/lfkeyboards/lfk78/revc/info.json index a0f3327dda83..742289e79657 100644 --- a/keyboards/lfkeyboards/lfk78/revc/info.json +++ b/keyboards/lfkeyboards/lfk78/revc/info.json @@ -18,6 +18,7 @@ "levels": 8 }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 27 }, diff --git a/keyboards/lfkeyboards/lfk78/revj/info.json b/keyboards/lfkeyboards/lfk78/revj/info.json index 3bfbcc147a34..72494c71eb40 100644 --- a/keyboards/lfkeyboards/lfk78/revj/info.json +++ b/keyboards/lfkeyboards/lfk78/revj/info.json @@ -18,6 +18,7 @@ "levels": 8 }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 27 }, diff --git a/keyboards/lfkeyboards/lfk78/rules.mk b/keyboards/lfkeyboards/lfk78/rules.mk index 6c0b7f6d8dde..4e3f7b9256f2 100644 --- a/keyboards/lfkeyboards/lfk78/rules.mk +++ b/keyboards/lfkeyboards/lfk78/rules.mk @@ -10,7 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = no # Audio output RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lfkeyboards, not qmk base SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/lfk87/info.json b/keyboards/lfkeyboards/lfk87/info.json index d76ee0c6937d..6a2d5eb796e4 100644 --- a/keyboards/lfkeyboards/lfk87/info.json +++ b/keyboards/lfkeyboards/lfk87/info.json @@ -12,6 +12,9 @@ "driver": "custom", "levels": 10 }, + "rgblight": { + "driver": "custom" + }, "ws2812": { "pin": "F4" }, diff --git a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk index ab5bc0930dba..8d2c18f6dd2f 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/ca178858/rules.mk @@ -10,7 +10,6 @@ AUDIO_ENABLE = yes # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Disable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes TAP_DANCE_ENABLE = yes diff --git a/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk index 9babefffc885..ec4ce1afba30 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/default/rules.mk @@ -7,7 +7,6 @@ NKRO_ENABLE = yes BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = yes # Audio output RGBLIGHT_ENABLE = yes # Enable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk index 9a6b4ff65af5..01b8506d3a21 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/gbchk/rules.mk @@ -10,7 +10,6 @@ AUDIO_ENABLE = yes # Audio output on port C6 UNICODE_ENABLE = no # Unicode BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID RGBLIGHT_ENABLE = yes # Enable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk b/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk index 0e7008aa209a..7baa40317ad5 100644 --- a/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk +++ b/keyboards/lfkeyboards/lfk87/keymaps/iso/rules.mk @@ -7,7 +7,6 @@ NKRO_ENABLE = yes BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = yes # Audio output RGBLIGHT_ENABLE = yes # Enable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/lfk87/rules.mk b/keyboards/lfkeyboards/lfk87/rules.mk index 2dc08f71f635..154e03fe7795 100644 --- a/keyboards/lfkeyboards/lfk87/rules.mk +++ b/keyboards/lfkeyboards/lfk87/rules.mk @@ -11,7 +11,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality AUDIO_ENABLE = yes # Audio output RGBLIGHT_ENABLE = yes # Enable RGB underlight -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/lfkpad/info.json b/keyboards/lfkeyboards/lfkpad/info.json index 5a9ee2bdaadc..b1970fe28c89 100644 --- a/keyboards/lfkeyboards/lfkpad/info.json +++ b/keyboards/lfkeyboards/lfkpad/info.json @@ -9,6 +9,7 @@ "device_version": "0.0.1" }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 28 }, diff --git a/keyboards/lfkeyboards/lfkpad/rules.mk b/keyboards/lfkeyboards/lfkpad/rules.mk index b60f4b532ffa..ec8efa88bf6e 100644 --- a/keyboards/lfkeyboards/lfkpad/rules.mk +++ b/keyboards/lfkeyboards/lfkpad/rules.mk @@ -9,7 +9,6 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lfkeyboards, not qmk base AUDIO_ENABLE = no # Audio output SLEEP_LED_ENABLE = yes diff --git a/keyboards/lfkeyboards/mini1800/info.json b/keyboards/lfkeyboards/mini1800/info.json index 5d877ea6fd3a..019789bee0a0 100644 --- a/keyboards/lfkeyboards/mini1800/info.json +++ b/keyboards/lfkeyboards/mini1800/info.json @@ -18,6 +18,7 @@ "levels": 10 }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 26 }, diff --git a/keyboards/lfkeyboards/mini1800/reva/rules.mk b/keyboards/lfkeyboards/mini1800/reva/rules.mk index edd26e498d10..473bcb10ae93 100644 --- a/keyboards/lfkeyboards/mini1800/reva/rules.mk +++ b/keyboards/lfkeyboards/mini1800/reva/rules.mk @@ -10,9 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output - -# RGB code is implemented in lfkeyboards, not WS2812 -RGBLIGHT_CUSTOM_DRIVER = yes SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/mini1800/revc/rules.mk b/keyboards/lfkeyboards/mini1800/revc/rules.mk index edd26e498d10..473bcb10ae93 100644 --- a/keyboards/lfkeyboards/mini1800/revc/rules.mk +++ b/keyboards/lfkeyboards/mini1800/revc/rules.mk @@ -10,9 +10,6 @@ NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow AUDIO_ENABLE = yes # Audio output - -# RGB code is implemented in lfkeyboards, not WS2812 -RGBLIGHT_CUSTOM_DRIVER = yes SLEEP_LED_ENABLE = yes ISSI_ENABLE = yes # If the I2C pullup resistors aren't install this must be disabled diff --git a/keyboards/lfkeyboards/smk65/revb/info.json b/keyboards/lfkeyboards/smk65/revb/info.json index 85c853cba07e..3f92ea3b27f7 100644 --- a/keyboards/lfkeyboards/smk65/revb/info.json +++ b/keyboards/lfkeyboards/smk65/revb/info.json @@ -6,6 +6,7 @@ "levels": 8 }, "rgblight": { + "driver": "custom", "hue_steps": 10, "led_count": 20 }, diff --git a/keyboards/lfkeyboards/smk65/revb/rules.mk b/keyboards/lfkeyboards/smk65/revb/rules.mk index 57bf01d4cf5c..1bd6ebc6a6c7 100644 --- a/keyboards/lfkeyboards/smk65/revb/rules.mk +++ b/keyboards/lfkeyboards/smk65/revb/rules.mk @@ -3,7 +3,6 @@ # BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 AUDIO_ENABLE = no # Audio output # Extra source files for IS3731 lighting diff --git a/keyboards/lfkeyboards/smk65/revf/info.json b/keyboards/lfkeyboards/smk65/revf/info.json index 086e7e38c8b7..50c039b76cb2 100644 --- a/keyboards/lfkeyboards/smk65/revf/info.json +++ b/keyboards/lfkeyboards/smk65/revf/info.json @@ -5,6 +5,7 @@ "processor": "atmega32u4", "bootloader": "halfkay", "rgblight": { + "driver": "custom", "led_count": 28 }, "layouts": { diff --git a/keyboards/lfkeyboards/smk65/revf/rules.mk b/keyboards/lfkeyboards/smk65/revf/rules.mk index 254574795948..e372473a5076 100644 --- a/keyboards/lfkeyboards/smk65/revf/rules.mk +++ b/keyboards/lfkeyboards/smk65/revf/rules.mk @@ -2,4 +2,3 @@ # change yes to no to disable # RGBLIGHT_ENABLE = no # TODO: Enable keyboard RGB underglow -RGBLIGHT_CUSTOM_DRIVER = yes # RGB code is implemented in lefkeyboards, not WS2812 diff --git a/keyboards/matrix/noah/info.json b/keyboards/matrix/noah/info.json index 67c5fe022125..4550f7d70aae 100644 --- a/keyboards/matrix/noah/info.json +++ b/keyboards/matrix/noah/info.json @@ -9,6 +9,7 @@ "device_version": "0.0.1" }, "rgblight": { + "driver": "custom", "led_count": 7 }, "ws2812": { diff --git a/keyboards/matrix/noah/rules.mk b/keyboards/matrix/noah/rules.mk index 55ea2f42b074..3b75264222d4 100644 --- a/keyboards/matrix/noah/rules.mk +++ b/keyboards/matrix/noah/rules.mk @@ -27,7 +27,6 @@ NO_USB_STARTUP_CHECK = yes # Disable initialization only when usb is plugged in RGB_MATRIX_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_CUSTOM_DRIVER = yes WS2812_DRIVER_REQUIRED = yes CUSTOM_MATRIX = yes diff --git a/keyboards/pearl/keymaps/cijanzen/rules.mk b/keyboards/pearl/keymaps/cijanzen/rules.mk index c800dc98f8e9..900468e149c1 100644 --- a/keyboards/pearl/keymaps/cijanzen/rules.mk +++ b/keyboards/pearl/keymaps/cijanzen/rules.mk @@ -6,6 +6,5 @@ CONSOLE_ENABLE = no COMMAND_ENABLE = yes BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_CUSTOM_DRIVER = yes # TAP_DANCE_ENABLE = yes AUTO_SHIFT_ENABLE = yes diff --git a/keyboards/prototypist/oceanographer/rules.mk b/keyboards/prototypist/oceanographer/rules.mk index 5f37eac2f6d5..e18a6cecee5c 100644 --- a/keyboards/prototypist/oceanographer/rules.mk +++ b/keyboards/prototypist/oceanographer/rules.mk @@ -2,5 +2,4 @@ OLED_ENABLE = yes AUDIO_ENABLE = yes LTO_ENABLE = yes RGBLIGHT_ENABLE = yes -RGBLIGHT_DRIVER = WS2812 ENCODER_ENABLE = yes diff --git a/keyboards/v60_type_r/info.json b/keyboards/v60_type_r/info.json index 760a4f73562d..1d7c104f4fa2 100644 --- a/keyboards/v60_type_r/info.json +++ b/keyboards/v60_type_r/info.json @@ -19,6 +19,7 @@ "on_state": 0 }, "rgblight": { + "driver": "custom", "led_count": 1 }, "processor": "atmega32u4", diff --git a/keyboards/v60_type_r/keymaps/ifohancroft/readme.md b/keyboards/v60_type_r/keymaps/ifohancroft/readme.md index b2d2249081c4..c8106ae0cda9 100644 --- a/keyboards/v60_type_r/keymaps/ifohancroft/readme.md +++ b/keyboards/v60_type_r/keymaps/ifohancroft/readme.md @@ -7,7 +7,7 @@ - Layer 3: An empty layer in-case I need something on-the-fly so I can remap with VIA. - Layer 4: An empty layer in-case I need something on-the-fly so I can remap with VIA. -This keymap also sets the polling rate of the keyboard to 1ms, disables the MOUSEKEY, EXTRAKEY, BACKLIGHT, RGBLIGHT and RGBLIGHT_CUSTOM_DRIVER features, and enables the following features: +This keymap also sets the polling rate of the keyboard to 1ms, disables the MOUSEKEY, EXTRAKEY, BACKLIGHT, and RGBLIGHT features, and enables the following features: - NKRO (forced on) - VIA diff --git a/keyboards/v60_type_r/keymaps/ifohancroft/rules.mk b/keyboards/v60_type_r/keymaps/ifohancroft/rules.mk index b7d5bb519858..03be782d45e0 100644 --- a/keyboards/v60_type_r/keymaps/ifohancroft/rules.mk +++ b/keyboards/v60_type_r/keymaps/ifohancroft/rules.mk @@ -2,6 +2,5 @@ MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = no BACKLIGHT_ENABLE = no RGBLIGHT_ENABLE = no -RGBLIGHT_CUSTOM_DRIVER = no NKRO_ENABLE = yes VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/v60_type_r/rules.mk b/keyboards/v60_type_r/rules.mk index 77b555c20c57..d6654ffea641 100644 --- a/keyboards/v60_type_r/rules.mk +++ b/keyboards/v60_type_r/rules.mk @@ -9,7 +9,6 @@ COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable the RGB Underglow -RGBLIGHT_CUSTOM_DRIVER = yes AUDIO_ENABLE = no # Audio output LTO_ENABLE = yes diff --git a/keyboards/yandrstudio/buff67v3/rules.mk b/keyboards/yandrstudio/buff67v3/rules.mk index 663aac242032..421ae9fce118 100644 --- a/keyboards/yandrstudio/buff67v3/rules.mk +++ b/keyboards/yandrstudio/buff67v3/rules.mk @@ -12,5 +12,4 @@ COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = yes # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow -RGBLIGHT_DRIVER = WS2812 # RGB driver support AUDIO_ENABLE = no # Audio output diff --git a/layouts/community/60_iso/unxmaal/rules.mk b/layouts/community/60_iso/unxmaal/rules.mk index c2d3c6b07589..5c9eb2a26d90 100644 --- a/layouts/community/60_iso/unxmaal/rules.mk +++ b/layouts/community/60_iso/unxmaal/rules.mk @@ -1,7 +1,7 @@ # Only enable RGBLIGHT on avr boards ifeq ($(strip $(PLATFORM_KEY)),avr) # ...that are at least prepared for it - ifdef RGBLIGHT_DRIVER + ifeq ($(strip $(RGBLIGHT_SUPPORTED)),yes) RGBLIGHT_ENABLE = yes # Enable RGB Underglow endif endif From 17906df945e1fadcd9a63f98e66d9b7a8f6e8f15 Mon Sep 17 00:00:00 2001 From: Wilfried JEANNIARD Date: Tue, 15 Aug 2023 18:26:06 +0200 Subject: [PATCH 46/65] [Keyboard] add willoucom/keypad (#21714) --- keyboards/willoucom/keypad/info.json | 63 +++++++++++++++++++ .../keypad/keymaps/default/keymap.json | 13 ++++ .../willoucom/keypad/keymaps/via/keymap.json | 19 ++++++ keyboards/willoucom/keypad/readme.md | 20 ++++++ keyboards/willoucom/keypad/rules.mk | 1 + 5 files changed, 116 insertions(+) create mode 100644 keyboards/willoucom/keypad/info.json create mode 100644 keyboards/willoucom/keypad/keymaps/default/keymap.json create mode 100644 keyboards/willoucom/keypad/keymaps/via/keymap.json create mode 100644 keyboards/willoucom/keypad/readme.md create mode 100644 keyboards/willoucom/keypad/rules.mk diff --git a/keyboards/willoucom/keypad/info.json b/keyboards/willoucom/keypad/info.json new file mode 100644 index 000000000000..dc517ccc1648 --- /dev/null +++ b/keyboards/willoucom/keypad/info.json @@ -0,0 +1,63 @@ +{ + "manufacturer": "Willou.com", + "keyboard_name": "keypad", + "maintainer": "willoucom", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "direct": [ + ["GP0", "GP1", "GP2", "GP3", "GP4", "GP20", "GP5", "GP6", "GP7", "GP8", "GP9", "GP21", "GP10"], + ["GP11", "GP12", "GP13", "GP14", "GP22", "GP26", "GP15", "GP16", "GP17", "GP18", "GP19", "GP27", "GP28"] + ] + }, + "processor": "RP2040", + "tapping": { + "hold_on_other_key_press": true + }, + "usb": { + "device_version": "1.0.0", + "force_nkro": true, + "pid": "0x4B50", + "vid": "0x574A" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"label": "GRV", "matrix": [0, 0], "x": 0, "y": 0.25}, + {"label": "1", "matrix": [0, 1], "x": 1, "y": 0}, + {"label": "2", "matrix": [0, 2], "x": 2, "y": 0}, + {"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, + {"label": "4", "matrix": [0, 4], "x": 4, "y": 0}, + {"label": "ESC", "matrix": [0, 5], "x": 6.5, "y": 0}, + {"label": "LSFT", "matrix": [0, 6], "x": 0, "y": 1.25}, + {"label": "Q", "matrix": [0, 7], "x": 1, "y": 1}, + {"label": "W", "matrix": [0, 8], "x": 2, "y": 1}, + {"label": "E", "matrix": [0, 9], "x": 3, "y": 1}, + {"label": "R", "matrix": [0, 10], "x": 4, "y": 1}, + {"label": "LBRC", "matrix": [0, 11], "x": 6.5, "y": 1}, + {"label": "LCTL", "matrix": [0, 12], "x": 0, "y": 2.25}, + {"label": "A", "matrix": [1, 0], "x": 1, "y": 2}, + {"label": "S", "matrix": [1, 1], "x": 2, "y": 2}, + {"label": "D", "matrix": [1, 2], "x": 3, "y": 2}, + {"label": "F", "matrix": [1, 3], "x": 4, "y": 2}, + {"label": "ENT", "matrix": [1, 4], "x": 5.5, "y": 2}, + {"label": "G", "matrix": [1, 5], "x": 7.5, "y": 2}, + {"label": "SPC", "matrix": [1, 6], "x": 0, "y": 3.25}, + {"label": "TAB", "matrix": [1, 7], "x": 1, "y": 3}, + {"label": "Z", "matrix": [1, 8], "x": 2, "y": 3}, + {"label": "X", "matrix": [1, 9], "x": 3, "y": 3}, + {"label": "C", "matrix": [1, 10], "x": 4, "y": 3}, + {"label": "RBRC", "matrix": [1, 11], "x": 6.5, "y": 3}, + {"label": "M", "matrix": [1, 12], "x": 6.5, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/willoucom/keypad/keymaps/default/keymap.json b/keyboards/willoucom/keypad/keymaps/default/keymap.json new file mode 100644 index 000000000000..c16729bd6ccc --- /dev/null +++ b/keyboards/willoucom/keypad/keymaps/default/keymap.json @@ -0,0 +1,13 @@ +{ + "keyboard": "willoucom/keypad", + "layout": "LAYOUT", + "layers": [ + [ + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_ESC", + "KC_LSFT", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_LBRC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_ENT", "KC_G", + "KC_SPC", "KC_TAB", "KC_Z", "KC_X", "KC_C", "KC_RBRC", + "KC_M" + ] + ] +} \ No newline at end of file diff --git a/keyboards/willoucom/keypad/keymaps/via/keymap.json b/keyboards/willoucom/keypad/keymaps/via/keymap.json new file mode 100644 index 000000000000..0d233e59e6a0 --- /dev/null +++ b/keyboards/willoucom/keypad/keymaps/via/keymap.json @@ -0,0 +1,19 @@ +{ + "keyboard": "willoucom/keypad", + "config": { + "features": { + "via": true + } + }, + "keymap": "via", + "layout": "LAYOUT", + "layers": [ + [ + "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_ESC", + "KC_LSFT", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_LBRC", + "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_ENT", "KC_G", + "KC_SPC", "KC_TAB", "KC_Z", "KC_X", "KC_C", "KC_RBRC", + "KC_M" + ] + ] +} \ No newline at end of file diff --git a/keyboards/willoucom/keypad/readme.md b/keyboards/willoucom/keypad/readme.md new file mode 100644 index 000000000000..863ce79d37e6 --- /dev/null +++ b/keyboards/willoucom/keypad/readme.md @@ -0,0 +1,20 @@ +# willoucom/keypad + +A programmable keypad for Productivity and Gaming. + +* Keyboard Maintainer: [Wilfried JEANNIARD](https://github.com/willoucom) +* Product Page : [The Keypad](https://www.willou.com/keypad/) + +Make example for this keyboard (after setting up your build environment): + + qmk compile -kb willoucom/keypad -km default + +Flashing example for this keyboard: + + qmk flash -kb willoucom/keypad -km default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Push the reset button twice. Then drop the u2f file in the usb drive. \ No newline at end of file diff --git a/keyboards/willoucom/keypad/rules.mk b/keyboards/willoucom/keypad/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/willoucom/keypad/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From ad954fe8aec7cbae80c07a757791ab195b72f477 Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Tue, 15 Aug 2023 21:46:25 -0400 Subject: [PATCH 47/65] Add ScottoErgo Keyboard (#20944) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../scottokeebs/scottoergo/info.json | 76 ++++++++ .../scottoergo/keymaps/default/config.h | 23 +++ .../scottoergo/keymaps/default/keymap.c | 45 +++++ .../scottoergo/keymaps/scotto/config.h | 23 +++ .../scottoergo/keymaps/scotto/keymap.c | 174 ++++++++++++++++++ .../scottoergo/keymaps/scotto/rules.mk | 1 + .../scottokeebs/scottoergo/readme.md | 27 +++ .../handwired/scottokeebs/scottoergo/rules.mk | 1 + 8 files changed, 370 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottoergo/info.json create mode 100644 keyboards/handwired/scottokeebs/scottoergo/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/config.h create mode 100644 keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/rules.mk create mode 100644 keyboards/handwired/scottokeebs/scottoergo/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottoergo/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottoergo/info.json b/keyboards/handwired/scottokeebs/scottoergo/info.json new file mode 100644 index 000000000000..cc4fb126b6e3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/info.json @@ -0,0 +1,76 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoErgo", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": [ "GP0", "GP1", "GP2", "GP3", "GP4", "GP22", "GP21", "GP20", "GP19", "GP18"], + "rows": ["GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0016", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + + // Row 2 + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [1, 4], "x": 4, "y": 1 }, + { "matrix": [1, 5], "x": 5, "y": 1 }, + { "matrix": [1, 6], "x": 6, "y": 1 }, + { "matrix": [1, 7], "x": 7, "y": 1 }, + { "matrix": [1, 8], "x": 8, "y": 1 }, + { "matrix": [1, 9], "x": 9, "y": 1 }, + + // Row 3 + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [2, 4], "x": 4, "y": 2 }, + { "matrix": [2, 5], "x": 5, "y": 2 }, + { "matrix": [2, 6], "x": 6, "y": 2 }, + { "matrix": [2, 7], "x": 7, "y": 2 }, + { "matrix": [2, 8], "x": 8, "y": 2 }, + { "matrix": [2, 9], "x": 9, "y": 2 }, + + // Row 4 + { "matrix": [3, 2], "x": 2, "y": 3 }, + { "matrix": [3, 3], "x": 3, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 5], "x": 5, "y": 3 }, + { "matrix": [3, 6], "x": 6, "y": 3 }, + { "matrix": [3, 7], "x": 7, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/config.h new file mode 100644 index 000000000000..1a6512052c1d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c new file mode 100644 index 000000000000..451f48a96870 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2023 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LGUI, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/config.h new file mode 100644 index 000000000000..1a6512052c1d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/keymap.c new file mode 100644 index 000000000000..f4d0a0c7bba3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/keymap.c @@ -0,0 +1,174 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// Tap dance declarations +enum { + TD_LCTL_ESC_SPOTLIGHT_EMOJI, + TD_LALT_ESC_WINDOWS_EMOJI +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) : + case TD(TD_LALT_ESC_WINDOWS_EMOJI) : + case LGUI_T(KC_SPC) : + case LT(1, KC_TAB) : + case LT(2, KC_ENT) : + return 200; + default: + return TAPPING_TERM; + } +}; + +// Begin quad TD +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_SINGLE_TAP, + TD_DOUBLE_TAP, + TD_TRIPLE_TAP +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Create an instance of 'td_tap_t' for the 'x' tap dance. +static td_tap_t xtap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +td_state_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) { + return TD_SINGLE_TAP; + } else { + return TD_SINGLE_HOLD; + } + } else if (state->count == 2) { + return TD_DOUBLE_TAP; + } else if (state->count == 3) { + return TD_TRIPLE_TAP; + } + + return TD_UNKNOWN; +} + +void td_lctl_esc_spotlight_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: tap_code16(G(KC_SPC)); break; + case TD_TRIPLE_TAP: tap_code16(C(G(KC_SPC))); break; + default: break; + } +} + +void td_lctl_esc_spotlight_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_lalt_esc_windowr_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: tap_code(KC_LGUI); break; + case TD_TRIPLE_TAP: tap_code16(G(KC_DOT)); break; + default: break; + } +} + +void td_lalt_esc_windowr_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + default: break; + } + xtap_state.state = TD_NONE; +} + + // Tap Dance definitions +tap_dance_action_t tap_dance_actions[] = { + [TD_LCTL_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lctl_esc_spotlight_emoji_finished, td_lctl_esc_spotlight_emoji_reset), + [TD_LALT_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lalt_esc_windowr_emoji_finished, td_lalt_esc_windowr_emoji_reset), +}; +// For the x tap dance. Put it here so it can be used in any keymap +void x_finished(tap_dance_state_t *state, void *user_data); +void x_reset(tap_dance_state_t *state, void *user_data); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [1] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [2] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [3] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [4] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_LALT_ESC_WINDOWS_EMOJI) + ), + [5] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) + ), + [6] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) + ), + [7] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/rules.mk new file mode 100644 index 000000000000..e5ddcae8d927 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/keymaps/scotto/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottoergo/readme.md b/keyboards/handwired/scottokeebs/scottoergo/readme.md new file mode 100644 index 000000000000..8bbf388304ad --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/readme.md @@ -0,0 +1,27 @@ +# ScottoErgo + +![ScottoErgo](https://i.imgur.com/FtdSJRBh.jpg) + +A 36-key column staggered ortholinear ergonomic keyboard with an exposed controller, aviator connector for USB, 10° of tilt, and 20° of angle. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottoergo:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottoergo:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoergo/rules.mk b/keyboards/handwired/scottokeebs/scottoergo/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoergo/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 8be8d505c1856bec57cb2cc266f08239b329c29b Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Tue, 15 Aug 2023 21:46:34 -0400 Subject: [PATCH 48/65] Add Scotto34 Keyboard (#20943) Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com> Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- .../handwired/scottokeebs/scotto34/info.json | 74 +++++++ .../scotto34/keymaps/default/config.h | 22 ++ .../scotto34/keymaps/default/keymap.c | 45 ++++ .../scotto34/keymaps/scotto/config.h | 23 ++ .../scotto34/keymaps/scotto/keymap.c | 196 ++++++++++++++++++ .../scotto34/keymaps/scotto/rules.mk | 1 + .../handwired/scottokeebs/scotto34/readme.md | 29 +++ .../handwired/scottokeebs/scotto34/rules.mk | 0 8 files changed, 390 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scotto34/info.json create mode 100644 keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/config.h create mode 100644 keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/rules.mk create mode 100644 keyboards/handwired/scottokeebs/scotto34/readme.md create mode 100644 keyboards/handwired/scottokeebs/scotto34/rules.mk diff --git a/keyboards/handwired/scottokeebs/scotto34/info.json b/keyboards/handwired/scottokeebs/scotto34/info.json new file mode 100644 index 000000000000..6fcce38d709f --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/info.json @@ -0,0 +1,74 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "Scotto34", + "maintainer": "joe-scotto", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + "cols": ["GP3", "GP2", "GP7", "GP8", "GP13", "GP16", "GP17", "GP18", "GP19", "GP20"], + "rows": ["GP0", "GP4", "GP9", "GP14"] + }, + "processor": "RP2040", + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0013", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_2"], + "layouts": { + "LAYOUT_split_3x5_2": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + + // Row 2 + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [1, 4], "x": 4, "y": 1 }, + { "matrix": [1, 5], "x": 5, "y": 1 }, + { "matrix": [1, 6], "x": 6, "y": 1 }, + { "matrix": [1, 7], "x": 7, "y": 1 }, + { "matrix": [1, 8], "x": 8, "y": 1 }, + { "matrix": [1, 9], "x": 9, "y": 1 }, + + // Row 3 + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [2, 4], "x": 4, "y": 2 }, + { "matrix": [2, 5], "x": 5, "y": 2 }, + { "matrix": [2, 6], "x": 6, "y": 2 }, + { "matrix": [2, 7], "x": 7, "y": 2 }, + { "matrix": [2, 8], "x": 8, "y": 2 }, + { "matrix": [2, 9], "x": 9, "y": 2 }, + + // Row 4 + { "matrix": [3, 3], "x": 3, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 5], "x": 5, "y": 3 }, + { "matrix": [3, 6], "x": 6, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h new file mode 100644 index 000000000000..572a1b24ead9 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/config.h @@ -0,0 +1,22 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c new file mode 100644 index 000000000000..8231ad94fc05 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_2( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_split_3x5_2( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_split_3x5_2( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_split_3x5_2( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/config.h new file mode 100644 index 000000000000..1a6512052c1d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/keymap.c new file mode 100644 index 000000000000..f65f6aa17af9 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/keymap.c @@ -0,0 +1,196 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// Tap dance declarations +enum { + TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI, + TD_ESC_LCTL_LALT_WINDOWS_EMOJI +}; + +// Custom tapping term for multi function keys +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI) : + case TD(TD_ESC_LCTL_LALT_WINDOWS_EMOJI) : + case LGUI_T(KC_SPC) : + case LT(1, KC_SPC) : + case LT(1, KC_TAB) : + case LT(2, KC_ENT) : + return 200; + default: + return TAPPING_TERM; + } +}; + +// Begin quad TD +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_DOUBLE_HOLD, + TD_TRIPLE_HOLD, + TD_SINGLE_TAP, + TD_DOUBLE_TAP, + TD_TRIPLE_TAP +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Create an instance of 'td_tap_t' for the 'x' tap dance. +static td_tap_t xtap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +td_state_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) { + return TD_SINGLE_TAP; + } else { + return TD_SINGLE_HOLD; + } + } else if (state->count == 2) { + if (state->interrupted || !state->pressed) { + return TD_DOUBLE_TAP; + } else { + return TD_DOUBLE_HOLD; + } + } else if (state->count == 3) { + if (state->interrupted || !state->pressed) { + return TD_TRIPLE_TAP; + } else { + return TD_TRIPLE_HOLD; + } + } + + return TD_UNKNOWN; +} + +void td_esc_lalt_lctl_spotlight_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: tap_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: tap_code16(G(KC_SPC)); break; + case TD_TRIPLE_TAP: tap_code16(C(G(KC_SPC))); break; + default: break; + } +} + +void td_esc_lalt_lctl_spotlight_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LCTL); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_esc_lctl_lalt_windows_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: tap_code16(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: tap_code(KC_LGUI); break; + case TD_TRIPLE_TAP: tap_code16(G(KC_DOT)); break; + default: break; + } +} + +void td_esc_lctl_lalt_windows_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + case TD_DOUBLE_HOLD: unregister_code(KC_LALT); break; + default: break; + } + xtap_state.state = TD_NONE; +} + + // Tap Dance definitions +tap_dance_action_t tap_dance_actions[] = { + [TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_esc_lalt_lctl_spotlight_emoji_finished, td_esc_lalt_lctl_spotlight_emoji_reset), + [TD_ESC_LCTL_LALT_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_esc_lctl_lalt_windows_emoji_finished, td_esc_lctl_lalt_windows_emoji_reset) +}; +// For the x tap dance. Put it here so it can be used in any keymap +void x_finished(tap_dance_state_t *state, void *user_data); +void x_reset(tap_dance_state_t *state, void *user_data); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_2( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_ESC_LALT_LCTL_SPOTLIGHT_EMOJI), LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT) + ), + [1] = LAYOUT_split_3x5_2( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_split_3x5_2( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_split_3x5_2( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), TO(5), TO(4), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [4] = LAYOUT_split_3x5_2( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_ESC_LCTL_LALT_WINDOWS_EMOJI), KC_SPC, LT(6, KC_TAB), LT(7, KC_ENT) + ), + [5] = LAYOUT_split_3x5_2( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, KC_SLSH, + KC_LCTL, KC_SPC, LT(6, KC_TAB), LT(7, KC_ENT) + ), + [6] = LAYOUT_split_3x5_2( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [7] = LAYOUT_split_3x5_2( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(8), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [8] = LAYOUT_split_3x5_2( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), TO(5), TO(0), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/rules.mk new file mode 100644 index 000000000000..e5ddcae8d927 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/keymaps/scotto/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scotto34/readme.md b/keyboards/handwired/scottokeebs/scotto34/readme.md new file mode 100644 index 000000000000..88e9185ec20c --- /dev/null +++ b/keyboards/handwired/scottokeebs/scotto34/readme.md @@ -0,0 +1,29 @@ +# Scotto34 + +![Scotto34](https://i.imgur.com/BkpEBQjh.jpg) + +A low-profile 34-key split monoblock ortholinear keyboard that uses 18x17mm spaced Choc switches and an exposed controller in the middle. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: RP2040 +* Hardware Availability: [Amazon](https://amazon.com) + +# Compiling + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scotto34:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scotto34:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scotto34/rules.mk b/keyboards/handwired/scottokeebs/scotto34/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 From 50ab2305557a5ac47f79136055b227db52dc550d Mon Sep 17 00:00:00 2001 From: Joe Scotto <8194147+joe-scotto@users.noreply.github.com> Date: Tue, 15 Aug 2023 21:46:42 -0400 Subject: [PATCH 49/65] Add ScottoInvader Keyboard (#20941) Co-authored-by: Ryan --- .../scottokeebs/scottoinvader/info.json | 78 ++++++++ .../scottoinvader/keymaps/default/config.h | 23 +++ .../scottoinvader/keymaps/default/keymap.c | 45 +++++ .../scottoinvader/keymaps/scotto/config.h | 23 +++ .../scottoinvader/keymaps/scotto/keymap.c | 174 ++++++++++++++++++ .../scottoinvader/keymaps/scotto/rules.mk | 1 + .../scottokeebs/scottoinvader/readme.md | 27 +++ .../scottokeebs/scottoinvader/rules.mk | 1 + 8 files changed, 372 insertions(+) create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/info.json create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/config.h create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/config.h create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/keymap.c create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/rules.mk create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/readme.md create mode 100644 keyboards/handwired/scottokeebs/scottoinvader/rules.mk diff --git a/keyboards/handwired/scottokeebs/scottoinvader/info.json b/keyboards/handwired/scottokeebs/scottoinvader/info.json new file mode 100644 index 000000000000..89a4fca4b487 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/info.json @@ -0,0 +1,78 @@ +{ + "manufacturer": "ScottoKeebs", + "keyboard_name": "ScottoInvader", + "maintainer": "joe-scotto", + "development_board": "promicro", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "matrix_pins": { + // 3, 4, 5, 6, 7, 8, 9, A3, A2, A1 + "cols": ["D0", "D4", "C6", "D7", "E6", "B4", "B5", "F4", "F5", "F6"] + + // 15, 14, 16, 10 + "rows": ["B1", "B3", "B2", "B6"] + }, + "url": "https://scottokeebs.com", + "usb": { + "device_version": "1.0.0", + "pid": "0x0010", + "vid": "0xFEED" + }, + "community_layouts": ["split_3x5_3"], + "layouts": { + "LAYOUT_split_3x5_3": { + "layout": [ + // Row 1 + { "matrix": [0, 0], "x": 0, "y": 0 }, + { "matrix": [0, 1], "x": 1, "y": 0 }, + { "matrix": [0, 2], "x": 2, "y": 0 }, + { "matrix": [0, 3], "x": 3, "y": 0 }, + { "matrix": [0, 4], "x": 4, "y": 0 }, + { "matrix": [0, 5], "x": 5, "y": 0 }, + { "matrix": [0, 6], "x": 6, "y": 0 }, + { "matrix": [0, 7], "x": 7, "y": 0 }, + { "matrix": [0, 8], "x": 8, "y": 0 }, + { "matrix": [0, 9], "x": 9, "y": 0 }, + + // Row 2 + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [1, 4], "x": 4, "y": 1 }, + { "matrix": [1, 5], "x": 5, "y": 1 }, + { "matrix": [1, 6], "x": 6, "y": 1 }, + { "matrix": [1, 7], "x": 7, "y": 1 }, + { "matrix": [1, 8], "x": 8, "y": 1 }, + { "matrix": [1, 9], "x": 9, "y": 1 }, + + // Row 3 + { "matrix": [2, 0], "x": 0, "y": 2 }, + { "matrix": [2, 1], "x": 1, "y": 2 }, + { "matrix": [2, 2], "x": 2, "y": 2 }, + { "matrix": [2, 3], "x": 3, "y": 2 }, + { "matrix": [2, 4], "x": 4, "y": 2 }, + { "matrix": [2, 5], "x": 5, "y": 2 }, + { "matrix": [2, 6], "x": 6, "y": 2 }, + { "matrix": [2, 7], "x": 7, "y": 2 }, + { "matrix": [2, 8], "x": 8, "y": 2 }, + { "matrix": [2, 9], "x": 9, "y": 2 }, + + // Row 4 + { "matrix": [3, 2], "x": 2, "y": 3 }, + { "matrix": [3, 3], "x": 3, "y": 3 }, + { "matrix": [3, 4], "x": 4, "y": 3 }, + { "matrix": [3, 5], "x": 5, "y": 3 }, + { "matrix": [3, 6], "x": 6, "y": 3 }, + { "matrix": [3, 7], "x": 7, "y": 3 } + ] + } + } +} diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/config.h b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/config.h new file mode 100644 index 000000000000..1a6512052c1d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c new file mode 100644 index 000000000000..2633845d509e --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/default/keymap.c @@ -0,0 +1,45 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_BSPC, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + KC_LGUI, KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), KC_ESC + ), + [1] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [2] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + [3] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/config.h b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/config.h new file mode 100644 index 000000000000..1a6512052c1d --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/config.h @@ -0,0 +1,23 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +// Define options +#define TAPPING_TERM 135 +#define PERMISSIVE_HOLD +#define TAPPING_TERM_PER_KEY diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/keymap.c b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/keymap.c new file mode 100644 index 000000000000..f4d0a0c7bba3 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/keymap.c @@ -0,0 +1,174 @@ +/* +Copyright 2022 Joe Scotto + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include QMK_KEYBOARD_H + +// Tap dance declarations +enum { + TD_LCTL_ESC_SPOTLIGHT_EMOJI, + TD_LALT_ESC_WINDOWS_EMOJI +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) : + case TD(TD_LALT_ESC_WINDOWS_EMOJI) : + case LGUI_T(KC_SPC) : + case LT(1, KC_TAB) : + case LT(2, KC_ENT) : + return 200; + default: + return TAPPING_TERM; + } +}; + +// Begin quad TD +typedef enum { + TD_NONE, + TD_UNKNOWN, + TD_SINGLE_HOLD, + TD_SINGLE_TAP, + TD_DOUBLE_TAP, + TD_TRIPLE_TAP +} td_state_t; + +typedef struct { + bool is_press_action; + td_state_t state; +} td_tap_t; + +// Create an instance of 'td_tap_t' for the 'x' tap dance. +static td_tap_t xtap_state = { + .is_press_action = true, + .state = TD_NONE +}; + +td_state_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + if (state->interrupted || !state->pressed) { + return TD_SINGLE_TAP; + } else { + return TD_SINGLE_HOLD; + } + } else if (state->count == 2) { + return TD_DOUBLE_TAP; + } else if (state->count == 3) { + return TD_TRIPLE_TAP; + } + + return TD_UNKNOWN; +} + +void td_lctl_esc_spotlight_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LCTL); break; + case TD_DOUBLE_TAP: tap_code16(G(KC_SPC)); break; + case TD_TRIPLE_TAP: tap_code16(C(G(KC_SPC))); break; + default: break; + } +} + +void td_lctl_esc_spotlight_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LCTL); break; + default: break; + } + xtap_state.state = TD_NONE; +} + +void td_lalt_esc_windowr_emoji_finished(tap_dance_state_t *state, void *user_data) { + xtap_state.state = cur_dance(state); + switch (xtap_state.state) { + case TD_SINGLE_TAP: register_code(KC_ESC); break; + case TD_SINGLE_HOLD: register_code(KC_LALT); break; + case TD_DOUBLE_TAP: tap_code(KC_LGUI); break; + case TD_TRIPLE_TAP: tap_code16(G(KC_DOT)); break; + default: break; + } +} + +void td_lalt_esc_windowr_emoji_reset(tap_dance_state_t *state, void *user_data) { + switch (xtap_state.state) { + case TD_SINGLE_TAP: unregister_code(KC_ESC); break; + case TD_SINGLE_HOLD: unregister_code(KC_LALT); break; + default: break; + } + xtap_state.state = TD_NONE; +} + + // Tap Dance definitions +tap_dance_action_t tap_dance_actions[] = { + [TD_LCTL_ESC_SPOTLIGHT_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lctl_esc_spotlight_emoji_finished, td_lctl_esc_spotlight_emoji_reset), + [TD_LALT_ESC_WINDOWS_EMOJI] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, td_lalt_esc_windowr_emoji_finished, td_lalt_esc_windowr_emoji_reset), +}; +// For the x tap dance. Put it here so it can be used in any keymap +void x_finished(tap_dance_state_t *state, void *user_data); +void x_reset(tap_dance_state_t *state, void *user_data); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), LT(1, KC_TAB), LT(2, KC_ENT), TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [1] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [2] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [3] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(4), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI), KC_LALT, LGUI_T(KC_SPC), KC_TRNS, KC_TRNS, TD(TD_LCTL_ESC_SPOTLIGHT_EMOJI) + ), + [4] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_BSPC, + KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, + LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMMA, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, LT(5, KC_TAB), LT(6, KC_ENT), TD(TD_LALT_ESC_WINDOWS_EMOJI) + ), + [5] = LAYOUT_split_3x5_3( + KC_UNDS, KC_MINS, KC_PLUS, KC_EQL, KC_COLN, KC_GRV, KC_MRWD, KC_MPLY, KC_MFFD, KC_DEL, + KC_LCBR, KC_LPRN, KC_RPRN, KC_RCBR, KC_PIPE, KC_ESC, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, + LSFT_T(KC_LBRC), KC_QUOT, KC_DQUO, KC_RBRC, KC_SCLN, KC_TILDE, KC_VOLD, KC_MUTE, KC_VOLU, RSFT_T(KC_BSLS), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) + ), + [6] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_CAPS, KC_BSPC, + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_LSFT, KC_NO, KC_NO, KC_NO, MO(7), KC_NO, KC_NO, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) + ), + [7] = LAYOUT_split_3x5_3( + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TO(0), + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_NO, KC_NO, QK_BOOT, KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_F12, + TD(TD_LALT_ESC_WINDOWS_EMOJI), KC_LCTL, KC_SPC, KC_TRNS, KC_TRNS, TD(TD_LALT_ESC_WINDOWS_EMOJI) + ) +}; \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/rules.mk b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/rules.mk new file mode 100644 index 000000000000..e5ddcae8d927 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/keymaps/scotto/rules.mk @@ -0,0 +1 @@ +TAP_DANCE_ENABLE = yes diff --git a/keyboards/handwired/scottokeebs/scottoinvader/readme.md b/keyboards/handwired/scottokeebs/scottoinvader/readme.md new file mode 100644 index 000000000000..c04920498a86 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/readme.md @@ -0,0 +1,27 @@ +# ScottoInvader + +![ScottoInvader](https://i.imgur.com/rXssnx7h.jpeg) + +A 36-key column-staggered ortholinear keyboard. Case files available [here](https://github.com/joe-scotto/scottokeebs). + +* Keyboard Maintainer: [Joe Scotto](https://github.com/joe-scotto) +* Hardware Supported: ATmega32U4 +* Hardware Availability: [Amazon](https://amazon.com) + +Make example for this keyboard (after setting up your build environment): + + make handwired/scottokeebs/scottoinvader:default + +Flashing example for this keyboard: + + make handwired/scottokeebs/scottoinvader:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available \ No newline at end of file diff --git a/keyboards/handwired/scottokeebs/scottoinvader/rules.mk b/keyboards/handwired/scottokeebs/scottoinvader/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/handwired/scottokeebs/scottoinvader/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From dea2d9476994fad713b3505d034a133b1c467c9f Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 16 Aug 2023 17:06:42 +1000 Subject: [PATCH 50/65] coarse/cordillera: fix backlight config (#21761) --- keyboards/coarse/cordillera/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/coarse/cordillera/config.h b/keyboards/coarse/cordillera/config.h index ef26abfc02f5..4282937c7cdc 100644 --- a/keyboards/coarse/cordillera/config.h +++ b/keyboards/coarse/cordillera/config.h @@ -19,7 +19,6 @@ along with this program. If not, see . #define BACKLIGHT_PWM_DRIVER PWMD1 #define BACKLIGHT_PWM_CHANNEL 1 -#define BACKLIGHT_PAL_MODE 1 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE From 190738c66d184c865f0bb035c49050c3a1e85787 Mon Sep 17 00:00:00 2001 From: Powered by Porridge <11315349+PoweredByPorridge@users.noreply.github.com> Date: Wed, 16 Aug 2023 09:01:11 +0100 Subject: [PATCH 51/65] The PoweredByPorridge layout for the Keyboardio Atreus (#21737) Co-authored-by: jack <0x6a73@protonmail.com> --- .../atreus/keymaps/poweredbyporridge/config.h | 45 ++++ .../atreus/keymaps/poweredbyporridge/keymap.c | 224 ++++++++++++++++++ .../keymaps/poweredbyporridge/readme.md | 35 +++ .../atreus/keymaps/poweredbyporridge/rules.mk | 7 + 4 files changed, 311 insertions(+) create mode 100644 keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h create mode 100644 keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c create mode 100644 keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md create mode 100644 keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h new file mode 100644 index 000000000000..0fa53c2d6786 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/config.h @@ -0,0 +1,45 @@ +/* Copyright 2023 @PoweredByPorridge + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define AUTO_SHIFT_TIMEOUT 210 + +#define NO_AUTO_SHIFT_NUMERIC +// #define NO_AUTO_SHIFT_SPECIAL + +// retro shift is auto shift on home row mods +// I no longer use home row mods, but do find this setting helps +// avoid 'fat fingered' keypresses. + +// If RETRO_SHIFT is defined to a value, hold times greater +// than that value will not produce a tap on release. This enables +// modifiers to be held for combining with mouse clicks without +// generating taps on release. +#define RETRO_SHIFT 425 + +// can also be defined without a value +// #define RETRO_SHIFT + +// Configure the global tapping term (default: 200ms) +// Lower than 210 and I can't tap dance brackets without a run up. +#define TAPPING_TERM 210 + +#define TAPPING_TERM_PER_KEY + +// Apply the modifier on keys that are tapped during a short hold of a modtap +// Prevents slurred typing (of home row mods) +#define PERMISSIVE_HOLD diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c new file mode 100644 index 000000000000..40c8b0b5aadf --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/keymap.c @@ -0,0 +1,224 @@ +/* Copyright 2023 @PoweredByPorridge + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Tap Dance keycodes +enum td_keycodes { + L_BRAX, // Used in the keymap, add additional keycodes for each tapdance. + R_BRAX, + QUOTS, + TACHE +}; + +// Define a type containing as many tapdance states as you need +typedef enum { + SINGLE_TAP, + DOUBLE_TAP, // SINGLE_HOLD, + TRIPLE_TAP // DOUBLE_SINGLE_TAP +} td_state_t; + +// Create a global instance of the tapdance state type +static td_state_t td_state; + +// Declare your tapdance functions: + +// Function to determine the current tapdance state +uint8_t cur_dance(tap_dance_state_t *state); + +// `finished` and `reset` functions for each tapdance keycode +void lbrax_finished(tap_dance_state_t *state, void *user_data); +void lbrax_reset(tap_dance_state_t *state, void *user_data); + +void rbrax_finished(tap_dance_state_t *state, void *user_data); +void rbrax_reset(tap_dance_state_t *state, void *user_data); + +void quots_finished(tap_dance_state_t *state, void *user_data); +void quots_reset(tap_dance_state_t *state, void *user_data); + +void tache_finished(tap_dance_state_t *state, void *user_data); +void tache_reset(tap_dance_state_t *state, void *user_data); + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_NUBS, KC_SLSH, KC_N, KC_M, KC_COMM, KC_DOT, KC_ENT, + LCTL_T(KC_ESC), KC_LALT, KC_LGUI, KC_LSFT, MO(1), KC_SPC, KC_SPC, MO(2), TD(QUOTS), KC_RSFT, KC_LALT, LCTL_T(KC_TAB)), + + [1] = LAYOUT(KC_EXLM, KC_DQUO, LSFT(KC_3), KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_DEL, KC_BSPC, + KC_F24, LALT(KC_F3), KC_NO, KC_NO, TD(L_BRAX), TD(R_BRAX), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, + LCTL(KC_F12), LALT(KC_X), KC_NO, KC_NO, KC_NO, TD(QUOTS), TD(TACHE), KC_MINS, KC_EQL, KC_COMM, KC_DOT, KC_ENT, + KC_TRNS, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, LSFT(KC_TAB)), + + [2] = LAYOUT(KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_NO, LALT(KC_F3), KC_NO, KC_NO, TD(L_BRAX), TD(R_BRAX), KC_HOME, KC_PGDN, KC_PGUP, KC_END, + LCTL(KC_F12), LALT(KC_X), KC_NO, KC_NO, KC_NO, TD(QUOTS), TD(TACHE), KC_MINS, KC_EQL, KC_COMM, KC_DOT, KC_NO, + KC_TRNS, KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_NO, MO(3), KC_NO, KC_NO, KC_TRNS), + + [3] = LAYOUT(KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + AS_TOGG, KC_F24, KC_NO, KC_NO, KC_NO, KC_NO, LSA(KC_LEFT), LSA(KC_DOWN), LSA(KC_UP), LSA(KC_RGHT), + KC_LCTL, LALT(KC_DEL),KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLU, KC_NO, KC_F12, KC_F13, KC_F14, KC_NO, + KC_TRNS, KC_F23, KC_LCTL, KC_NO, KC_TRNS, KC_NO, KC_VOLD, KC_MPLY, KC_LSFT, KC_NO, KC_NO, KC_TRNS) +}; + +/* +Notes on keys +or, why on earth do I have keymap +lower-shift-z is CTRL-F12 - Darkroom mode in emacs +lower-x is ALT-X - emacs +layer3-a is toggle autoshift +layer3-s is F24 - i3 controls popup reminder +lower-s is ALT-F3 - multi-select in Sublime text +*/ + + +// Determine the tapdance state to return +uint8_t cur_dance(tap_dance_state_t *state) { + if (state->count == 1) { + return SINGLE_TAP; + } else if (state->count == 2) { + return DOUBLE_TAP; + } else if (state->count == 3) { + return TRIPLE_TAP; + } else { + reset_tap_dance (state); + return 3; + } +} + + +// Handle the possible states for each tapdance keycode you define: + +void lbrax_finished(tap_dance_state_t *state, void *user_data) { + td_state = cur_dance(state); + switch (td_state) { + case SINGLE_TAP: + register_code16(LSFT(KC_9)); + break; + case DOUBLE_TAP: + register_code16(KC_LBRC); + break; + case TRIPLE_TAP: + register_code16(LSFT(KC_LBRC)); + } +} + +void lbrax_reset(tap_dance_state_t *state, void *user_data) { + switch (td_state) { + case SINGLE_TAP: + unregister_code16(LSFT(KC_9)); + break; + case DOUBLE_TAP: + unregister_code16(KC_LBRC); + break; + case TRIPLE_TAP: + unregister_code16(LSFT(KC_LBRC)); + } +} + +// Handle the possible states for each tapdance keycode you define: + +void rbrax_finished(tap_dance_state_t *state, void *user_data) { + td_state = cur_dance(state); + switch (td_state) { + case SINGLE_TAP: + register_code16(LSFT(KC_0)); + break; + case DOUBLE_TAP: + register_code16(KC_RBRC); + break; + case TRIPLE_TAP: + register_code16(LSFT(KC_RBRC)); + } +} + + +void rbrax_reset(tap_dance_state_t *state, void *user_data) { + switch (td_state) { + case SINGLE_TAP: + unregister_code16(LSFT(KC_0)); + break; + case DOUBLE_TAP: + unregister_code16(KC_RBRC); + break; + case TRIPLE_TAP: + unregister_code16(LSFT(KC_RBRC)); + } +} + +void quots_finished(tap_dance_state_t *state, void *user_data) { + td_state = cur_dance(state); + switch (td_state) { + case SINGLE_TAP: + register_code16(KC_QUOT); + break; + case DOUBLE_TAP: + register_code16(KC_AT); + break; + case TRIPLE_TAP: + register_code16(KC_DQUO); + } +} + +void quots_reset(tap_dance_state_t *state, void *user_data) { + switch (td_state) { + case SINGLE_TAP: + unregister_code16(KC_QUOT); + break; + case DOUBLE_TAP: + unregister_code16(KC_AT); + break; + case TRIPLE_TAP: + unregister_code16(KC_DQUO); + } +} + +void tache_finished(tap_dance_state_t *state, void *user_data) { + td_state = cur_dance(state); + switch (td_state) { + case SINGLE_TAP: + register_code16(KC_NUHS); + break; + case DOUBLE_TAP: + + register_code16(LSFT(KC_NUHS)); + break; + case TRIPLE_TAP: + register_code16(KC_GRV); + } +} + +void tache_reset(tap_dance_state_t *state, void *user_data) { + switch (td_state) { + case SINGLE_TAP: + unregister_code16(KC_NUHS); + break; + case DOUBLE_TAP: + unregister_code16(LSFT(KC_NUHS)); + break; + case TRIPLE_TAP: + unregister_code16(KC_GRV); + } +} + +// Define `ACTION_TAP_DANCE_FN_ADVANCED()` for each tapdance keycode, passing in `finished` and `reset` functions + +tap_dance_action_t tap_dance_actions[] = { + [L_BRAX] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, lbrax_finished, lbrax_reset), + [R_BRAX] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, rbrax_finished, rbrax_reset), + [QUOTS] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, quots_finished, quots_reset), + [TACHE] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, tache_finished, tache_reset) +}; diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md new file mode 100644 index 000000000000..619654186deb --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/readme.md @@ -0,0 +1,35 @@ +# Keyboardio Atreus with an SLF layout from PoweredByPorridge + +SLF stands for [Stiff Little Fingers](https://en.wikipedia.org/wiki/Stiff_Little_Fingers) who were a great punk band from Belfast, Northern Ireland. Stiff Little Fingers is also a good way of describing my hands, a condition which I ascribe to too many winters cycling without gloves. So, I need a keyboard and layout to cope. + +I use a Keyboardio Atreus, in fact, they're so good, I use two. I tried all sorts of layouts, and finally came up with the one that suits my stiff fingers. + +It has four layers: + +0 - Normal - letters and punctuation. + +![layer 0](https://i.imgur.com/3Z8PZtI.png) + +1 - Symbols (shifted numbers), arrow keys, assorted function keys, Del and Backspace. + +![layer 1](https://i.imgur.com/9rJalxV.png) + +2 - Numbers, page up, page down, home, and end. Similar assorted functions. + +![layer 2](https://i.imgur.com/TYY11b5.png) + +3 - F1 to F14, play/pause, volume up/down, Left-shift-Alt left, right, up, down. + +![layer 3](https://i.imgur.com/MuWNPTz.png) + +Autoshift is important, I use it all the time. + +I use tap dance (one, two, or three key presses) for: + +* Braces, brackets, and curly brackets. TD(L_BRAX) and TD(R_BRAX) +* Hash (pound), tilde, and backtick. TD(TACHE) +* Single quote, double quote, and @. TD(QUOTS) + +There are odd keys that are there for a particular reason: +* F24 - my [I3](https://i3wm.org/) popup to remind me of stuff I always forget. +* Alt-shift-left/right/up/down - multi-select in Sublime text. \ No newline at end of file diff --git a/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk new file mode 100644 index 000000000000..3285414f97d2 --- /dev/null +++ b/keyboards/keyboardio/atreus/keymaps/poweredbyporridge/rules.mk @@ -0,0 +1,7 @@ +BOOTMAGIC_ENABLE = no +MOUSEKEY_ENABLE = no +CONSOLE_ENABLE = no +COMMAND_ENABLE = no +UNICODE_ENABLE = no +AUTO_SHIFT_ENABLE = yes +TAP_DANCE_ENABLE = yes From 89a30efd2ddd017ab00ea3552086f3f551cce77c Mon Sep 17 00:00:00 2001 From: squigglybob Date: Thu, 17 Aug 2023 03:33:11 +0100 Subject: [PATCH 52/65] [Keymap] add squigglybob splitkb kyria rev2 keymap (#21751) Co-authored-by: Duncan Sutherland Co-authored-by: jack <0x6a73@protonmail.com> --- .../kyria/keymaps/squigglybob/config.h | 35 ++ .../kyria/keymaps/squigglybob/keymap.c | 315 ++++++++++++++++++ .../kyria/keymaps/squigglybob/rules.mk | 2 + 3 files changed, 352 insertions(+) create mode 100755 keyboards/splitkb/kyria/keymaps/squigglybob/config.h create mode 100755 keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c create mode 100755 keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk diff --git a/keyboards/splitkb/kyria/keymaps/squigglybob/config.h b/keyboards/splitkb/kyria/keymaps/squigglybob/config.h new file mode 100755 index 000000000000..5ed5c847939c --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/squigglybob/config.h @@ -0,0 +1,35 @@ +/* Copyright 2022 Thomas Baart + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_CHRISTMAS +# define RGBLIGHT_EFFECT_STATIC_GRADIENT +# define RGBLIGHT_EFFECT_RGB_TEST +# define RGBLIGHT_EFFECT_ALTERNATING +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 150 +#endif + +#define TAPPING_TOGGLE 2 // can double tap into a layer if set using TT +#define TAPPING_TERM 175 diff --git a/keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c b/keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c new file mode 100755 index 000000000000..2b5df2a8f5a6 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/squigglybob/keymap.c @@ -0,0 +1,315 @@ +/* Copyright 2019 Thomas Baart **This program is free software : you can redistribute it and / or modify *it under the terms of the GNU General Public License as published by *the Free Software Foundation, either version 2 of the License, or *(at your option)any later version.**This program is distributed in the hope that it will be useful, *but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +enum layers { + _DVERTY = 0, + _QWERTY, + _DVORAK, + _NAV, + _SYM, + _SYM_DVERTY, + _FUNCTION, + _ADJUST, +}; + +// Aliases for readability +#define QWERTY DF(_QWERTY) +#define DVERTY DF(_DVERTY) +#define DVORAK DF(_DVORAK) + +#define SYM MO(_SYM) +#define SYM_DVERTY MO(_SYM_DVERTY) +#define NAV MO(_NAV) +#define FKEYS MO(_FUNCTION) +#define ADJUST MO(_ADJUST) + +#define CTL_ESC MT(MOD_LCTL, KC_ESC) +#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) +#define CTL_MINS MT(MOD_RCTL, KC_MINUS) +#define ALT_ENT MT(MOD_LALT, KC_ENT) +#define CTL_ENT MT(MOD_LCTL, KC_ENT) +#define SFT_SPC MT(MOD_LSFT, KC_SPC) +#define ALT KC_LEFT_ALT + +#define UK_BKSL KC_NUBS // UK backslash +#define UK_PIPE S(UK_BKSL) // UK pipe symbol +#define DV_AT S(KC_Q) // Dvorak @ symbol + +// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. +// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and +// produces the key `tap` when tapped (i.e. pressed and released) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * Base Layer: QWERTY (default map) + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + * | | | Enter| | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_QWERTY] = LAYOUT( + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, + CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, + ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP + ), + +/* + * Base Layer: DVERTY (a qwerty layout keyboard optimised for a system running UK dvorak) + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | { [ |CapsLk| |F-keys| } ] | N | M | , < | . > | / ? | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt |Space/| Nav | | Sym |Enter/| RGUI | AltGr| Menu | + * | | | |LShift| | | | Ctrl | | | | + * `----------------------------------' `----------------------------------' + */ + [_DVERTY] = LAYOUT( + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, + CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L , KC_SCLN, CTL_QUOT, + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_MINS,KC_CAPS, FKEYS , KC_EQL , KC_N, KC_M , KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, + ADJUST , KC_LGUI, ALT , SFT_SPC ,NAV, SYM_DVERTY, CTL_ENT , KC_RGUI,KC_RALT,KC_APP + ), + +/* + * Base Layer: Dvorak + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + * | | | Enter| | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_DVORAK] = LAYOUT( + KC_TAB ,KC_QUOTE,KC_COMM, KC_DOT, KC_P , KC_Y , KC_F, KC_G , KC_C , KC_R , KC_L , KC_BSPC, + CTL_ESC , KC_A , KC_O , KC_E , KC_U , KC_I , KC_D, KC_H , KC_T , KC_N , KC_S , CTL_MINS, + KC_LSFT ,KC_SCLN, KC_Q , KC_J , KC_K , KC_X , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_B, KC_M , KC_W , KC_V , KC_Z , KC_RSFT, + ADJUST, KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP + ), + +/* + * Nav Layer: Media, navigation + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_NAV] = LAYOUT( + _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, + _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, + _______, _______, _______, _______, _______, _______, _______, KC_SCRL, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Sym Layer: Numbers and symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | \ | : | ; | - | [ | { | | | | } | ] | _ | , | . | / | ? | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_SYM] = LAYOUT( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , + KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, + KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_LBRC, KC_LCBR, _______, _______, KC_RCBR, KC_RBRC, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Sym Layer: Numbers and symbols for Dverty layout + * + * ,-------------------------------------------. ,-------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ~ | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | CTRL | ! | " | £ | $ | % | | ^ | & | * | ( | ) | # | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | SHIFT | \ | = | + | [ | { | | | | | | } | ] | / | ? | | | @ | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | / | ? | | layer| | | | | + * | | | | | | | off | | | | | + * `----------------------------------' `----------------------------------' + */ + [_SYM_DVERTY] = LAYOUT( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_PIPE , + CTL_ESC, KC_EXLM , KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSLS, + KC_LSFT , UK_BKSL, KC_RBRC, KC_RCBR, KC_MINS, KC_UNDS, _______, _______, _______, _______, KC_PLUS, KC_EQL, KC_LBRC, KC_LCBR, UK_PIPE, DV_AT, + _______, _______, _______, KC_LBRC, KC_LCBR, _______, _______, _______, _______, _______ + ), + +/* + * Function Layer: Function keys + * + * ,-------------------------------------------. ,-------------------------------------------. + * | F1 | F2 | F3 | F4 | F5 | F6 | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | F7 | F8 | F9 | F10 | F11 | F12 | | | Shift| Ctrl | Alt | GUI | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_FUNCTION] = LAYOUT( + 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_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, + _______, _______ , _______ , _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Adjust Layer: Default layer settings, RGB + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | |QWERTY| | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_ADJUST] = LAYOUT( + _______, _______, _______, QWERTY , _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, DVERTY , _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, + _______, _______, _______, DVORAK, _______, _______,_______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, + _______, _______, _______,_______, _______, _______, _______, _______, _______, _______ + ), + +// /* +// * Layer template +// * +// * ,-------------------------------------------. ,-------------------------------------------. +// * | | | | | | | | | | | | | | +// * |--------+------+------+------+------+------| |------+------+------+------+------+--------| +// * | | | | | | | | | | | | | | +// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +// * | | | | | | | | | | | | | | | | | | +// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' +// * | | | | | | | | | | | | +// * | | | | | | | | | | | | +// * `----------------------------------' `----------------------------------' +// */ +// [_LAYERINDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// ), +}; + +/* The default OLED and rotary encoder code can be found at the bottom of qmk_firmware/keyboards/splitkb/kyria/rev1/rev1.c + * These default settings can be overriden by your own settings in your keymap.c + * For your convenience, here's a copy of those settings so that you can uncomment them if you wish to apply your own modifications. + * DO NOT edit the rev1.c file; instead override the weakly defined default functions by your own. + */ + +#ifdef OLED_ENABLE +oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } + +bool oled_task_user(void) { + if (is_keyboard_master()) { + // QMK Logo and version information + // clang-format off + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; + // clang-format on + + oled_write_P(qmk_logo, false); + oled_write_P(PSTR("Kyria rev2\n\n"), false); + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state|default_layer_state)) { + case _QWERTY: + oled_write_P(PSTR("QWERTY\n"), false); + break; + case _DVORAK: + oled_write_P(PSTR("Dvorak\n"), false); + break; + case _DVERTY: + oled_write_P(PSTR("Dverty\n"), false); + break; + case _NAV: + oled_write_P(PSTR("Nav\n"), false); + break; + case _SYM_DVERTY: + oled_write_P(PSTR("Sym\n"), false); + break; + case _SYM: + oled_write_P(PSTR("Sym\n"), false); + break; + case _FUNCTION: + oled_write_P(PSTR("Function\n"), false); + break; + case _ADJUST: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + + // Write host Keyboard LED Status to OLEDs + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + } else { + // clang-format off + static const char PROGMEM kyria_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + // clang-format on + oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); + } + return false; +} +#endif diff --git a/keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk b/keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk new file mode 100755 index 000000000000..7de296873afb --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/squigglybob/rules.mk @@ -0,0 +1,2 @@ +ENCODER_ENABLE = no +RGBLIGHT_ENABLE = yes From 96d90a57d8a536667b3365b8250e6fd1a307a829 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Thu, 17 Aug 2023 17:39:16 -0700 Subject: [PATCH 53/65] [Bug] Fix compilation error for APA on ChibiOS (#21773) --- drivers/led/apa102.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c index 5cfa2f8c320e..766d8cd2eb7e 100644 --- a/drivers/led/apa102.c +++ b/drivers/led/apa102.c @@ -22,8 +22,8 @@ # if defined(__AVR__) # define APA102_NOPS 0 // AVR at 16 MHz already spends 62.5 ns per clock, so no extra delay is needed # elif defined(PROTOCOL_CHIBIOS) - # include "hal.h" +# include "chibios_config.h" # if defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) || defined(STM32F4XX) || defined(STM32L0XX) || defined(GD32VF103) # define APA102_NOPS (100 / (1000000000L / (CPU_CLOCK / 4))) // This calculates how many loops of 4 nops to run to delay 100 ns # else From d91857d5bb88b08696902afbd6a773edecacefd3 Mon Sep 17 00:00:00 2001 From: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Sat, 19 Aug 2023 15:24:06 -0600 Subject: [PATCH 54/65] Add Galatea rev3 keyboard (#21758) --- keyboards/studiokestra/galatea/readme.md | 1 + keyboards/studiokestra/galatea/rev2/config.h | 20 - keyboards/studiokestra/galatea/rev2/info.json | 18 +- keyboards/studiokestra/galatea/rev3/info.json | 374 ++++++++++++++++++ .../galatea/rev3/keymaps/default/keymap.c | 38 ++ .../galatea/rev3/keymaps/via/keymap.c | 40 ++ .../galatea/rev3/keymaps/via/rules.mk | 1 + keyboards/studiokestra/galatea/rev3/rules.mk | 1 + 8 files changed, 472 insertions(+), 21 deletions(-) delete mode 100644 keyboards/studiokestra/galatea/rev2/config.h create mode 100644 keyboards/studiokestra/galatea/rev3/info.json create mode 100644 keyboards/studiokestra/galatea/rev3/keymaps/default/keymap.c create mode 100644 keyboards/studiokestra/galatea/rev3/keymaps/via/keymap.c create mode 100644 keyboards/studiokestra/galatea/rev3/keymaps/via/rules.mk create mode 100644 keyboards/studiokestra/galatea/rev3/rules.mk diff --git a/keyboards/studiokestra/galatea/readme.md b/keyboards/studiokestra/galatea/readme.md index 580815fa6304..d336855bc263 100644 --- a/keyboards/studiokestra/galatea/readme.md +++ b/keyboards/studiokestra/galatea/readme.md @@ -9,6 +9,7 @@ TKL H87/88c compatible PCB with support for the most common layouts. * Hardware Availability: https://RNDKBD.com; https://geon.works/ * Rev1 firmware is used for Galatea PCBs with no RGB underglow. * Rev2 firmware is used for Galatea PCBs with RGB underglow. +* Rev3 firmware is used for Galatea PCBs with RP2040 chip w/ RGB underglow. Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/studiokestra/galatea/rev2/config.h b/keyboards/studiokestra/galatea/rev2/config.h deleted file mode 100644 index 7199179a4dee..000000000000 --- a/keyboards/studiokestra/galatea/rev2/config.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2023 studiokestra (@studiokestra) -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define RGBLED_NUM 24 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 -#define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ -#define RGBLIGHT_EFFECT_BREATHING -#define RGBLIGHT_EFFECT_RAINBOW_MOOD -#define RGBLIGHT_EFFECT_RAINBOW_SWIRL -#define RGBLIGHT_EFFECT_SNAKE -#define RGBLIGHT_EFFECT_KNIGHT -#define RGBLIGHT_EFFECT_CHRISTMAS -#define RGBLIGHT_EFFECT_STATIC_GRADIENT -#define RGBLIGHT_EFFECT_RGB_TEST -#define RGBLIGHT_EFFECT_ALTERNATING -#define RGBLIGHT_MODE_TWINKLE diff --git a/keyboards/studiokestra/galatea/rev2/info.json b/keyboards/studiokestra/galatea/rev2/info.json index a050f88d7dc3..7b29ba6ae9a0 100644 --- a/keyboards/studiokestra/galatea/rev2/info.json +++ b/keyboards/studiokestra/galatea/rev2/info.json @@ -33,7 +33,23 @@ "pin": "D4" }, "rgblight": { - "max_brightness": 200 + "led_count": 24, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8, + "max_brightness": 200, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + } }, "layouts": { "LAYOUT": { diff --git a/keyboards/studiokestra/galatea/rev3/info.json b/keyboards/studiokestra/galatea/rev3/info.json new file mode 100644 index 000000000000..1669e3a18361 --- /dev/null +++ b/keyboards/studiokestra/galatea/rev3/info.json @@ -0,0 +1,374 @@ +{ + "manufacturer": "Studio Kestra", + "keyboard_name": "Galatea", + "maintainer": "studiokestra", + "bootloader": "rp2040", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP14", "GP6"], + "rows": ["GP3", "GP4", "GP1", "GP2", "GP5", "GP29", "GP20", "GP19", "GP17", "GP16", "GP13", "GP12"] + }, + "processor": "RP2040", + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x8803", + "vid": "0x7C10" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP15" + }, + "rgblight": { + "led_count": 24, + "hue_steps": 8, + "saturation_steps": 8, + "brightness_steps": 8, + "max_brightness": 200, + "animations": { + "alternating": true, + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "rgb_test": true, + "snake": true, + "static_gradient": true, + "twinkle": true + } + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [1, 0], "x": 1.25, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [0, 2], "x": 3.25, "y": 0}, + {"matrix": [1, 2], "x": 4.25, "y": 0}, + + {"matrix": [0, 3], "x": 5.5, "y": 0}, + {"matrix": [1, 3], "x": 6.5, "y": 0}, + {"matrix": [0, 4], "x": 7.5, "y": 0}, + {"matrix": [1, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [1, 5], "x": 10.75, "y": 0}, + {"matrix": [0, 6], "x": 11.75, "y": 0}, + {"matrix": [1, 6], "x": 12.75, "y": 0}, + + {"matrix": [0, 7], "x": 14, "y": 0}, + + {"matrix": [1, 7], "x": 15.25, "y": 0}, + {"matrix": [0, 8], "x": 16.25, "y": 0}, + {"matrix": [1, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25}, + {"matrix": [2, 7], "x": 14, "y": 1.25}, + + {"matrix": [3, 7], "x": 15.25, "y": 1.25}, + {"matrix": [2, 8], "x": 16.25, "y": 1.25}, + {"matrix": [3, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [5, 7], "x": 15.25, "y": 2.25}, + {"matrix": [4, 8], "x": 16.25, "y": 2.25}, + {"matrix": [5, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [6, 6], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 1.75}, + {"matrix": [8, 7], "x": 14, "y": 4.25}, + + {"matrix": [8, 8], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [11, 7], "x": 15.25, "y": 5.25}, + {"matrix": [10, 8], "x": 16.25, "y": 5.25}, + {"matrix": [11, 8], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_ansi": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [1, 0], "x": 1.25, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [0, 2], "x": 3.25, "y": 0}, + {"matrix": [1, 2], "x": 4.25, "y": 0}, + + {"matrix": [0, 3], "x": 5.5, "y": 0}, + {"matrix": [1, 3], "x": 6.5, "y": 0}, + {"matrix": [0, 4], "x": 7.5, "y": 0}, + {"matrix": [1, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [1, 5], "x": 10.75, "y": 0}, + {"matrix": [0, 6], "x": 11.75, "y": 0}, + {"matrix": [1, 6], "x": 12.75, "y": 0}, + + {"matrix": [0, 7], "x": 14, "y": 0}, + + {"matrix": [1, 7], "x": 15.25, "y": 0}, + {"matrix": [0, 8], "x": 16.25, "y": 0}, + {"matrix": [1, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [3, 7], "x": 15.25, "y": 1.25}, + {"matrix": [2, 8], "x": 16.25, "y": 1.25}, + {"matrix": [3, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + {"matrix": [4, 7], "x": 13.5, "y": 2.25, "w": 1.5}, + + {"matrix": [5, 7], "x": 15.25, "y": 2.25}, + {"matrix": [4, 8], "x": 16.25, "y": 2.25}, + {"matrix": [5, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [6, 6], "x": 12.75, "y": 3.25, "w": 2.25}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 2.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [8, 8], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [11, 7], "x": 15.25, "y": 5.25}, + {"matrix": [10, 8], "x": 16.25, "y": 5.25}, + {"matrix": [11, 8], "x": 17.25, "y": 5.25} + ] + }, + "LAYOUT_tkl_f13_iso": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + + {"matrix": [1, 0], "x": 1.25, "y": 0}, + {"matrix": [0, 1], "x": 2.25, "y": 0}, + {"matrix": [0, 2], "x": 3.25, "y": 0}, + {"matrix": [1, 2], "x": 4.25, "y": 0}, + + {"matrix": [0, 3], "x": 5.5, "y": 0}, + {"matrix": [1, 3], "x": 6.5, "y": 0}, + {"matrix": [0, 4], "x": 7.5, "y": 0}, + {"matrix": [1, 4], "x": 8.5, "y": 0}, + + {"matrix": [0, 5], "x": 9.75, "y": 0}, + {"matrix": [1, 5], "x": 10.75, "y": 0}, + {"matrix": [0, 6], "x": 11.75, "y": 0}, + {"matrix": [1, 6], "x": 12.75, "y": 0}, + + {"matrix": [0, 7], "x": 14, "y": 0}, + + {"matrix": [1, 7], "x": 15.25, "y": 0}, + {"matrix": [0, 8], "x": 16.25, "y": 0}, + {"matrix": [1, 8], "x": 17.25, "y": 0}, + + {"matrix": [2, 0], "x": 0, "y": 1.25}, + {"matrix": [3, 0], "x": 1, "y": 1.25}, + {"matrix": [2, 1], "x": 2, "y": 1.25}, + {"matrix": [3, 1], "x": 3, "y": 1.25}, + {"matrix": [2, 2], "x": 4, "y": 1.25}, + {"matrix": [3, 2], "x": 5, "y": 1.25}, + {"matrix": [2, 3], "x": 6, "y": 1.25}, + {"matrix": [3, 3], "x": 7, "y": 1.25}, + {"matrix": [2, 4], "x": 8, "y": 1.25}, + {"matrix": [3, 4], "x": 9, "y": 1.25}, + {"matrix": [2, 5], "x": 10, "y": 1.25}, + {"matrix": [3, 5], "x": 11, "y": 1.25}, + {"matrix": [2, 6], "x": 12, "y": 1.25}, + {"matrix": [3, 6], "x": 13, "y": 1.25, "w": 2}, + + {"matrix": [3, 7], "x": 15.25, "y": 1.25}, + {"matrix": [2, 8], "x": 16.25, "y": 1.25}, + {"matrix": [3, 8], "x": 17.25, "y": 1.25}, + + {"matrix": [4, 0], "x": 0, "y": 2.25, "w": 1.5}, + {"matrix": [5, 0], "x": 1.5, "y": 2.25}, + {"matrix": [4, 1], "x": 2.5, "y": 2.25}, + {"matrix": [5, 1], "x": 3.5, "y": 2.25}, + {"matrix": [4, 2], "x": 4.5, "y": 2.25}, + {"matrix": [5, 2], "x": 5.5, "y": 2.25}, + {"matrix": [4, 3], "x": 6.5, "y": 2.25}, + {"matrix": [5, 3], "x": 7.5, "y": 2.25}, + {"matrix": [4, 4], "x": 8.5, "y": 2.25}, + {"matrix": [5, 4], "x": 9.5, "y": 2.25}, + {"matrix": [4, 5], "x": 10.5, "y": 2.25}, + {"matrix": [5, 5], "x": 11.5, "y": 2.25}, + {"matrix": [4, 6], "x": 12.5, "y": 2.25}, + + {"matrix": [5, 7], "x": 15.25, "y": 2.25}, + {"matrix": [4, 8], "x": 16.25, "y": 2.25}, + {"matrix": [5, 8], "x": 17.25, "y": 2.25}, + + {"matrix": [6, 0], "x": 0, "y": 3.25, "w": 1.75}, + {"matrix": [7, 0], "x": 1.75, "y": 3.25}, + {"matrix": [6, 1], "x": 2.75, "y": 3.25}, + {"matrix": [7, 1], "x": 3.75, "y": 3.25}, + {"matrix": [6, 2], "x": 4.75, "y": 3.25}, + {"matrix": [7, 2], "x": 5.75, "y": 3.25}, + {"matrix": [6, 3], "x": 6.75, "y": 3.25}, + {"matrix": [7, 3], "x": 7.75, "y": 3.25}, + {"matrix": [6, 4], "x": 8.75, "y": 3.25}, + {"matrix": [7, 4], "x": 9.75, "y": 3.25}, + {"matrix": [6, 5], "x": 10.75, "y": 3.25}, + {"matrix": [7, 5], "x": 11.75, "y": 3.25}, + {"matrix": [6, 6], "x": 12.75, "y": 3.25}, + {"matrix": [4, 7], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2}, + + {"matrix": [8, 0], "x": 0, "y": 4.25, "w": 1.25}, + {"matrix": [9, 0], "x": 1.25, "y": 4.25}, + {"matrix": [8, 1], "x": 2.25, "y": 4.25}, + {"matrix": [9, 1], "x": 3.25, "y": 4.25}, + {"matrix": [8, 2], "x": 4.25, "y": 4.25}, + {"matrix": [9, 2], "x": 5.25, "y": 4.25}, + {"matrix": [8, 3], "x": 6.25, "y": 4.25}, + {"matrix": [9, 3], "x": 7.25, "y": 4.25}, + {"matrix": [8, 4], "x": 8.25, "y": 4.25}, + {"matrix": [9, 4], "x": 9.25, "y": 4.25}, + {"matrix": [8, 5], "x": 10.25, "y": 4.25}, + {"matrix": [9, 5], "x": 11.25, "y": 4.25}, + {"matrix": [8, 6], "x": 12.25, "y": 4.25, "w": 2.75}, + + {"matrix": [8, 8], "x": 16.25, "y": 4.25}, + + {"matrix": [10, 0], "x": 0, "y": 5.25, "w": 1.25}, + {"matrix": [11, 0], "x": 1.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 1], "x": 2.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 3], "x": 3.75, "y": 5.25, "w": 6.25}, + {"matrix": [10, 5], "x": 10, "y": 5.25, "w": 1.25}, + {"matrix": [11, 5], "x": 11.25, "y": 5.25, "w": 1.25}, + {"matrix": [10, 6], "x": 12.5, "y": 5.25, "w": 1.25}, + {"matrix": [10, 7], "x": 13.75, "y": 5.25, "w": 1.25}, + + {"matrix": [11, 7], "x": 15.25, "y": 5.25}, + {"matrix": [10, 8], "x": 16.25, "y": 5.25}, + {"matrix": [11, 8], "x": 17.25, "y": 5.25} + ] + } + } +} diff --git a/keyboards/studiokestra/galatea/rev3/keymaps/default/keymap.c b/keyboards/studiokestra/galatea/rev3/keymaps/default/keymap.c new file mode 100644 index 000000000000..32db99b386d0 --- /dev/null +++ b/keyboards/studiokestra/galatea/rev3/keymaps/default/keymap.c @@ -0,0 +1,38 @@ +// Copyright 2023 studiokestra (@studiokestra) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + [0] = LAYOUT( + KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), + + [1] = LAYOUT( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), + }; diff --git a/keyboards/studiokestra/galatea/rev3/keymaps/via/keymap.c b/keyboards/studiokestra/galatea/rev3/keymaps/via/keymap.c new file mode 100644 index 000000000000..c0d093334932 --- /dev/null +++ b/keyboards/studiokestra/galatea/rev3/keymaps/via/keymap.c @@ -0,0 +1,40 @@ +// Copyright 2023 studiokestra (@studiokestra) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + /* + * ┌───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┬───┬───┬───┐┌───┐ ┌───┬───┬───┐ + * │Esc││F1 │F2 │F3 │F4 ││F5 │F6 │F7 │F8 ││F9 │F10│F11│F12││F13│ │PSc│Scr│Pse│ + * └───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┴───┴───┴───┘└───┘ └───┴───┴───┘ + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐ + * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │LBk│RBk│ │Ins│Hom│PgU│ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │Del│End│PgD│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ + * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ + * │Shft│ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Mo1│ │ ↑ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐ + * │Ctrl│GUI │Alt │ │ Alt│ GUI│Menu│Ctrl│ │ ← │ ↓ │ → │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘ + */ + + [0] = LAYOUT( + KC_ESC, 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_F13, KC_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT ), + + [1] = LAYOUT( + QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), +}; diff --git a/keyboards/studiokestra/galatea/rev3/keymaps/via/rules.mk b/keyboards/studiokestra/galatea/rev3/keymaps/via/rules.mk new file mode 100644 index 000000000000..1e5b99807cb7 --- /dev/null +++ b/keyboards/studiokestra/galatea/rev3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/studiokestra/galatea/rev3/rules.mk b/keyboards/studiokestra/galatea/rev3/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/studiokestra/galatea/rev3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 6d9eab88430c3ae3fd5098ad13146bf151881d24 Mon Sep 17 00:00:00 2001 From: Pangorin <68218885+Pangorin@users.noreply.github.com> Date: Sun, 20 Aug 2023 23:08:13 +0700 Subject: [PATCH 55/65] Adding support for TAN67 PCB (#21003) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Duncan Sutherland --- keyboards/pangorin/tan67/config.h | 24 ++ keyboards/pangorin/tan67/info.json | 246 ++++++++++++++++++ .../pangorin/tan67/keymaps/default/keymap.c | 80 ++++++ keyboards/pangorin/tan67/keymaps/via/keymap.c | 80 ++++++ keyboards/pangorin/tan67/keymaps/via/rules.mk | 2 + keyboards/pangorin/tan67/readme.md | 23 ++ keyboards/pangorin/tan67/rules.mk | 1 + keyboards/pangorin/tan67/tan67.c | 52 ++++ 8 files changed, 508 insertions(+) create mode 100644 keyboards/pangorin/tan67/config.h create mode 100644 keyboards/pangorin/tan67/info.json create mode 100644 keyboards/pangorin/tan67/keymaps/default/keymap.c create mode 100644 keyboards/pangorin/tan67/keymaps/via/keymap.c create mode 100644 keyboards/pangorin/tan67/keymaps/via/rules.mk create mode 100644 keyboards/pangorin/tan67/readme.md create mode 100644 keyboards/pangorin/tan67/rules.mk create mode 100644 keyboards/pangorin/tan67/tan67.c diff --git a/keyboards/pangorin/tan67/config.h b/keyboards/pangorin/tan67/config.h new file mode 100644 index 000000000000..62ccc4f273f9 --- /dev/null +++ b/keyboards/pangorin/tan67/config.h @@ -0,0 +1,24 @@ +/* Copyright 2023 Pangorin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once +#ifdef RGB_MATRIX_ENABLE + /* RGB Matrix config */ + #define RGB_MATRIX_LED_COUNT 84 + #define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS + #define RGB_MATRIX_KEYPRESSES + #define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#endif diff --git a/keyboards/pangorin/tan67/info.json b/keyboards/pangorin/tan67/info.json new file mode 100644 index 000000000000..4aab01aa8d3c --- /dev/null +++ b/keyboards/pangorin/tan67/info.json @@ -0,0 +1,246 @@ +{ + "keyboard_name": "Tan67", + "manufacturer": "Unknown", + "maintainer": "Pangorin", + "usb": { + "vid": "0x4D4B", + "pid": "0x6067", + "device_version": "0.0.1" + }, + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["A5", "B10", "A3", "A2", "B0", "A9", "B1", "B9", "B8", "B7", "B6", "B5", "B4", "B3", "A15"], + "rows": ["B12", "B11", "B14", "A8", "A1"] + }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "features": { + "bootmagic": true, + "mousekey": false, + "extrakey": true, + "console": false, + "command": false, + "nkro": true, + "rgb_matrix": true + }, + "ws2812": { + "pin": "B15" + }, + "rgb_matrix": { + "driver": "WS2812", + "max_brightness": 200, + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "pixel_flow": true, + "pixel_fractal": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}, + {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4}, + {"matrix": [0, 2], "x": 30, "y": 0, "flags": 4}, + {"matrix": [0, 3], "x": 45, "y": 0, "flags": 4}, + {"matrix": [0, 4], "x": 60, "y": 0, "flags": 4}, + {"matrix": [0, 5], "x": 75, "y": 0, "flags": 4}, + {"matrix": [0, 6], "x": 90, "y": 0, "flags": 4}, + {"matrix": [0, 7], "x": 105, "y": 0, "flags": 4}, + {"matrix": [0, 8], "x": 119, "y": 0, "flags": 4}, + {"matrix": [0, 9], "x": 134, "y": 0, "flags": 4}, + {"matrix": [0, 10], "x": 149, "y": 0, "flags": 4}, + {"matrix": [0, 11], "x": 164, "y": 0, "flags": 4}, + {"matrix": [0, 12], "x": 179, "y": 0, "flags": 4}, + {"matrix": [0, 13], "x": 202, "y": 0, "flags": 1}, + {"matrix": [0, 14], "x": 224, "y": 0, "flags": 4}, + + {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1}, + {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4}, + {"matrix": [1, 2], "x": 37, "y": 16, "flags": 4}, + {"matrix": [1, 3], "x": 52, "y": 16, "flags": 4}, + {"matrix": [1, 4], "x": 67, "y": 16, "flags": 4}, + {"matrix": [1, 5], "x": 82, "y": 16, "flags": 4}, + {"matrix": [1, 6], "x": 97, "y": 16, "flags": 4}, + {"matrix": [1, 7], "x": 112, "y": 16, "flags": 4}, + {"matrix": [1, 8], "x": 127, "y": 16, "flags": 4}, + {"matrix": [1, 9], "x": 142, "y": 16, "flags": 4}, + {"matrix": [1, 10], "x": 157, "y": 16, "flags": 4}, + {"matrix": [1, 11], "x": 172, "y": 16, "flags": 4}, + {"matrix": [1, 12], "x": 187, "y": 16, "flags": 4}, + {"matrix": [1, 13], "x": 205, "y": 16, "flags": 4}, + {"matrix": [1, 14], "x": 224, "y": 16, "flags": 4}, + + {"matrix": [2, 0], "x": 6, "y": 32, "flags": 8}, + {"matrix": [2, 1], "x": 26, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 41, "y": 32, "flags": 4}, + {"matrix": [2, 3], "x": 56, "y": 32, "flags": 4}, + {"matrix": [2, 4], "x": 71, "y": 32, "flags": 4}, + {"matrix": [2, 5], "x": 86, "y": 32, "flags": 4}, + {"matrix": [2, 6], "x": 101, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 116, "y": 32, "flags": 4}, + {"matrix": [2, 8], "x": 131, "y": 32, "flags": 4}, + {"matrix": [2, 9], "x": 146, "y": 32, "flags": 4}, + {"matrix": [2, 10], "x": 161, "y": 32, "flags": 4}, + {"matrix": [2, 11], "x": 175, "y": 32, "flags": 4}, + {"matrix": [2, 12], "x": 200, "y": 32, "flags": 1}, + {"matrix": [2, 14], "x": 224, "y": 32, "flags": 4}, + + {"matrix": [3, 0], "x": 9, "y": 48, "flags": 1}, + {"matrix": [3, 1], "x": 34, "y": 48, "flags": 4}, + {"matrix": [3, 2], "x": 49, "y": 48, "flags": 4}, + {"matrix": [3, 3], "x": 63, "y": 48, "flags": 4}, + {"matrix": [3, 4], "x": 78, "y": 48, "flags": 4}, + {"matrix": [3, 5], "x": 93, "y": 48, "flags": 4}, + {"matrix": [3, 6], "x": 108, "y": 48, "flags": 4}, + {"matrix": [3, 7], "x": 123, "y": 48, "flags": 4}, + {"matrix": [3, 8], "x": 138, "y": 48, "flags": 4}, + {"matrix": [3, 9], "x": 153, "y": 48, "flags": 4}, + {"matrix": [3, 10], "x": 168, "y": 48, "flags": 4}, + {"matrix": [3, 11], "x": 189, "y": 48, "flags": 1}, + {"matrix": [3, 12], "x": 209, "y": 48, "flags": 4}, + {"matrix": [3, 14], "x": 224, "y": 48, "flags": 4}, + + {"matrix": [4, 0], "x": 2, "y": 64, "flags": 1}, + {"matrix": [4, 1], "x": 21, "y": 64, "flags": 1}, + {"matrix": [4, 2], "x": 39, "y": 64, "flags": 1}, + {"matrix": [4, 5], "x": 95, "y": 64, "flags": 4}, + {"matrix": [4, 9], "x": 151, "y": 64, "flags": 1}, + {"matrix": [4, 10], "x": 170, "y": 64, "flags": 1}, + {"matrix": [4, 11], "x": 194, "y": 64, "flags": 4}, + {"matrix": [4, 12], "x": 209, "y": 64, "flags": 4}, + {"matrix": [4, 13], "x": 224, "y": 64, "flags": 4}, + + {"x": 220, "y": 56, "flags": 2}, + {"x": 202, "y": 56, "flags": 2}, + {"x": 179, "y": 56, "flags": 2}, + {"x": 161, "y": 56, "flags": 2}, + {"x": 131, "y": 56, "flags": 2}, + {"x": 105, "y": 56, "flags": 2}, + {"x": 82, "y": 56, "flags": 2}, + {"x": 52, "y": 56, "flags": 2}, + {"x": 30, "y": 56, "flags": 2}, + {"x": 4, "y": 56, "flags": 2}, + {"x": 19, "y": 8, "flags": 2}, + {"x": 52, "y": 8, "flags": 2}, + {"x": 90, "y": 8, "flags": 2}, + {"x": 127, "y": 8, "flags": 2}, + {"x": 164, "y": 8, "flags": 2}, + {"x": 205, "y": 8, "flags": 2} + ] + }, + "community_layouts": ["65_ansi_blocker"], + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0}, + {"matrix": [0, 1], "x": 1, "y": 0}, + {"matrix": [0, 2], "x": 2, "y": 0}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0}, + {"matrix": [0, 5], "x": 5, "y": 0}, + {"matrix": [0, 6], "x": 6, "y": 0}, + {"matrix": [0, 7], "x": 7, "y": 0}, + {"matrix": [0, 8], "x": 8, "y": 0}, + {"matrix": [0, 9], "x": 9, "y": 0}, + {"matrix": [0, 10], "x": 10, "y": 0}, + {"matrix": [0, 11], "x": 11, "y": 0}, + {"matrix": [0, 12], "x": 12, "y": 0}, + {"matrix": [0, 13], "w": 2, "x": 13, "y": 0}, + {"matrix": [0, 14], "x": 15, "y": 0}, + + {"matrix": [1, 0], "w": 1.5, "x": 0, "y": 1}, + {"matrix": [1, 1], "x": 1.5, "y": 1}, + {"matrix": [1, 2], "x": 2.5, "y": 1}, + {"matrix": [1, 3], "x": 3.5, "y": 1}, + {"matrix": [1, 4], "x": 4.5, "y": 1}, + {"matrix": [1, 5], "x": 5.5, "y": 1}, + {"matrix": [1, 6], "x": 6.5, "y": 1}, + {"matrix": [1, 7], "x": 7.5, "y": 1}, + {"matrix": [1, 8], "x": 8.5, "y": 1}, + {"matrix": [1, 9], "x": 9.5, "y": 1}, + {"matrix": [1, 10], "x": 10.5, "y": 1}, + {"matrix": [1, 11], "x": 11.5, "y": 1}, + {"matrix": [1, 12], "x": 12.5, "y": 1}, + {"matrix": [1, 13], "w": 1.5, "x": 13.5, "y": 1}, + {"matrix": [1, 14], "x": 15, "y": 1}, + + {"matrix": [2, 0], "w": 1.75, "x": 0, "y": 2}, + {"matrix": [2, 1], "x": 1.75, "y": 2}, + {"matrix": [2, 2], "x": 2.75, "y": 2}, + {"matrix": [2, 3], "x": 3.75, "y": 2}, + {"matrix": [2, 4], "x": 4.75, "y": 2}, + {"matrix": [2, 5], "x": 5.75, "y": 2}, + {"matrix": [2, 6], "x": 6.75, "y": 2}, + {"matrix": [2, 7], "x": 7.75, "y": 2}, + {"matrix": [2, 8], "x": 8.75, "y": 2}, + {"matrix": [2, 9], "x": 9.75, "y": 2}, + {"matrix": [2, 10], "x": 10.75, "y": 2}, + {"matrix": [2, 11], "x": 11.75, "y": 2}, + {"matrix": [2, 12], "w": 2.25, "x": 12.75, "y": 2}, + {"matrix": [2, 14], "x": 15, "y": 2}, + + {"matrix": [3, 0], "w": 2.25, "x": 0, "y": 3}, + {"matrix": [3, 1], "x": 2.25, "y": 3}, + {"matrix": [3, 2], "x": 3.25, "y": 3}, + {"matrix": [3, 3], "x": 4.25, "y": 3}, + {"matrix": [3, 4], "x": 5.25, "y": 3}, + {"matrix": [3, 5], "x": 6.25, "y": 3}, + {"matrix": [3, 6], "x": 7.25, "y": 3}, + {"matrix": [3, 7], "x": 8.25, "y": 3}, + {"matrix": [3, 8], "x": 9.25, "y": 3}, + {"matrix": [3, 9], "x": 10.25, "y": 3}, + {"matrix": [3, 10], "x": 11.25, "y": 3}, + {"matrix": [3, 11], "w": 1.75, "x": 12.25, "y": 3}, + {"matrix": [3, 12], "x": 14, "y": 3}, + {"matrix": [3, 14], "x": 15, "y": 3}, + + {"matrix": [4, 0], "w": 1.25, "x": 0, "y": 4}, + {"matrix": [4, 1], "w": 1.25, "x": 1.25, "y": 4}, + {"matrix": [4, 2], "w": 1.25, "x": 2.5, "y": 4}, + {"matrix": [4, 5], "w": 6.25, "x": 3.75, "y": 4}, + {"matrix": [4, 9], "w": 1.25, "x": 10, "y": 4}, + {"matrix": [4, 10], "w": 1.25, "x": 11.25, "y": 4}, + {"matrix": [4, 11], "x": 13, "y": 4}, + {"matrix": [4, 12], "x": 14, "y": 4}, + {"matrix": [4, 13], "x": 15, "y": 4} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/pangorin/tan67/keymaps/default/keymap.c b/keyboards/pangorin/tan67/keymaps/default/keymap.c new file mode 100644 index 000000000000..2b46433eeff3 --- /dev/null +++ b/keyboards/pangorin/tan67/keymaps/default/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2023 Pangorin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* +┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────────┐┌────┐ +│` ││1 ││2 ││3 ││4 ││5 ││6 ││7 ││8 ││9 ││0 ││- ││= ││Bksp ││Home│ +└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────────┘└────┘ +┌──────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌──────┐┌────┐ +│Tab ││Q ││W ││E ││R ││T ││Y ││U ││I ││O ││P ││[ ││] │|\ ││PgUp │ +└──────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└──────┘└────┘ +┌───────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────────┐┌────┐ +│Caps ││A ││S ││D ││F ││G ││H ││J ││K ││L ││; ││' ││Enter ││PgDn│ +└───────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────────┘└────┘ +┌───────────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────┐┌────┐┌────┐ +│Shift ││Z ││X ││C ││V ││B ││N ││M ││, ││. ││/ ││RShift ││Up ││End │ +└───────────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────┘└────┘└────┘ +┌─────┐┌─────┐┌─────┐┌─────────────────────────────────────┐┌─────┐┌─────┐ ┌────┐┌────┐┌────┐ +│LCtrl││Win ││LAlt ││Space ││MO(1)││RCtrl│ │Left││Down││Righ│ +└─────┘└─────┘└─────┘└─────────────────────────────────────┘└─────┘└─────┘ └────┘└────┘└────┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT_65_ansi_blocker( + 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_HOME, + 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_PGUP, + 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_PGDN, + 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_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), +/* +┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────────┐┌────┐ +│` ││F1 ││F2 ││F3 ││F4 ││F5 ││F6 ││F7 ││F8 ││F9 ││F10 ││F11 ││F12 ││Reset ││ │ +└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────────┘└────┘ +┌──────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌──────┐┌────┐ +│ ││ ││Togg││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │| ││ │ +└──────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└──────┘└────┘ +┌───────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────────┐┌────┐ +│ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ +└───────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────────┘└────┘ +┌───────────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────┐┌────┐┌────┐ +│ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││Vai+││ │ +└───────────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────┘└────┘└────┘ +┌─────┐┌─────┐┌─────┐┌─────────────────────────────────────┐┌─────┐┌─────┐ ┌────┐┌────┐┌────┐ +│ ││ ││ ││ ││ ││ │ │ ││Vai-││ │ +└─────┘└─────┘└─────┘└─────────────────────────────────────┘└─────┘└─────┘ └────┘└────┘└────┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN1] = LAYOUT_65_ansi_blocker( + 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, QK_BOOT, _______, + _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + ) +}; diff --git a/keyboards/pangorin/tan67/keymaps/via/keymap.c b/keyboards/pangorin/tan67/keymaps/via/keymap.c new file mode 100644 index 000000000000..2b46433eeff3 --- /dev/null +++ b/keyboards/pangorin/tan67/keymaps/via/keymap.c @@ -0,0 +1,80 @@ +/* Copyright 2023 Pangorin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +// Layer names don't all need to be of the same length, obviously, and you can also skip them +// entirely and just use numbers. + +enum layer_names { + _BASE, + _FN1 +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* +┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────────┐┌────┐ +│` ││1 ││2 ││3 ││4 ││5 ││6 ││7 ││8 ││9 ││0 ││- ││= ││Bksp ││Home│ +└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────────┘└────┘ +┌──────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌──────┐┌────┐ +│Tab ││Q ││W ││E ││R ││T ││Y ││U ││I ││O ││P ││[ ││] │|\ ││PgUp │ +└──────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└──────┘└────┘ +┌───────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────────┐┌────┐ +│Caps ││A ││S ││D ││F ││G ││H ││J ││K ││L ││; ││' ││Enter ││PgDn│ +└───────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────────┘└────┘ +┌───────────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────┐┌────┐┌────┐ +│Shift ││Z ││X ││C ││V ││B ││N ││M ││, ││. ││/ ││RShift ││Up ││End │ +└───────────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────┘└────┘└────┘ +┌─────┐┌─────┐┌─────┐┌─────────────────────────────────────┐┌─────┐┌─────┐ ┌────┐┌────┐┌────┐ +│LCtrl││Win ││LAlt ││Space ││MO(1)││RCtrl│ │Left││Down││Righ│ +└─────┘└─────┘└─────┘└─────────────────────────────────────┘└─────┘└─────┘ └────┘└────┘└────┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_BASE] = LAYOUT_65_ansi_blocker( + 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_HOME, + 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_PGUP, + 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_PGDN, + 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_DEL, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), +/* +┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────────┐┌────┐ +│` ││F1 ││F2 ││F3 ││F4 ││F5 ││F6 ││F7 ││F8 ││F9 ││F10 ││F11 ││F12 ││Reset ││ │ +└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────────┘└────┘ +┌──────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌──────┐┌────┐ +│ ││ ││Togg││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │| ││ │ +└──────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└──────┘└────┘ +┌───────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────────┐┌────┐ +│ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ │ +└───────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────────┘└────┘ +┌───────────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐┌───────┐┌────┐┌────┐ +│ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││ ││Vai+││ │ +└───────────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└────┘└───────┘└────┘└────┘ +┌─────┐┌─────┐┌─────┐┌─────────────────────────────────────┐┌─────┐┌─────┐ ┌────┐┌────┐┌────┐ +│ ││ ││ ││ ││ ││ │ │ ││Vai-││ │ +└─────┘└─────┘└─────┘└─────────────────────────────────────┘└─────┘└─────┘ └────┘└────┘└────┘ +*/ + /* Row: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 */ + [_FN1] = LAYOUT_65_ansi_blocker( + 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, QK_BOOT, _______, + _______, _______, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, + _______, _______, _______, _______, _______, _______, _______, RGB_VAD, _______ + ) +}; diff --git a/keyboards/pangorin/tan67/keymaps/via/rules.mk b/keyboards/pangorin/tan67/keymaps/via/rules.mk new file mode 100644 index 000000000000..16d33cd89fe4 --- /dev/null +++ b/keyboards/pangorin/tan67/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes + diff --git a/keyboards/pangorin/tan67/readme.md b/keyboards/pangorin/tan67/readme.md new file mode 100644 index 000000000000..6fdb4effbd54 --- /dev/null +++ b/keyboards/pangorin/tan67/readme.md @@ -0,0 +1,23 @@ +# TAN67 PCB + +A 65% PCB, which controlled by an STM32F072 chipset. + +* Keyboard Maintainer: [Pangorin](https://github.com/pangorin) +* Hardware Supported: STM32F072 + +Make example for this keyboard (after setting up your build environment): + + make pangorin/tan67:default + +Flashing example for this keyboard: + + make pangorin/tan67:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 2 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix and plug in the keyboard +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/pangorin/tan67/rules.mk b/keyboards/pangorin/tan67/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/pangorin/tan67/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/pangorin/tan67/tan67.c b/keyboards/pangorin/tan67/tan67.c new file mode 100644 index 000000000000..574624c1576a --- /dev/null +++ b/keyboards/pangorin/tan67/tan67.c @@ -0,0 +1,52 @@ +/* Copyright 2023 Pangorin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "quantum.h" + +#ifdef RGB_MATRIX_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case RGB_TOG: + if (record->event.pressed) { + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: { + rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): { + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + case (LED_FLAG_UNDERGLOW): { + rgb_matrix_set_flags(LED_FLAG_NONE); + rgb_matrix_set_color_all(0, 0, 0); + } + break; + default: { + rgb_matrix_set_flags(LED_FLAG_ALL); + rgb_matrix_enable_noeeprom(); + } + break; + } + } + return false; + } + return process_record_user(keycode, record); +} +#endif + From dd4f4f8597532e2a5893bfd3f7f7adcc422fd956 Mon Sep 17 00:00:00 2001 From: owlab2 <64054049+lizhenmingdirk@users.noreply.github.com> Date: Mon, 21 Aug 2023 00:16:41 +0800 Subject: [PATCH 56/65] [Keyboard] Add Jelly Evolv (#21407) Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/owlab/jelly_evolv/config.h | 23 +++++ .../owlab/jelly_evolv/hotswap/625u/info.json | 93 ++++++++++++++++++ .../hotswap/625u/keymaps/default/keymap.c | 37 ++++++++ .../hotswap/625u/keymaps/via/keymap.c | 37 ++++++++ .../hotswap/625u/keymaps/via/rules.mk | 2 + .../owlab/jelly_evolv/hotswap/625u/readme.md | 21 ++++ .../owlab/jelly_evolv/hotswap/625u/rules.mk | 5 + .../owlab/jelly_evolv/hotswap/7u/info.json | 92 ++++++++++++++++++ .../hotswap/7u/keymaps/default/keymap.c | 37 ++++++++ .../hotswap/7u/keymaps/via/keymap.c | 37 ++++++++ .../hotswap/7u/keymaps/via/rules.mk | 2 + .../owlab/jelly_evolv/hotswap/7u/readme.md | 21 ++++ .../owlab/jelly_evolv/hotswap/7u/rules.mk | 5 + keyboards/owlab/jelly_evolv/info.json | 44 +++++++++ .../ld/STM32F103x8_0x08006000_bootloader.ld | 89 +++++++++++++++++ keyboards/owlab/jelly_evolv/solder/info.json | 95 +++++++++++++++++++ .../solder/keymaps/default/keymap.c | 37 ++++++++ .../jelly_evolv/solder/keymaps/via/keymap.c | 37 ++++++++ .../jelly_evolv/solder/keymaps/via/rules.mk | 2 + keyboards/owlab/jelly_evolv/solder/readme.md | 21 ++++ keyboards/owlab/jelly_evolv/solder/rules.mk | 5 + 21 files changed, 742 insertions(+) create mode 100644 keyboards/owlab/jelly_evolv/config.h create mode 100644 keyboards/owlab/jelly_evolv/hotswap/625u/info.json create mode 100644 keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c create mode 100644 keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/keymap.c create mode 100644 keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/rules.mk create mode 100644 keyboards/owlab/jelly_evolv/hotswap/625u/readme.md create mode 100644 keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk create mode 100644 keyboards/owlab/jelly_evolv/hotswap/7u/info.json create mode 100644 keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c create mode 100644 keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/keymap.c create mode 100644 keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/rules.mk create mode 100644 keyboards/owlab/jelly_evolv/hotswap/7u/readme.md create mode 100644 keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk create mode 100644 keyboards/owlab/jelly_evolv/info.json create mode 100644 keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld create mode 100644 keyboards/owlab/jelly_evolv/solder/info.json create mode 100644 keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c create mode 100644 keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c create mode 100644 keyboards/owlab/jelly_evolv/solder/keymaps/via/rules.mk create mode 100644 keyboards/owlab/jelly_evolv/solder/readme.md create mode 100644 keyboards/owlab/jelly_evolv/solder/rules.mk diff --git a/keyboards/owlab/jelly_evolv/config.h b/keyboards/owlab/jelly_evolv/config.h new file mode 100644 index 000000000000..95c5ca604837 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/config.h @@ -0,0 +1,23 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +/* RGB Strip*/ +# define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + 5 +# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.0 +# define RGBLIGHT_EFFECT_BREATHE_MAX 100 \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/info.json b/keyboards/owlab/jelly_evolv/hotswap/625u/info.json new file mode 100644 index 000000000000..ec25908b601e --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/info.json @@ -0,0 +1,93 @@ +{ + "keyboard_name": "Jelly Evolv Hotswap_6.25U", + "usb": { + "pid": "0x3655", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":6, "y":0}, + {"matrix": [0, 6], "x":7, "y":0}, + {"matrix": [0, 7], "x":8, "y":0}, + {"matrix": [0, 8], "x":9, "y":0}, + {"matrix": [0, 9], "x":10.5, "y":0}, + {"matrix": [0, 10], "x":11.5, "y":0}, + {"matrix": [0, 11], "x":12.5, "y":0}, + {"matrix": [0, 12], "x":13.5, "y":0}, + {"matrix": [0, 14], "x":15, "y":0}, + {"matrix": [1, 0], "x":0, "y":1.5}, + {"matrix": [1, 1], "x":1, "y":1.5}, + {"matrix": [1, 2], "x":2, "y":1.5}, + {"matrix": [1, 3], "x":3, "y":1.5}, + {"matrix": [1, 4], "x":4, "y":1.5}, + {"matrix": [1, 5], "x":5, "y":1.5}, + {"matrix": [1, 6], "x":6, "y":1.5}, + {"matrix": [1, 7], "x":7, "y":1.5}, + {"matrix": [1, 8], "x":8, "y":1.5}, + {"matrix": [1, 9], "x":9, "y":1.5}, + {"matrix": [1, 10], "x":10, "y":1.5}, + {"matrix": [1, 11], "x":11, "y":1.5}, + {"matrix": [1, 12], "x":12, "y":1.5}, + {"matrix": [1, 13], "x":13, "y":1.5, "w":2}, + {"matrix": [1, 14], "x":15, "y":1.5}, + {"matrix": [2, 0], "x":0, "y":2.5, "w":1.5}, + {"matrix": [2, 1], "x":1.5, "y":2.5}, + {"matrix": [2, 2], "x":2.5, "y":2.5}, + {"matrix": [2, 3], "x":3.5, "y":2.5}, + {"matrix": [2, 4], "x":4.5, "y":2.5}, + {"matrix": [2, 5], "x":5.5, "y":2.5}, + {"matrix": [2, 6], "x":6.5, "y":2.5}, + {"matrix": [2, 7], "x":7.5, "y":2.5}, + {"matrix": [2, 8], "x":8.5, "y":2.5}, + {"matrix": [2, 9], "x":9.5, "y":2.5}, + {"matrix": [2, 10], "x":10.5, "y":2.5}, + {"matrix": [2, 11], "x":11.5, "y":2.5}, + {"matrix": [2, 12], "x":12.5, "y":2.5}, + {"matrix": [2, 13], "x":13.5, "y":2.5, "w":1.5}, + {"matrix": [2, 14], "x":15, "y":2.5}, + {"matrix": [3, 0], "x":0, "y":3.5, "w":1.75}, + {"matrix": [3, 1], "x":1.75, "y":3.5}, + {"matrix": [3, 2], "x":2.75, "y":3.5}, + {"matrix": [3, 3], "x":3.75, "y":3.5}, + {"matrix": [3, 4], "x":4.75, "y":3.5}, + {"matrix": [3, 5], "x":5.75, "y":3.5}, + {"matrix": [3, 6], "x":6.75, "y":3.5}, + {"matrix": [3, 7], "x":7.75, "y":3.5}, + {"matrix": [3, 8], "x":8.75, "y":3.5}, + {"matrix": [3, 9], "x":9.75, "y":3.5}, + {"matrix": [3, 10], "x":10.75, "y":3.5}, + {"matrix": [3, 11], "x":11.75, "y":3.5}, + {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25}, + {"matrix": [3, 14], "x":15, "y":3.5}, + {"matrix": [4, 0], "x":0, "y":4.5, "w":2.25}, + {"matrix": [4, 1], "x":2.25, "y":4.5}, + {"matrix": [4, 2], "x":3.25, "y":4.5}, + {"matrix": [4, 3], "x":4.25, "y":4.5}, + {"matrix": [4, 4], "x":5.25, "y":4.5}, + {"matrix": [4, 5], "x":6.25, "y":4.5}, + {"matrix": [4, 6], "x":7.25, "y":4.5}, + {"matrix": [4, 7], "x":8.25, "y":4.5}, + {"matrix": [4, 8], "x":9.25, "y":4.5}, + {"matrix": [4, 9], "x":10.25, "y":4.5}, + {"matrix": [4, 10], "x":11.25, "y":4.5}, + {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75}, + {"matrix": [4, 13], "x":14, "y":4.5}, + {"matrix": [5, 0], "x":0, "y":5.5, "w":1.25}, + {"matrix": [5, 1], "x":1.25, "y":5.5, "w":1.25}, + {"matrix": [5, 2], "x":2.5, "y":5.5, "w":1.25}, + {"matrix": [5, 5], "x":3.75, "y":5.5, "w":6.25}, + {"matrix": [5, 9], "x":10, "y":5.5, "w":1.25}, + {"matrix": [5, 10], "x":11.25, "y":5.5, "w":1.25}, + {"matrix": [5, 12], "x":13, "y":5.5}, + {"matrix": [5, 13], "x":14, "y":5.5}, + {"matrix": [5, 14], "x":15, "y":5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c new file mode 100644 index 000000000000..27e63d44fc91 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, 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_PSCR, + KC_GRV, 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_DEL, + 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_PGUP, + 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_PGDN, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/keymap.c b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/keymap.c new file mode 100644 index 000000000000..27e63d44fc91 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, 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_PSCR, + KC_GRV, 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_DEL, + 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_PGUP, + 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_PGDN, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/rules.mk b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/readme.md b/keyboards/owlab/jelly_evolv/hotswap/625u/readme.md new file mode 100644 index 000000000000..9bbd09d2cd91 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/readme.md @@ -0,0 +1,21 @@ +# Jelly Evolv - Hotswap 6.25U PCB + +![jelly evolv](https://i.imgur.com/vkHux8Fh.jpg) + +A 75% made by Owlab. + +* Keyboard Maintainer: [owlab](https://github.com/lizhenmingdirk) +* Hardware Supported: Jelly Evolv Hotswap 6.25U PCB +* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/W58MLYOGdVVQ + +Make example for this keyboard (after setting up your build environment): + + make owlab/jelly_evolv/hotswap/625u:default + +Flashing example for this keyboard: + + make owlab/jelly_evolv/hotswap/625u:default:flash + +**Bootloader:** Press the button B of the PCB while plugging in the board. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk b/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk new file mode 100644 index 000000000000..dfd7b8e20848 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/625u/rules.mk @@ -0,0 +1,5 @@ +MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader +DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 +DFU_SUFFIX_ARGS = -v 1688 -p 2220 +BOOTLOADER_TYPE = stm32duino +OPT_DEFS += -DBOOTLOADER_STM32DUINO \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/info.json b/keyboards/owlab/jelly_evolv/hotswap/7u/info.json new file mode 100644 index 000000000000..dc62266add22 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/info.json @@ -0,0 +1,92 @@ +{ + "keyboard_name": "Jelly Evolv Hotswap_7U", + "usb": { + "pid": "0x3755", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":6, "y":0}, + {"matrix": [0, 6], "x":7, "y":0}, + {"matrix": [0, 7], "x":8, "y":0}, + {"matrix": [0, 8], "x":9, "y":0}, + {"matrix": [0, 9], "x":10.5, "y":0}, + {"matrix": [0, 10], "x":11.5, "y":0}, + {"matrix": [0, 11], "x":12.5, "y":0}, + {"matrix": [0, 12], "x":13.5, "y":0}, + {"matrix": [0, 14], "x":15, "y":0}, + {"matrix": [1, 0], "x":0, "y":1.5}, + {"matrix": [1, 1], "x":1, "y":1.5}, + {"matrix": [1, 2], "x":2, "y":1.5}, + {"matrix": [1, 3], "x":3, "y":1.5}, + {"matrix": [1, 4], "x":4, "y":1.5}, + {"matrix": [1, 5], "x":5, "y":1.5}, + {"matrix": [1, 6], "x":6, "y":1.5}, + {"matrix": [1, 7], "x":7, "y":1.5}, + {"matrix": [1, 8], "x":8, "y":1.5}, + {"matrix": [1, 9], "x":9, "y":1.5}, + {"matrix": [1, 10], "x":10, "y":1.5}, + {"matrix": [1, 11], "x":11, "y":1.5}, + {"matrix": [1, 12], "x":12, "y":1.5}, + {"matrix": [1, 13], "x":13, "y":1.5, "w":2}, + {"matrix": [1, 14], "x":15, "y":1.5}, + {"matrix": [2, 0], "x":0, "y":2.5, "w":1.5}, + {"matrix": [2, 1], "x":1.5, "y":2.5}, + {"matrix": [2, 2], "x":2.5, "y":2.5}, + {"matrix": [2, 3], "x":3.5, "y":2.5}, + {"matrix": [2, 4], "x":4.5, "y":2.5}, + {"matrix": [2, 5], "x":5.5, "y":2.5}, + {"matrix": [2, 6], "x":6.5, "y":2.5}, + {"matrix": [2, 7], "x":7.5, "y":2.5}, + {"matrix": [2, 8], "x":8.5, "y":2.5}, + {"matrix": [2, 9], "x":9.5, "y":2.5}, + {"matrix": [2, 10], "x":10.5, "y":2.5}, + {"matrix": [2, 11], "x":11.5, "y":2.5}, + {"matrix": [2, 12], "x":12.5, "y":2.5}, + {"matrix": [2, 13], "x":13.5, "y":2.5, "w":1.5}, + {"matrix": [2, 14], "x":15, "y":2.5}, + {"matrix": [3, 0], "x":0, "y":3.5, "w":1.75}, + {"matrix": [3, 1], "x":1.75, "y":3.5}, + {"matrix": [3, 2], "x":2.75, "y":3.5}, + {"matrix": [3, 3], "x":3.75, "y":3.5}, + {"matrix": [3, 4], "x":4.75, "y":3.5}, + {"matrix": [3, 5], "x":5.75, "y":3.5}, + {"matrix": [3, 6], "x":6.75, "y":3.5}, + {"matrix": [3, 7], "x":7.75, "y":3.5}, + {"matrix": [3, 8], "x":8.75, "y":3.5}, + {"matrix": [3, 9], "x":9.75, "y":3.5}, + {"matrix": [3, 10], "x":10.75, "y":3.5}, + {"matrix": [3, 11], "x":11.75, "y":3.5}, + {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25}, + {"matrix": [3, 14], "x":15, "y":3.5}, + {"matrix": [4, 0], "x":0, "y":4.5, "w":2.25}, + {"matrix": [4, 1], "x":2.25, "y":4.5}, + {"matrix": [4, 2], "x":3.25, "y":4.5}, + {"matrix": [4, 3], "x":4.25, "y":4.5}, + {"matrix": [4, 4], "x":5.25, "y":4.5}, + {"matrix": [4, 5], "x":6.25, "y":4.5}, + {"matrix": [4, 6], "x":7.25, "y":4.5}, + {"matrix": [4, 7], "x":8.25, "y":4.5}, + {"matrix": [4, 8], "x":9.25, "y":4.5}, + {"matrix": [4, 9], "x":10.25, "y":4.5}, + {"matrix": [4, 10], "x":11.25, "y":4.5}, + {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75}, + {"matrix": [4, 13], "x":14, "y":4.5}, + {"matrix": [5, 0], "x":0, "y":5.5, "w":1.5}, + {"matrix": [5, 1], "x":1.5, "y":5.5, "w":1.5}, + {"matrix": [5, 2], "x":3.5, "y":5.5}, + {"matrix": [5, 5], "x":4.5, "y":5.5, "w":7}, + {"matrix": [5, 10], "x":11.5, "y":5.5}, + {"matrix": [5, 12], "x":13, "y":5.5}, + {"matrix": [5, 13], "x":14, "y":5.5}, + {"matrix": [5, 14], "x":15, "y":5.5} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c new file mode 100644 index 000000000000..1cf53b1fe509 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, 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_PSCR, + KC_GRV, 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_DEL, + 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_PGUP, + 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_PGDN, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/keymap.c b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/keymap.c new file mode 100644 index 000000000000..1cf53b1fe509 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, 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_PSCR, + KC_GRV, 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_DEL, + 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_PGUP, + 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_PGDN, + 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/rules.mk b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/readme.md b/keyboards/owlab/jelly_evolv/hotswap/7u/readme.md new file mode 100644 index 000000000000..31615a8486c2 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/readme.md @@ -0,0 +1,21 @@ +# Jelly Evolv - Hotswap 7U PCB + +![jelly evolv](https://i.imgur.com/yZ89zVkh.jpg) + +A 75% made by Owlab. + +* Keyboard Maintainer: [owlab](https://github.com/lizhenmingdirk) +* Hardware Supported: Jelly Evolv Hotswap 7U PCB +* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/W58MLYOGdVVQ + +Make example for this keyboard (after setting up your build environment): + + make owlab/jelly_evolv/hotswap/7u:default + +Flashing example for this keyboard: + + make owlab/jelly_evolv/hotswap/7u:default:flash + +**Bootloader:** Press the button B of the PCB while plugging in the board. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk b/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk new file mode 100644 index 000000000000..dfd7b8e20848 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/hotswap/7u/rules.mk @@ -0,0 +1,5 @@ +MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader +DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 +DFU_SUFFIX_ARGS = -v 1688 -p 2220 +BOOTLOADER_TYPE = stm32duino +OPT_DEFS += -DBOOTLOADER_STM32DUINO \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/info.json b/keyboards/owlab/jelly_evolv/info.json new file mode 100644 index 000000000000..999bcca477dc --- /dev/null +++ b/keyboards/owlab/jelly_evolv/info.json @@ -0,0 +1,44 @@ +{ + "manufacturer": "OwLab", + "url": "", + "maintainer": "Owlab", + "usb": { + "vid": "0x4F53" + }, + "matrix_pins": { + "cols": ["A7", "B0", "B1", "B2", "B10", "B11", "B12", "B13", "B14", "B15", "A8", "A9", "A10", "A15", "B4"], + "rows": ["A1", "A2", "A3", "A5", "A4", "A6"] + }, + "diode_direction": "COL2ROW", + "ws2812": { + "pin": "B3" + }, + "indicators": { + "caps_lock": "A0", + "on_state": 0 + }, + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "processor": "STM32F103", + "board": "STM32_F103_STM32DUINO", + "rgblight": { + "animations": { + "breathing": true, + "christmas": true, + "knight": true, + "rainbow_mood": true, + "rainbow_swirl": true, + "snake": true, + "static_gradient": true + }, + "brightness_steps": 10, + "led_count": 123, + "max_brightness": 100, + "saturation_steps": 8 + } +} \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld b/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld new file mode 100644 index 000000000000..a40e12668aa0 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/ld/STM32F103x8_0x08006000_bootloader.ld @@ -0,0 +1,89 @@ +/* + ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +/* + * STM32F103x8 memory setup for use with the STM32Duino bootloader. + */ +f103_flash_size = 128k; + +MEMORY +{ + /*Here we give 22K flash to bootloader*/ + /*0x08005800 : the application bin start address*/ + flash0 : org = 0x08006000, len = f103_flash_size - 0x6000 + flash1 : org = 0x00000000, len = 0 + flash2 : org = 0x00000000, len = 0 + flash3 : org = 0x00000000, len = 0 + flash4 : org = 0x00000000, len = 0 + flash5 : org = 0x00000000, len = 0 + flash6 : org = 0x00000000, len = 0 + flash7 : org = 0x00000000, len = 0 + ram0 : org = 0x20000000, len = 20k + ram1 : org = 0x00000000, len = 0 + ram2 : org = 0x00000000, len = 0 + ram3 : org = 0x00000000, len = 0 + ram4 : org = 0x00000000, len = 0 + ram5 : org = 0x00000000, len = 0 + ram6 : org = 0x00000000, len = 0 + ram7 : org = 0x00000000, len = 0 +} + +/* For each data/text section two region are defined, a virtual region + and a load region (_LMA suffix).*/ + +/* Flash region to be used for exception vectors.*/ +REGION_ALIAS("VECTORS_FLASH", flash0); +REGION_ALIAS("VECTORS_FLASH_LMA", flash0); + +/* Flash region to be used for constructors and destructors.*/ +REGION_ALIAS("XTORS_FLASH", flash0); +REGION_ALIAS("XTORS_FLASH_LMA", flash0); + +/* Flash region to be used for code text.*/ +REGION_ALIAS("TEXT_FLASH", flash0); +REGION_ALIAS("TEXT_FLASH_LMA", flash0); + +/* Flash region to be used for read only data.*/ +REGION_ALIAS("RODATA_FLASH", flash0); +REGION_ALIAS("RODATA_FLASH_LMA", flash0); + +/* Flash region to be used for various.*/ +REGION_ALIAS("VARIOUS_FLASH", flash0); +REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); + +/* Flash region to be used for RAM(n) initialization data.*/ +REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); + +/* RAM region to be used for Main stack. This stack accommodates the processing + of all exceptions and interrupts.*/ +REGION_ALIAS("MAIN_STACK_RAM", ram0); + +/* RAM region to be used for the process stack. This is the stack used by + the main() function.*/ +REGION_ALIAS("PROCESS_STACK_RAM", ram0); + +/* RAM region to be used for data segment.*/ +REGION_ALIAS("DATA_RAM", ram0); +REGION_ALIAS("DATA_RAM_LMA", flash0); + +/* RAM region to be used for BSS segment.*/ +REGION_ALIAS("BSS_RAM", ram0); + +/* RAM region to be used for the default heap.*/ +REGION_ALIAS("HEAP_RAM", ram0); + +/* Generic rules inclusion.*/ +INCLUDE rules.ld \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/info.json b/keyboards/owlab/jelly_evolv/solder/info.json new file mode 100644 index 000000000000..1c31904ecf51 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/info.json @@ -0,0 +1,95 @@ +{ + "keyboard_name": "Jelly Evolv Solder", + "usb": { + "pid": "0x4A56", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1.5, "y":0}, + {"matrix": [0, 2], "x":2.5, "y":0}, + {"matrix": [0, 3], "x":3.5, "y":0}, + {"matrix": [0, 4], "x":4.5, "y":0}, + {"matrix": [0, 5], "x":6, "y":0}, + {"matrix": [0, 6], "x":7, "y":0}, + {"matrix": [0, 7], "x":8, "y":0}, + {"matrix": [0, 8], "x":9, "y":0}, + {"matrix": [0, 9], "x":10.5, "y":0}, + {"matrix": [0, 10], "x":11.5, "y":0}, + {"matrix": [0, 11], "x":12.5, "y":0}, + {"matrix": [0, 12], "x":13.5, "y":0}, + {"matrix": [0, 14], "x":15, "y":0}, + {"matrix": [1, 0], "x":0, "y":1.5}, + {"matrix": [1, 1], "x":1, "y":1.5}, + {"matrix": [1, 2], "x":2, "y":1.5}, + {"matrix": [1, 3], "x":3, "y":1.5}, + {"matrix": [1, 4], "x":4, "y":1.5}, + {"matrix": [1, 5], "x":5, "y":1.5}, + {"matrix": [1, 6], "x":6, "y":1.5}, + {"matrix": [1, 7], "x":7, "y":1.5}, + {"matrix": [1, 8], "x":8, "y":1.5}, + {"matrix": [1, 9], "x":9, "y":1.5}, + {"matrix": [1, 10], "x":10, "y":1.5}, + {"matrix": [1, 11], "x":11, "y":1.5}, + {"matrix": [1, 12], "x":12, "y":1.5}, + {"matrix": [2, 13], "x":13, "y":1.5}, + {"matrix": [1, 13], "x":14, "y":1.5}, + {"matrix": [1, 14], "x":15, "y":1.5}, + {"matrix": [2, 0], "x":0, "y":2.5, "w":1.5}, + {"matrix": [2, 1], "x":1.5, "y":2.5}, + {"matrix": [2, 2], "x":2.5, "y":2.5}, + {"matrix": [2, 3], "x":3.5, "y":2.5}, + {"matrix": [2, 4], "x":4.5, "y":2.5}, + {"matrix": [2, 5], "x":5.5, "y":2.5}, + {"matrix": [2, 6], "x":6.5, "y":2.5}, + {"matrix": [2, 7], "x":7.5, "y":2.5}, + {"matrix": [2, 8], "x":8.5, "y":2.5}, + {"matrix": [2, 9], "x":9.5, "y":2.5}, + {"matrix": [2, 10], "x":10.5, "y":2.5}, + {"matrix": [2, 11], "x":11.5, "y":2.5}, + {"matrix": [2, 12], "x":12.5, "y":2.5}, + {"matrix": [3, 12], "x":13.5, "y":2.5, "w":1.5}, + {"matrix": [2, 14], "x":15, "y":2.5}, + {"matrix": [3, 0], "x":0, "y":3.5, "w":1.75}, + {"matrix": [3, 1], "x":1.75, "y":3.5}, + {"matrix": [3, 2], "x":2.75, "y":3.5}, + {"matrix": [3, 3], "x":3.75, "y":3.5}, + {"matrix": [3, 4], "x":4.75, "y":3.5}, + {"matrix": [3, 5], "x":5.75, "y":3.5}, + {"matrix": [3, 6], "x":6.75, "y":3.5}, + {"matrix": [3, 7], "x":7.75, "y":3.5}, + {"matrix": [3, 8], "x":8.75, "y":3.5}, + {"matrix": [3, 9], "x":9.75, "y":3.5}, + {"matrix": [3, 10], "x":10.75, "y":3.5}, + {"matrix": [3, 11], "x":11.75, "y":3.5}, + {"matrix": [3, 13], "x":12.75, "y":3.5, "w":2.25}, + {"matrix": [3, 14], "x":15, "y":3.5}, + {"matrix": [4, 0], "x":0, "y":4.5, "w":1.25}, + {"matrix": [5, 3], "x":1.25, "y":4.5}, + {"matrix": [4, 1], "x":2.25, "y":4.5}, + {"matrix": [4, 2], "x":3.25, "y":4.5}, + {"matrix": [4, 3], "x":4.25, "y":4.5}, + {"matrix": [4, 4], "x":5.25, "y":4.5}, + {"matrix": [4, 5], "x":6.25, "y":4.5}, + {"matrix": [4, 6], "x":7.25, "y":4.5}, + {"matrix": [4, 7], "x":8.25, "y":4.5}, + {"matrix": [4, 8], "x":9.25, "y":4.5}, + {"matrix": [4, 9], "x":10.25, "y":4.5}, + {"matrix": [4, 10], "x":11.25, "y":4.5}, + {"matrix": [4, 11], "x":12.25, "y":4.5, "w":1.75}, + {"matrix": [4, 13], "x":14, "y":4.5}, + {"matrix": [5, 0], "x":0, "y":5.5, "w":1.25}, + {"matrix": [5, 1], "x":1.25, "y":5.5, "w":1.25}, + {"matrix": [5, 2], "x":2.5, "y":5.5, "w":1.25}, + {"matrix": [5, 5], "x":3.75, "y":5.5, "w":6.25}, + {"matrix": [5, 9], "x":10, "y":5.5, "w":1.25}, + {"matrix": [5, 10], "x":11.25, "y":5.5, "w":1.25}, + {"matrix": [5, 12], "x":13, "y":5.5}, + {"matrix": [5, 13], "x":14, "y":5.5}, + {"matrix": [5, 14], "x":15, "y":5.5} + ] + } + } +} diff --git a/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c b/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c new file mode 100644 index 000000000000..b45d40340a66 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, 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_PSCR, + KC_GRV, 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_BSLS, KC_BSPC, KC_DEL, + 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_PGUP, + 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_PGDN, + KC_LSFT, KC_NUBS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c b/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c new file mode 100644 index 000000000000..b45d40340a66 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/keymaps/via/keymap.c @@ -0,0 +1,37 @@ +/* + * Copyright 2023 owlab + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT( + KC_ESC, 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_PSCR, + KC_GRV, 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_BSLS, KC_BSPC, KC_DEL, + 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_PGUP, + 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_PGDN, + KC_LSFT, KC_NUBS, 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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD,RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ) +}; \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/keymaps/via/rules.mk b/keyboards/owlab/jelly_evolv/solder/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/readme.md b/keyboards/owlab/jelly_evolv/solder/readme.md new file mode 100644 index 000000000000..89843dac2dc2 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/readme.md @@ -0,0 +1,21 @@ +# Jelly Evolv - soldered PCB + +![jelly evolv](https://i.imgur.com/Kk49RUVh.jpg) + +A 75% made by Owlab. + +* Keyboard Maintainer: [owlab](https://github.com/lizhenmingdirk) +* Hardware Supported: Jelly Evolv solder PCB +* Hardware Availability: Ended groupbuy: https://www.zfrontier.com/app/flow/W58MLYOGdVVQ + +Make example for this keyboard (after setting up your build environment): + + make owlab/jelly_evolv/solder:default + +Flashing example for this keyboard: + + make owlab/jelly_evolv/solder:default:flash + +**Bootloader:** Press the button B of the PCB while plugging in the board. + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). \ No newline at end of file diff --git a/keyboards/owlab/jelly_evolv/solder/rules.mk b/keyboards/owlab/jelly_evolv/solder/rules.mk new file mode 100644 index 000000000000..dfd7b8e20848 --- /dev/null +++ b/keyboards/owlab/jelly_evolv/solder/rules.mk @@ -0,0 +1,5 @@ +MCU_LDSCRIPT = STM32F103x8_0x08006000_bootloader +DFU_ARGS = -d 1688:2220 -a 0 -s 0x08006000 +DFU_SUFFIX_ARGS = -v 1688 -p 2220 +BOOTLOADER_TYPE = stm32duino +OPT_DEFS += -DBOOTLOADER_STM32DUINO \ No newline at end of file From 11970b1a52c00526ddd198e54137302b9e52bd70 Mon Sep 17 00:00:00 2001 From: DUILCHOI <48977039+duilchoi@users.noreply.github.com> Date: Mon, 21 Aug 2023 12:24:58 +0900 Subject: [PATCH 57/65] [Keyboard] Add linworks favepada (#20794) Co-authored-by: Drashna Jaelre Co-authored-by: Duncan Sutherland Co-authored-by: jack <0x6a73@protonmail.com> --- keyboards/linworks/favepada/config.h | 11 ++ keyboards/linworks/favepada/info.json | 140 ++++++++++++++++++ .../favepada/keymaps/default/keymap.c | 35 +++++ .../linworks/favepada/keymaps/via/keymap.c | 35 +++++ .../linworks/favepada/keymaps/via/rules.mk | 2 + keyboards/linworks/favepada/readme.md | 18 +++ keyboards/linworks/favepada/rules.mk | 0 7 files changed, 241 insertions(+) create mode 100644 keyboards/linworks/favepada/config.h create mode 100644 keyboards/linworks/favepada/info.json create mode 100644 keyboards/linworks/favepada/keymaps/default/keymap.c create mode 100644 keyboards/linworks/favepada/keymaps/via/keymap.c create mode 100644 keyboards/linworks/favepada/keymaps/via/rules.mk create mode 100644 keyboards/linworks/favepada/readme.md create mode 100644 keyboards/linworks/favepada/rules.mk diff --git a/keyboards/linworks/favepada/config.h b/keyboards/linworks/favepada/config.h new file mode 100644 index 000000000000..bee089bb436b --- /dev/null +++ b/keyboards/linworks/favepada/config.h @@ -0,0 +1,11 @@ +// Copyright 2023 ziptyze (@ziptyze) +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +/* Define RGB */ +#define RGB_MATRIX_LED_COUNT 37 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/linworks/favepada/info.json b/keyboards/linworks/favepada/info.json new file mode 100644 index 000000000000..f80e3802d552 --- /dev/null +++ b/keyboards/linworks/favepada/info.json @@ -0,0 +1,140 @@ +{ + "manufacturer": "Lx3", + "keyboard_name": "favepada", + "maintainer": "keydler", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true, + }, + "matrix_pins": { + "cols": ["A14", "A15", "B3", "B4"], + "rows": ["A9", "A8", "B15", "B14", "B13", "B12"] + }, + "processor": "STM32F072", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "rainbow_moving_chevron": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "driver": "WS2812", + "layout": [ + { "flags": 1, "matrix": [5, 2], "x": 149, "y": 59 }, + { "flags": 1, "matrix": [5, 0], "x": 0, "y": 59 }, + { "flags": 1, "matrix": [4, 0], "x": 0, "y": 51 }, + { "flags": 1, "matrix": [4, 1], "x": 74, "y": 51 }, + { "flags": 1, "matrix": [4, 2], "x": 149, "y": 51 }, + { "flags": 1, "matrix": [4, 3], "x": 224, "y": 51 }, + { "flags": 1, "matrix": [3, 2], "x": 149, "y": 38 }, + { "flags": 1, "matrix": [3, 1], "x": 74, "y": 38 }, + { "flags": 1, "matrix": [3, 0], "x": 0, "y": 38 }, + { "flags": 1, "matrix": [2, 0], "x": 0, "y": 26 }, + { "flags": 1, "matrix": [2, 1], "x": 74, "y": 26 }, + { "flags": 1, "matrix": [2, 2], "x": 149, "y": 26 }, + { "flags": 1, "matrix": [2, 3], "x": 224, "y": 26 }, + { "flags": 1, "matrix": [1, 3], "x": 224, "y": 13 }, + { "flags": 1, "matrix": [1, 2], "x": 149, "y": 13 }, + { "flags": 1, "matrix": [1, 1], "x": 74, "y": 13 }, + { "flags": 9, "matrix": [1, 0], "x": 0, "y": 13 }, + { "flags": 2, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 2, "matrix": [0, 1], "x": 74, "y": 0 }, + { "flags": 2, "matrix": [0, 2], "x": 149, "y": 0 }, + { "flags": 2, "matrix": [0, 3], "x": 224, "y": 0 }, + { "flags": 4, "x": 224, "y": 5 }, + { "flags": 4, "x": 149, "y": 5 }, + { "flags": 4, "x": 74, "y": 5 }, + { "flags": 4, "x": 0, "y": 5 }, + { "flags": 4, "x": 0, "y": 18 }, + { "flags": 4, "x": 0, "y": 31 }, + { "flags": 4, "x": 0, "y": 43 }, + { "flags": 4, "x": 0, "y": 56 }, + { "flags": 4, "x": 0, "y": 64 }, + { "flags": 4, "x": 74, "y": 64 }, + { "flags": 4, "x": 149, "y": 64 }, + { "flags": 4, "x": 224, "y": 64 }, + { "flags": 4, "x": 224, "y": 56 }, + { "flags": 4, "x": 224, "y": 43 }, + { "flags": 4, "x": 224, "y": 31 }, + { "flags": 4, "x": 224, "y": 18 } + ], + "max_brightness": 120 + }, + "ws2812": { + "pin": "B1" + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x000B", + "vid": "0x4C58" + }, + "community_layouts": ["numpad_6x4"], + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + { "label": "K00", "matrix": [0, 0], "x": 0, "y": 0 }, + { "label": "K01", "matrix": [0, 1], "x": 1, "y": 0 }, + { "label": "K02", "matrix": [0, 2], "x": 2, "y": 0 }, + { "label": "K03", "matrix": [0, 3], "x": 3, "y": 0 }, + { "label": "Num Lock", "matrix": [1, 0], "x": 0, "y": 1.25 }, + { "label": "/", "matrix": [1, 1], "x": 1, "y": 1.25 }, + { "label": "*", "matrix": [1, 2], "x": 2, "y": 1.25 }, + { "label": "-", "matrix": [1, 3], "x": 3, "y": 1.25 }, + { "label": "7", "matrix": [2, 0], "x": 0, "y": 2.25 }, + { "label": "8", "matrix": [2, 1], "x": 1, "y": 2.25 }, + { "label": "9", "matrix": [2, 2], "x": 2, "y": 2.25 }, + { "label": "4", "matrix": [3, 0], "x": 0, "y": 3.25 }, + { "label": "5", "matrix": [3, 1], "x": 1, "y": 3.25 }, + { "label": "6", "matrix": [3, 2], "x": 2, "y": 3.25 }, + { "h": 2, "label": "+", "matrix": [2, 3], "x": 3, "y": 2.25 }, + { "label": "1", "matrix": [4, 0], "x": 0, "y": 4.25 }, + { "label": "2", "matrix": [4, 1], "x": 1, "y": 4.25 }, + { "label": "3", "matrix": [4, 2], "x": 2, "y": 4.25 }, + { "label": "0", "matrix": [5, 0], "w": 2, "x": 0, "y": 5.25 }, + { "label": "Del", "matrix": [5, 2], "x": 2, "y": 5.25 }, + { "h": 2, "label": "Enter", "matrix": [4, 3], "x": 3, "y": 4.25 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/linworks/favepada/keymaps/default/keymap.c b/keyboards/linworks/favepada/keymaps/default/keymap.c new file mode 100644 index 000000000000..e17d76109ab0 --- /dev/null +++ b/keyboards/linworks/favepada/keymaps/default/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2020 noroadsleft + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_6x4( + MO(1), KC_A, KC_B, KC_C, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_numpad_6x4( + KC_TRNS, RGB_TOG, RGB_MOD, KC_D, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ) +}; diff --git a/keyboards/linworks/favepada/keymaps/via/keymap.c b/keyboards/linworks/favepada/keymaps/via/keymap.c new file mode 100644 index 000000000000..e98ca5e74176 --- /dev/null +++ b/keyboards/linworks/favepada/keymaps/via/keymap.c @@ -0,0 +1,35 @@ +/* Copyright 2020 noroadsleft + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_6x4( + MO(1), KC_A, KC_B, KC_C, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ), + [1] = LAYOUT_numpad_6x4( + KC_TRNS, RGB_TOG, RGB_MOD, KC_D, + KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ) +}; diff --git a/keyboards/linworks/favepada/keymaps/via/rules.mk b/keyboards/linworks/favepada/keymaps/via/rules.mk new file mode 100644 index 000000000000..36b7ba9cbc98 --- /dev/null +++ b/keyboards/linworks/favepada/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes diff --git a/keyboards/linworks/favepada/readme.md b/keyboards/linworks/favepada/readme.md new file mode 100644 index 000000000000..7f06ca90ca22 --- /dev/null +++ b/keyboards/linworks/favepada/readme.md @@ -0,0 +1,18 @@ +# linworks/favepada + +![linworks/favepada front](https://i.imgur.com/tkKHcL2h.png) +![linworks/favepada back](https://i.imgur.com/1x5UokRh.png) + +* Keyboard Maintainer: [keydler](https://github.com/duilchoi) +* Hardware Supported: +* Hardware Availability: None, feel free to order/manufacture parts yourself. + +Make example for this keyboard (after setting up your build environment): + + make linworks/favepada:default + +Flashing example for this keyboard: + + make linworks/favepada:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/linworks/favepada/rules.mk b/keyboards/linworks/favepada/rules.mk new file mode 100644 index 000000000000..e69de29bb2d1 From f9aba8660a86f9af2ac9e809da63e2f104b03d34 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 21 Aug 2023 22:46:12 +0100 Subject: [PATCH 58/65] Initial support for ALT v2 (#21754) --- keyboards/drop/alt/keymaps/default/keymap.c | 20 ++ keyboards/drop/alt/keymaps/via/config.h | 5 + keyboards/drop/alt/keymaps/via/keymap.c | 20 ++ keyboards/drop/alt/keymaps/via/rules.mk | 1 + keyboards/drop/alt/v2/board.h | 8 + keyboards/drop/alt/v2/config.h | 29 +++ keyboards/drop/alt/v2/halconf.h | 8 + keyboards/drop/alt/v2/info.json | 261 ++++++++++++++++++++ keyboards/drop/alt/v2/mcuconf.h | 20 ++ keyboards/drop/alt/v2/readme.md | 24 ++ keyboards/drop/alt/v2/rules.mk | 4 + keyboards/drop/alt/v2/v2.c | 114 +++++++++ keyboards/drop/lib/common.c | 54 ++++ keyboards/drop/lib/mux.c | 94 +++++++ 14 files changed, 662 insertions(+) create mode 100644 keyboards/drop/alt/keymaps/default/keymap.c create mode 100644 keyboards/drop/alt/keymaps/via/config.h create mode 100644 keyboards/drop/alt/keymaps/via/keymap.c create mode 100644 keyboards/drop/alt/keymaps/via/rules.mk create mode 100644 keyboards/drop/alt/v2/board.h create mode 100644 keyboards/drop/alt/v2/config.h create mode 100644 keyboards/drop/alt/v2/halconf.h create mode 100644 keyboards/drop/alt/v2/info.json create mode 100644 keyboards/drop/alt/v2/mcuconf.h create mode 100644 keyboards/drop/alt/v2/readme.md create mode 100644 keyboards/drop/alt/v2/rules.mk create mode 100644 keyboards/drop/alt/v2/v2.c create mode 100644 keyboards/drop/lib/common.c create mode 100644 keyboards/drop/lib/mux.c diff --git a/keyboards/drop/alt/keymaps/default/keymap.c b/keyboards/drop/alt/keymaps/default/keymap.c new file mode 100644 index 000000000000..28d7232bcfc8 --- /dev/null +++ b/keyboards/drop/alt/keymaps/default/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_DEL, + 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_HOME, + 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, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + 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_MUTE, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/drop/alt/keymaps/via/config.h b/keyboards/drop/alt/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/alt/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/alt/keymaps/via/keymap.c b/keyboards/drop/alt/keymaps/via/keymap.c new file mode 100644 index 000000000000..28d7232bcfc8 --- /dev/null +++ b/keyboards/drop/alt/keymaps/via/keymap.c @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_65_ansi_blocker( + 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_DEL, + 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_HOME, + 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, + 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_PGDN, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_65_ansi_blocker( + 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_MUTE, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_END, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, KC_PGUP, KC_VOLD, + _______, _______, _______, EE_CLR, KC_APP, _______, KC_HOME, KC_PGDN, KC_END + ) +}; diff --git a/keyboards/drop/alt/keymaps/via/rules.mk b/keyboards/drop/alt/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drop/alt/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drop/alt/v2/board.h b/keyboards/drop/alt/v2/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/alt/v2/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/alt/v2/config.h b/keyboards/drop/alt/v2/config.h new file mode 100644 index 000000000000..f3f432390e1a --- /dev/null +++ b/keyboards/drop/alt/v2/config.h @@ -0,0 +1,29 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_BUFFER_DEPTH 4 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_601P5 +#define ADC_RESOLUTION ADC_CFGR_RES_12BITS + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN A9 +#define I2C1_SDA_PIN A10 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B5 +#define EEPROM_I2C_24LC256 + +#define DRIVER_ADDR_1 0b1010011 +#define DRIVER_ADDR_2 0b1011111 +#define DRIVER_COUNT 2 +#define RGB_MATRIX_LED_COUNT 111 +#define ISSI_PWM_FREQUENCY 0b010 // 26k + +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_DEFAULT_VAL 100 +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE +#define RGB_MATRIX_CAPS_LOCK_INDEX 30 diff --git a/keyboards/drop/alt/v2/halconf.h b/keyboards/drop/alt/v2/halconf.h new file mode 100644 index 000000000000..77495ecfa0d0 --- /dev/null +++ b/keyboards/drop/alt/v2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/alt/v2/info.json b/keyboards/drop/alt/v2/info.json new file mode 100644 index 000000000000..432dd4b2d1a1 --- /dev/null +++ b/keyboards/drop/alt/v2/info.json @@ -0,0 +1,261 @@ +{ + "keyboard_name": "ALT v2", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "B4", "B3", "C6", "C7", "C8", "C9", "C10", "C11", "C12", "C13", "C14"], + "rows": ["A0", "A1", "A2", "A3", "B10"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0006", + "device_version": "2.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["65_ansi_blocker"], + "layout_aliases": { + "LAYOUT": "LAYOUT_65_ansi_blocker" + }, + "layouts": { + "LAYOUT_65_ansi_blocker": { + "layout": [ + {"matrix": [0, 0], "label":"ESCAPE", "x":0, "y":0}, + {"matrix": [0, 1], "label":"1", "x":1, "y":0}, + {"matrix": [0, 2], "label":"2", "x":2, "y":0}, + {"matrix": [0, 3], "label":"3", "x":3, "y":0}, + {"matrix": [0, 4], "label":"4", "x":4, "y":0}, + {"matrix": [0, 5], "label":"5", "x":5, "y":0}, + {"matrix": [0, 6], "label":"6", "x":6, "y":0}, + {"matrix": [0, 7], "label":"7", "x":7, "y":0}, + {"matrix": [0, 8], "label":"8", "x":8, "y":0}, + {"matrix": [0, 9], "label":"9", "x":9, "y":0}, + {"matrix": [0, 10], "label":"0", "x":10, "y":0}, + {"matrix": [0, 11], "label":"MINUS", "x":11, "y":0}, + {"matrix": [0, 12], "label":"EQUALS", "x":12, "y":0}, + {"matrix": [0, 13], "label":"BACKSPACE", "x":13, "y":0, "w":2}, + {"matrix": [0, 14], "label":"DELETE", "x":15, "y":0}, + {"matrix": [1, 0], "label":"TAB", "x":0, "y":1, "w":1.5}, + {"matrix": [1, 1], "label":"Q", "x":1.5, "y":1}, + {"matrix": [1, 2], "label":"W", "x":2.5, "y":1}, + {"matrix": [1, 3], "label":"E", "x":3.5, "y":1}, + {"matrix": [1, 4], "label":"R", "x":4.5, "y":1}, + {"matrix": [1, 5], "label":"T", "x":5.5, "y":1}, + {"matrix": [1, 6], "label":"Y", "x":6.5, "y":1}, + {"matrix": [1, 7], "label":"U", "x":7.5, "y":1}, + {"matrix": [1, 8], "label":"I", "x":8.5, "y":1}, + {"matrix": [1, 9], "label":"O", "x":9.5, "y":1}, + {"matrix": [1, 10], "label":"P", "x":10.5, "y":1}, + {"matrix": [1, 11], "label":"LEFT BRACKET", "x":11.5, "y":1}, + {"matrix": [1, 12], "label":"RIGHT BRACKET", "x":12.5, "y":1}, + {"matrix": [1, 13], "label":"BACK SLASH", "x":13.5, "y":1, "w":1.5}, + {"matrix": [1, 14], "label":"HOME", "x":15, "y":1}, + {"matrix": [2, 0], "label":"CAPS LOCK", "x":0, "y":2, "w":1.75}, + {"matrix": [2, 1], "label":"A", "x":1.75, "y":2}, + {"matrix": [2, 2], "label":"S", "x":2.75, "y":2}, + {"matrix": [2, 3], "label":"D", "x":3.75, "y":2}, + {"matrix": [2, 4], "label":"F", "x":4.75, "y":2}, + {"matrix": [2, 5], "label":"G", "x":5.75, "y":2}, + {"matrix": [2, 6], "label":"H", "x":6.75, "y":2}, + {"matrix": [2, 7], "label":"J", "x":7.75, "y":2}, + {"matrix": [2, 8], "label":"K", "x":8.75, "y":2}, + {"matrix": [2, 9], "label":"L", "x":9.75, "y":2}, + {"matrix": [2, 10], "label":"SEMICOLON", "x":10.75, "y":2}, + {"matrix": [2, 11], "label":"SINGLE TICK", "x":11.75, "y":2}, + {"matrix": [2, 13], "label":"ENTER", "x":12.75, "y":2, "w":2.25}, + {"matrix": [2, 14], "label":"PAGE UP", "x":15, "y":2}, + {"matrix": [3, 0], "label":"LEFT SHIFT", "x":0, "y":3, "w":2.25}, + {"matrix": [3, 2], "label":"Z", "x":2.25, "y":3}, + {"matrix": [3, 3], "label":"X", "x":3.25, "y":3}, + {"matrix": [3, 4], "label":"C", "x":4.25, "y":3}, + {"matrix": [3, 5], "label":"V", "x":5.25, "y":3}, + {"matrix": [3, 6], "label":"B", "x":6.25, "y":3}, + {"matrix": [3, 7], "label":"N", "x":7.25, "y":3}, + {"matrix": [3, 8], "label":"M", "x":8.25, "y":3}, + {"matrix": [3, 9], "label":"COMMA", "x":9.25, "y":3}, + {"matrix": [3, 10], "label":"PERIOD", "x":10.25, "y":3}, + {"matrix": [3, 11], "label":"FORWARD SLASH", "x":11.25, "y":3}, + {"matrix": [3, 12], "label":"RIGHT SHIFT", "x":12.25, "y":3, "w":1.75}, + {"matrix": [3, 13], "label":"UP ARROW", "x":14, "y":3}, + {"matrix": [3, 14], "label":"PAGE DOWN", "x":15, "y":3}, + {"matrix": [4, 0], "label":"LEFT CTRL", "x":0, "y":4, "w":1.25}, + {"matrix": [4, 1], "label":"LEFT WIN", "x":1.25, "y":4, "w":1.25}, + {"matrix": [4, 2], "label":"LEFT ALT", "x":2.5, "y":4, "w":1.25}, + {"matrix": [4, 6], "label":"SPACEBAR", "x":3.75, "y":4, "w":6.25}, + {"matrix": [4, 10], "label":"RIGHT ALT", "x":10, "y":4, "w":1.25}, + {"matrix": [4, 11], "label":"FN", "x":11.25, "y":4, "w":1.25}, + {"matrix": [4, 12], "label":"LEFT ARROW", "x":13, "y":4}, + {"matrix": [4, 13], "label":"DOWN ARROW", "x":14, "y":4}, + {"matrix": [4, 14], "label":"RIGHT ARROW", "x":15, "y":4} + ] + } + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 8, "y": 56 }, + { "flags": 4, "matrix": [0, 1], "x": 22, "y": 56 }, + { "flags": 4, "matrix": [0, 2], "x": 35, "y": 56 }, + { "flags": 4, "matrix": [0, 3], "x": 49, "y": 56 }, + { "flags": 4, "matrix": [0, 4], "x": 63, "y": 56 }, + { "flags": 4, "matrix": [0, 5], "x": 77, "y": 56 }, + { "flags": 4, "matrix": [0, 6], "x": 91, "y": 56 }, + { "flags": 4, "matrix": [0, 7], "x": 105, "y": 56 }, + { "flags": 4, "matrix": [0, 8], "x": 118, "y": 56 }, + { "flags": 4, "matrix": [0, 9], "x": 132, "y": 56 }, + { "flags": 4, "matrix": [0, 10], "x": 146, "y": 56 }, + { "flags": 4, "matrix": [0, 11], "x": 160, "y": 56 }, + { "flags": 4, "matrix": [0, 12], "x": 174, "y": 56 }, + { "flags": 4, "matrix": [0, 13], "x": 195, "y": 56 }, + { "flags": 4, "matrix": [0, 14], "x": 215, "y": 56 }, + { "flags": 4, "matrix": [1, 0], "x": 11, "y": 44 }, + { "flags": 4, "matrix": [1, 1], "x": 28, "y": 44 }, + { "flags": 4, "matrix": [1, 2], "x": 42, "y": 44 }, + { "flags": 4, "matrix": [1, 3], "x": 56, "y": 44 }, + { "flags": 4, "matrix": [1, 4], "x": 70, "y": 44 }, + { "flags": 4, "matrix": [1, 5], "x": 84, "y": 44 }, + { "flags": 4, "matrix": [1, 6], "x": 98, "y": 44 }, + { "flags": 4, "matrix": [1, 7], "x": 112, "y": 44 }, + { "flags": 4, "matrix": [1, 8], "x": 125, "y": 44 }, + { "flags": 4, "matrix": [1, 9], "x": 139, "y": 44 }, + { "flags": 4, "matrix": [1, 10], "x": 153, "y": 44 }, + { "flags": 4, "matrix": [1, 11], "x": 167, "y": 44 }, + { "flags": 4, "matrix": [1, 12], "x": 181, "y": 44 }, + { "flags": 4, "matrix": [1, 13], "x": 198, "y": 44 }, + { "flags": 4, "matrix": [1, 14], "x": 215, "y": 44 }, + { "flags": 4, "matrix": [2, 0], "x": 13, "y": 32 }, + { "flags": 4, "matrix": [2, 1], "x": 32, "y": 32 }, + { "flags": 4, "matrix": [2, 2], "x": 46, "y": 32 }, + { "flags": 4, "matrix": [2, 3], "x": 60, "y": 32 }, + { "flags": 4, "matrix": [2, 4], "x": 73, "y": 32 }, + { "flags": 4, "matrix": [2, 5], "x": 87, "y": 32 }, + { "flags": 4, "matrix": [2, 6], "x": 101, "y": 32 }, + { "flags": 4, "matrix": [2, 7], "x": 115, "y": 32 }, + { "flags": 4, "matrix": [2, 8], "x": 129, "y": 32 }, + { "flags": 4, "matrix": [2, 9], "x": 143, "y": 32 }, + { "flags": 4, "matrix": [2, 10], "x": 156, "y": 32 }, + { "flags": 4, "matrix": [2, 11], "x": 170, "y": 32 }, + { "flags": 4, "matrix": [2, 13], "x": 193, "y": 32 }, + { "flags": 4, "matrix": [2, 14], "x": 215, "y": 32 }, + { "flags": 4, "matrix": [3, 0], "x": 16, "y": 19 }, + { "flags": 4, "matrix": [3, 2], "x": 39, "y": 19 }, + { "flags": 4, "matrix": [3, 3], "x": 53, "y": 19 }, + { "flags": 4, "matrix": [3, 4], "x": 67, "y": 19 }, + { "flags": 4, "matrix": [3, 5], "x": 80, "y": 19 }, + { "flags": 4, "matrix": [3, 6], "x": 94, "y": 19 }, + { "flags": 4, "matrix": [3, 7], "x": 108, "y": 19 }, + { "flags": 4, "matrix": [3, 8], "x": 122, "y": 19 }, + { "flags": 4, "matrix": [3, 9], "x": 136, "y": 19 }, + { "flags": 4, "matrix": [3, 10], "x": 150, "y": 19 }, + { "flags": 4, "matrix": [3, 11], "x": 163, "y": 19 }, + { "flags": 4, "matrix": [3, 12], "x": 182, "y": 19 }, + { "flags": 4, "matrix": [3, 13], "x": 201, "y": 19 }, + { "flags": 4, "matrix": [3, 14], "x": 215, "y": 19 }, + { "flags": 4, "matrix": [4, 0], "x": 9, "y": 7 }, + { "flags": 4, "matrix": [4, 1], "x": 27, "y": 7 }, + { "flags": 4, "matrix": [4, 2], "x": 44, "y": 7 }, + { "flags": 4, "matrix": [4, 6], "x": 96, "y": 7 }, + { "flags": 4, "matrix": [4, 10], "x": 148, "y": 7 }, + { "flags": 4, "matrix": [4, 11], "x": 165, "y": 7 }, + { "flags": 4, "matrix": [4, 12], "x": 188, "y": 7 }, + { "flags": 4, "matrix": [4, 13], "x": 201, "y": 7 }, + { "flags": 4, "matrix": [4, 14], "x": 215, "y": 7 }, + { "flags": 2, "x": 1, "y": 1 }, + { "flags": 2, "x": 15, "y": 0 }, + { "flags": 2, "x": 31, "y": 0 }, + { "flags": 2, "x": 47, "y": 0 }, + { "flags": 2, "x": 63, "y": 0 }, + { "flags": 2, "x": 79, "y": 0 }, + { "flags": 2, "x": 95, "y": 0 }, + { "flags": 2, "x": 112, "y": 0 }, + { "flags": 2, "x": 128, "y": 0 }, + { "flags": 2, "x": 144, "y": 0 }, + { "flags": 2, "x": 160, "y": 0 }, + { "flags": 2, "x": 176, "y": 0 }, + { "flags": 2, "x": 192, "y": 0 }, + { "flags": 2, "x": 208, "y": 0 }, + { "flags": 2, "x": 222, "y": 1 }, + { "flags": 2, "x": 224, "y": 13 }, + { "flags": 2, "x": 224, "y": 25 }, + { "flags": 2, "x": 224, "y": 38 }, + { "flags": 2, "x": 224, "y": 50 }, + { "flags": 2, "x": 222, "y": 62 }, + { "flags": 2, "x": 191, "y": 64 }, + { "flags": 2, "x": 179, "y": 64 }, + { "flags": 2, "x": 167, "y": 64 }, + { "flags": 2, "x": 153, "y": 64 }, + { "flags": 2, "x": 139, "y": 64 }, + { "flags": 2, "x": 125, "y": 64 }, + { "flags": 2, "x": 112, "y": 64 }, + { "flags": 2, "x": 98, "y": 64 }, + { "flags": 2, "x": 84, "y": 64 }, + { "flags": 2, "x": 70, "y": 64 }, + { "flags": 2, "x": 56, "y": 64 }, + { "flags": 2, "x": 42, "y": 64 }, + { "flags": 2, "x": 28, "y": 64 }, + { "flags": 2, "x": 1, "y": 62 }, + { "flags": 2, "x": 0, "y": 50 }, + { "flags": 2, "x": 0, "y": 38 }, + { "flags": 2, "x": 0, "y": 25 }, + { "flags": 2, "x": 0, "y": 13 } + ] + } +} diff --git a/keyboards/drop/alt/v2/mcuconf.h b/keyboards/drop/alt/v2/mcuconf.h new file mode 100644 index 000000000000..dc3e45dac054 --- /dev/null +++ b/keyboards/drop/alt/v2/mcuconf.h @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_ADC_USE_ADC2 +#define STM32_ADC_USE_ADC2 TRUE + +#undef STM32_ADC_USE_ADC3 +#define STM32_ADC_USE_ADC3 TRUE + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/drop/alt/v2/readme.md b/keyboards/drop/alt/v2/readme.md new file mode 100644 index 000000000000..bf69d4b28967 --- /dev/null +++ b/keyboards/drop/alt/v2/readme.md @@ -0,0 +1,24 @@ +# ALT v2 + +The Drop ALT v2 is a 65% mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop ALT Mechanical Keyboard](https://drop.com/buy/drop-alt-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/alt/v2:default + +Flashing example for this keyboard: + + make drop/alt/v2:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/alt/v2/rules.mk b/keyboards/drop/alt/v2/rules.mk new file mode 100644 index 000000000000..a504f81cb146 --- /dev/null +++ b/keyboards/drop/alt/v2/rules.mk @@ -0,0 +1,4 @@ +UF2_DEVICE_TYPE_ID = 0x35446147 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += analog.c lib/common.c lib/mux.c diff --git a/keyboards/drop/alt/v2/v2.c b/keyboards/drop/alt/v2/v2.c new file mode 100644 index 000000000000..2e183fe4d82b --- /dev/null +++ b/keyboards/drop/alt/v2/v2.c @@ -0,0 +1,114 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + { 1, B_2, A_2, C_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 1, B_13, A_13, C_13 }, + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, B_7, A_7, C_7 }, + { 1, E_2, D_2, F_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_6, G_6, I_6 }, + { 1, H_7, G_7, I_7 }, + { 1, H_8, G_8, I_8 }, + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, K_11, J_11, L_11 }, + { 0, H_6, G_6, I_6 }, + { 0, E_7, D_7, F_7 }, + { 1, H_2, G_2, I_2 }, + { 1, K_3, J_3, L_3 }, + { 1, K_4, J_4, L_4 }, + { 1, K_5, J_5, L_5 }, + { 1, K_6, J_6, L_6 }, + { 1, K_7, J_7, L_7 }, + { 1, K_8, J_8, L_8 }, + { 0, K_1, J_1, L_1 }, + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, H_7, G_7, I_7 }, + { 1, K_2, J_2, L_2 }, + { 1, E_9, D_9, F_9 }, + { 1, B_9, A_9, C_9 }, + { 1, K_9, J_9, L_9 }, + { 1, H_9, G_9, I_9 }, + { 1, K_12, J_12, L_12 }, + { 1, K_13, J_13, L_13 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 }, + { 0, H_10, G_10, I_10 }, + { 0, H_11, G_11, I_11 }, + { 0, B_11, A_11, C_11 }, + { 0, E_11, D_11, F_11 }, + { 0, K_7, J_7, L_7 }, + { 1, H_10, G_10, I_10 }, + { 1, E_10, D_10, F_10 }, + { 1, B_10, A_10, C_10 }, + { 1, H_12, G_12, I_12 }, + { 0, E_10, D_10, F_10 }, + { 0, B_10, A_10, C_10 }, + { 0, B_12, A_12, C_12 }, + { 0, H_12, G_12, I_12 }, + { 0, E_12, D_12, F_12 }, + { 1, K_11, J_11, L_11 }, + { 1, H_11, G_11, I_11 }, + { 1, E_11, D_11, F_11 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, H_13, G_13, I_13 }, + { 0, H_9, G_9, I_9 }, + { 0, E_9, D_9, F_9 }, + { 0, B_9, A_9, C_9 }, + { 0, B_13, A_13, C_13 }, + { 0, H_13, G_13, I_13 }, + { 0, E_13, D_13, F_13 }, + { 0, K_13, J_13, L_13 }, + { 0, K_12, J_12, L_12 }, + { 0, K_8, J_8, L_8 }, + { 0, H_8, G_8, I_8 }, + { 0, E_8, D_8, F_8 }, + { 0, B_8, A_8, C_8 }, + { 0, B_6, A_6, C_6 }, + { 0, B_5, A_5, C_5 }, + { 0, B_4, A_4, C_4 }, + { 0, B_3, A_3, C_3 }, + { 0, B_2, A_2, C_2 }, + { 0, B_1, A_1, C_1 }, + { 0, B_14, A_14, C_14 }, + { 1, B_8, A_8, C_8 }, + { 1, B_7, A_7, C_7 }, + { 1, B_6, A_6, C_6 }, + { 1, B_5, A_5, C_5 }, + { 1, B_4, A_4, C_4 }, + { 1, B_3, A_3, C_3 }, + { 1, B_1, A_1, C_1 }, + { 1, E_1, D_1, F_1 }, + { 1, H_1, G_1, I_1 }, + { 1, K_1, J_1, L_1 }, + { 1, K_10, J_10, L_10 }, +}; + +#endif diff --git a/keyboards/drop/lib/common.c b/keyboards/drop/lib/common.c new file mode 100644 index 000000000000..515625a68637 --- /dev/null +++ b/keyboards/drop/lib/common.c @@ -0,0 +1,54 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "host.h" +# include "rgb_matrix.h" + +# define LED_FLAG_ANY_SWITCH (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR) + +# ifdef RGB_MATRIX_CAPS_LOCK_INDEX +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + + if (host_keyboard_led_state().caps_lock) { + rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_WHITE); + } else if ((rgb_matrix_get_flags() & LED_FLAG_ANY_SWITCH) == 0) { + rgb_matrix_set_color(RGB_MATRIX_CAPS_LOCK_INDEX, RGB_OFF); + } + return true; +} +# endif + +# ifdef RGB_MATRIX_CYCLE_ZONES_ENABLE +bool process_record_kb(uint16_t keycode, keyrecord_t *record) { + if (!process_record_user(keycode, record)) { + return false; + } + + if (!record->event.pressed) { + switch (keycode) { + case RGB_TOG: + switch (rgb_matrix_get_flags()) { + case LED_FLAG_ALL: + rgb_matrix_set_flags(LED_FLAG_ANY_SWITCH); + break; + case LED_FLAG_ANY_SWITCH: + rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); + break; + case LED_FLAG_UNDERGLOW: + rgb_matrix_set_flags(LED_FLAG_NONE); + break; + default: + rgb_matrix_set_flags(LED_FLAG_ALL); + break; + } + return false; + } + } + return true; +}; +# endif + +#endif diff --git a/keyboards/drop/lib/mux.c b/keyboards/drop/lib/mux.c new file mode 100644 index 000000000000..85a657544f65 --- /dev/null +++ b/keyboards/drop/lib/mux.c @@ -0,0 +1,94 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include "keyboard.h" +#include "analog.h" +#include "gpio.h" +#include "wait.h" + +#define S_UP B12 +#define E_UP_N B13 +#define S_DN1 B14 +#define E_DN1_N B15 +#define E_VBUS_1 A8 +#define E_VBUS_2 A15 +#define SRC_1 B8 +#define SRC_2 B9 +#define HUB_RESET_N D2 +#define IRST B1 +#define SDB_N B2 +#define C1_A5_SENSE A4 +#define C1_B5_SENSE A7 +#define C2_A5_SENSE C4 +#define C2_B5_SENSE B0 + +static inline void digital_write(pin_t pin, uint8_t level) { + setPinOutput(pin); + writePin(pin, level); +} + +uint16_t v_con_1 = 0; +uint16_t v_con_2 = 0; +uint16_t v_con_3 = 0; +uint16_t v_con_4 = 0; + +void keyboard_USB_enable(void) { + // initial state + digital_write(S_UP, 0); + digital_write(E_UP_N, 1); + digital_write(S_DN1, 1); + digital_write(E_DN1_N, 1); + digital_write(E_VBUS_1, 0); + digital_write(E_VBUS_2, 0); + digital_write(SRC_1, 1); + digital_write(SRC_2, 1); + + setPinInput(C1_A5_SENSE); + setPinInput(C1_B5_SENSE); + setPinInput(C2_A5_SENSE); + setPinInput(C2_B5_SENSE); + + // reset hub + digital_write(HUB_RESET_N, 0); + wait_ms(100); + digital_write(HUB_RESET_N, 1); + + wait_ms(500); // Allow power dissipation time on CC lines + + v_con_1 = analogReadPin(C1_A5_SENSE); + v_con_2 = analogReadPin(C1_B5_SENSE); + v_con_3 = analogReadPin(C2_A5_SENSE); + v_con_4 = analogReadPin(C2_B5_SENSE); + + // TODO: dynamic port port configure logic? + digital_write(E_UP_N, 0); // HOST enable + digital_write(E_DN1_N, 0); // EXTRA enable + digital_write(E_VBUS_1, 1); // USBC-1 enable full power I/O + digital_write(E_VBUS_2, 1); // USBC-2 enable full power I/O + + if ((v_con_1 + v_con_2) > (v_con_3 + v_con_4)) { + digital_write(S_UP, 0); // HOST to USBC-1 + digital_write(S_DN1, 1); // EXTRA to USBC-2 + digital_write(SRC_1, 1); // HOST on USBC-1 + digital_write(SRC_2, 0); // EXTRA available on USBC-2 + } else { + digital_write(S_UP, 1); // EXTRA to USBC-1 + digital_write(S_DN1, 0); // HOST to USBC-2 + digital_write(SRC_1, 0); // EXTRA available on USBC-1 + digital_write(SRC_2, 1); // HOST on USBC-2 + } +} + +void keyboard_ISSI_enable(void) { +#ifdef RGB_MATRIX_ENABLE + digital_write(IRST, 0); + digital_write(SDB_N, 1); +#endif +} + + +void keyboard_pre_init_kb(void) { + keyboard_USB_enable(); + keyboard_ISSI_enable(); + + keyboard_pre_init_user(); +} From f422b3cc9864f332ee33740d033a9a70068369ee Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 21 Aug 2023 22:47:29 +0100 Subject: [PATCH 59/65] Initial support for CTRL v2 (#21755) --- keyboards/drop/ctrl/keymaps/default/keymap.c | 22 ++ keyboards/drop/ctrl/keymaps/via/config.h | 5 + keyboards/drop/ctrl/keymaps/via/keymap.c | 22 ++ keyboards/drop/ctrl/keymaps/via/rules.mk | 1 + keyboards/drop/ctrl/v2/board.h | 8 + keyboards/drop/ctrl/v2/config.h | 29 ++ keyboards/drop/ctrl/v2/halconf.h | 8 + keyboards/drop/ctrl/v2/info.json | 295 +++++++++++++++++++ keyboards/drop/ctrl/v2/mcuconf.h | 20 ++ keyboards/drop/ctrl/v2/readme.md | 24 ++ keyboards/drop/ctrl/v2/rules.mk | 4 + keyboards/drop/ctrl/v2/v2.c | 128 ++++++++ 12 files changed, 566 insertions(+) create mode 100644 keyboards/drop/ctrl/keymaps/default/keymap.c create mode 100644 keyboards/drop/ctrl/keymaps/via/config.h create mode 100644 keyboards/drop/ctrl/keymaps/via/keymap.c create mode 100644 keyboards/drop/ctrl/keymaps/via/rules.mk create mode 100644 keyboards/drop/ctrl/v2/board.h create mode 100644 keyboards/drop/ctrl/v2/config.h create mode 100644 keyboards/drop/ctrl/v2/halconf.h create mode 100644 keyboards/drop/ctrl/v2/info.json create mode 100644 keyboards/drop/ctrl/v2/mcuconf.h create mode 100644 keyboards/drop/ctrl/v2/readme.md create mode 100644 keyboards/drop/ctrl/v2/rules.mk create mode 100644 keyboards/drop/ctrl/v2/v2.c diff --git a/keyboards/drop/ctrl/keymaps/default/keymap.c b/keyboards/drop/ctrl/keymaps/default/keymap.c new file mode 100644 index 000000000000..82b108892175 --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, 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_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/ctrl/keymaps/via/config.h b/keyboards/drop/ctrl/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/ctrl/keymaps/via/keymap.c b/keyboards/drop/ctrl/keymaps/via/keymap.c new file mode 100644 index 000000000000..82b108892175 --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_tkl_ansi( + KC_ESC, 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_PSCR, KC_SCRL, KC_PAUS, + KC_GRV, 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_INS, KC_HOME, KC_PGUP, + 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, KC_END, KC_PGDN, + 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_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_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT + ), + [1] = LAYOUT_tkl_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_MSTP, KC_VOLU, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/ctrl/keymaps/via/rules.mk b/keyboards/drop/ctrl/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drop/ctrl/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drop/ctrl/v2/board.h b/keyboards/drop/ctrl/v2/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/ctrl/v2/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/ctrl/v2/config.h b/keyboards/drop/ctrl/v2/config.h new file mode 100644 index 000000000000..539c505cb38c --- /dev/null +++ b/keyboards/drop/ctrl/v2/config.h @@ -0,0 +1,29 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_BUFFER_DEPTH 4 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_601P5 +#define ADC_RESOLUTION ADC_CFGR_RES_12BITS + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN A9 +#define I2C1_SDA_PIN A10 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B5 +#define EEPROM_I2C_24LC256 + +#define DRIVER_ADDR_1 0b1010011 +#define DRIVER_ADDR_2 0b1011111 +#define DRIVER_COUNT 2 +#define RGB_MATRIX_LED_COUNT 119 +#define ISSI_PWM_FREQUENCY 0b010 // 26k + +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_DEFAULT_VAL 100 +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE +#define RGB_MATRIX_CAPS_LOCK_INDEX 50 diff --git a/keyboards/drop/ctrl/v2/halconf.h b/keyboards/drop/ctrl/v2/halconf.h new file mode 100644 index 000000000000..77495ecfa0d0 --- /dev/null +++ b/keyboards/drop/ctrl/v2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/ctrl/v2/info.json b/keyboards/drop/ctrl/v2/info.json new file mode 100644 index 000000000000..30b86db9b5e9 --- /dev/null +++ b/keyboards/drop/ctrl/v2/info.json @@ -0,0 +1,295 @@ +{ + "keyboard_name": "CTRL v2", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "C6", "C7", "C8", "C9"], + "rows": ["A0", "A1", "A2", "A3", "C10", "C11", "C12", "B3", "C14", "C13", "C15"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x0009", + "device_version": "2.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "community_layouts": ["tkl_ansi"], + "layout_aliases": { + "LAYOUT": "LAYOUT_tkl_ansi" + }, + "layouts": { + "LAYOUT_tkl_ansi": { + "layout": [ + {"matrix": [0, 0], "label":"ESCAPE", "x":0, "y":0}, + {"matrix": [0, 1], "label":"F1", "x":2, "y":0}, + {"matrix": [0, 2], "label":"F2", "x":3, "y":0}, + {"matrix": [0, 3], "label":"F3", "x":4, "y":0}, + {"matrix": [0, 4], "label":"F4", "x":5, "y":0}, + {"matrix": [0, 5], "label":"F5", "x":6.5, "y":0}, + {"matrix": [0, 6], "label":"F6", "x":7.5, "y":0}, + {"matrix": [0, 7], "label":"F7", "x":8.5, "y":0}, + {"matrix": [6, 0], "label":"F8", "x":9.5, "y":0}, + {"matrix": [6, 1], "label":"F9", "x":11, "y":0}, + {"matrix": [6, 2], "label":"F10", "x":12, "y":0}, + {"matrix": [6, 3], "label":"F11", "x":13, "y":0}, + {"matrix": [6, 4], "label":"F12", "x":14, "y":0}, + {"matrix": [6, 5], "label":"PRINT SCREEN", "x":15.5, "y":0}, + {"matrix": [6, 6], "label":"SCROLL LOCK", "x":16.5, "y":0}, + {"matrix": [6, 7], "label":"PAUSE BREAK", "x":17.5, "y":0}, + {"matrix": [1, 0], "label":"BACKTICK", "x":0, "y":1.5}, + {"matrix": [1, 1], "label":"1", "x":1, "y":1.5}, + {"matrix": [1, 2], "label":"2", "x":2, "y":1.5}, + {"matrix": [1, 3], "label":"3", "x":3, "y":1.5}, + {"matrix": [1, 4], "label":"4", "x":4, "y":1.5}, + {"matrix": [1, 5], "label":"5", "x":5, "y":1.5}, + {"matrix": [1, 6], "label":"6", "x":6, "y":1.5}, + {"matrix": [1, 7], "label":"7", "x":7, "y":1.5}, + {"matrix": [7, 0], "label":"8", "x":8, "y":1.5}, + {"matrix": [7, 1], "label":"9", "x":9, "y":1.5}, + {"matrix": [7, 2], "label":"0", "x":10, "y":1.5}, + {"matrix": [7, 3], "label":"MINUS", "x":11, "y":1.5}, + {"matrix": [7, 4], "label":"EQUALS", "x":12, "y":1.5}, + {"matrix": [7, 5], "label":"BACKSPACE", "x":13, "y":1.5, "w":2}, + {"matrix": [7, 6], "label":"INSERT", "x":15.5, "y":1.5}, + {"matrix": [7, 7], "label":"HOME", "x":16.5, "y":1.5}, + {"matrix": [9, 7], "label":"PAGE UP", "x":17.5, "y":1.5}, + {"matrix": [2, 0], "label":"TAB", "x":0, "y":2.5, "w":1.5}, + {"matrix": [2, 1], "label":"Q", "x":1.5, "y":2.5}, + {"matrix": [2, 2], "label":"W", "x":2.5, "y":2.5}, + {"matrix": [2, 3], "label":"E", "x":3.5, "y":2.5}, + {"matrix": [2, 4], "label":"R", "x":4.5, "y":2.5}, + {"matrix": [2, 5], "label":"T", "x":5.5, "y":2.5}, + {"matrix": [2, 6], "label":"Y", "x":6.5, "y":2.5}, + {"matrix": [2, 7], "label":"U", "x":7.5, "y":2.5}, + {"matrix": [8, 0], "label":"I", "x":8.5, "y":2.5}, + {"matrix": [8, 1], "label":"O", "x":9.5, "y":2.5}, + {"matrix": [8, 2], "label":"P", "x":10.5, "y":2.5}, + {"matrix": [8, 3], "label":"LEFT BRACKET", "x":11.5, "y":2.5}, + {"matrix": [8, 4], "label":"RIGHT BRACKET", "x":12.5, "y":2.5}, + {"matrix": [8, 5], "label":"BACK SLASH", "x":13.5, "y":2.5, "w":1.5}, + {"matrix": [8, 6], "label":"DELETE", "x":15.5, "y":2.5}, + {"matrix": [8, 7], "label":"END", "x":16.5, "y":2.5}, + {"matrix": [9, 6], "label":"PAGE DOWN", "x":17.5, "y":2.5}, + {"matrix": [3, 0], "label":"CAPS LOCK", "x":0, "y":3.5, "w":1.75}, + {"matrix": [3, 1], "label":"A", "x":1.75, "y":3.5}, + {"matrix": [3, 2], "label":"S", "x":2.75, "y":3.5}, + {"matrix": [3, 3], "label":"D", "x":3.75, "y":3.5}, + {"matrix": [3, 4], "label":"F", "x":4.75, "y":3.5}, + {"matrix": [3, 5], "label":"G", "x":5.75, "y":3.5}, + {"matrix": [3, 6], "label":"H", "x":6.75, "y":3.5}, + {"matrix": [3, 7], "label":"J", "x":7.75, "y":3.5}, + {"matrix": [9, 0], "label":"K", "x":8.75, "y":3.5}, + {"matrix": [9, 1], "label":"L", "x":9.75, "y":3.5}, + {"matrix": [9, 2], "label":"SEMICOLON", "x":10.75, "y":3.5}, + {"matrix": [9, 3], "label":"SINGLE TICK", "x":11.75, "y":3.5}, + {"matrix": [9, 4], "label":"ENTER", "x":12.75, "y":3.5, "w":2.25}, + {"matrix": [4, 0], "label":"LEFT SHIFT", "x":0, "y":4.5, "w":2.25}, + {"matrix": [4, 1], "label":"Z", "x":2.25, "y":4.5}, + {"matrix": [4, 2], "label":"X", "x":3.25, "y":4.5}, + {"matrix": [4, 3], "label":"C", "x":4.25, "y":4.5}, + {"matrix": [4, 4], "label":"V", "x":5.25, "y":4.5}, + {"matrix": [4, 5], "label":"B", "x":6.25, "y":4.5}, + {"matrix": [4, 6], "label":"N", "x":7.25, "y":4.5}, + {"matrix": [4, 7], "label":"M", "x":8.25, "y":4.5}, + {"matrix": [10, 0], "label":"COMMA", "x":9.25, "y":4.5}, + {"matrix": [10, 1], "label":"PERIOD", "x":10.25, "y":4.5}, + {"matrix": [10, 2], "label":"FORWARD SLASH", "x":11.25, "y":4.5}, + {"matrix": [10, 3], "label":"RIGHT SHIFT", "x":12.25, "y":4.5, "w":2.75}, + {"matrix": [9, 5], "label":"UP ARROW", "x":16.5, "y":4.5}, + {"matrix": [5, 0], "label":"LEFT CTRL", "x":0, "y":5.5, "w":1.25}, + {"matrix": [5, 1], "label":"LEFT WIN", "x":1.25, "y":5.5, "w":1.25}, + {"matrix": [5, 2], "label":"LEFT ALT", "x":2.5, "y":5.5, "w":1.25}, + {"matrix": [5, 3], "label":"SPACEBAR", "x":3.75, "y":5.5, "w":6.25}, + {"matrix": [5, 4], "label":"RIGHT ALT", "x":10, "y":5.5, "w":1.25}, + {"matrix": [5, 5], "label":"FN", "x":11.25, "y":5.5, "w":1.25}, + {"matrix": [5, 6], "label":"MENU", "x":12.5, "y":5.5, "w":1.25}, + {"matrix": [5, 7], "label":"RIGHT CTRL", "x":13.75, "y":5.5, "w":1.25}, + {"matrix": [10, 4], "label":"LEFT ARROW", "x":15.5, "y":5.5}, + {"matrix": [10, 5], "label":"DOWN ARROW", "x":16.5, "y":5.5}, + {"matrix": [10, 6], "label":"RIGHT ARROW", "x":17.5, "y":5.5} + ] + } + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 1, "matrix": [0, 0], "x": 7, "y": 5 }, + { "flags": 4, "matrix": [0, 1], "x": 31, "y": 5 }, + { "flags": 4, "matrix": [0, 2], "x": 43, "y": 5 }, + { "flags": 4, "matrix": [0, 3], "x": 55, "y": 5 }, + { "flags": 4, "matrix": [0, 4], "x": 67, "y": 5 }, + { "flags": 1, "matrix": [0, 5], "x": 85, "y": 5 }, + { "flags": 1, "matrix": [0, 6], "x": 97, "y": 5 }, + { "flags": 1, "matrix": [0, 7], "x": 109, "y": 5 }, + { "flags": 1, "matrix": [6, 0], "x": 121, "y": 5 }, + { "flags": 4, "matrix": [6, 1], "x": 139, "y": 5 }, + { "flags": 4, "matrix": [6, 2], "x": 151, "y": 5 }, + { "flags": 4, "matrix": [6, 3], "x": 163, "y": 5 }, + { "flags": 4, "matrix": [6, 4], "x": 175, "y": 5 }, + { "flags": 1, "matrix": [6, 5], "x": 193, "y": 5 }, + { "flags": 9, "matrix": [6, 6], "x": 205, "y": 5 }, + { "flags": 1, "matrix": [6, 7], "x": 217, "y": 5 }, + { "flags": 4, "matrix": [1, 0], "x": 7, "y": 20 }, + { "flags": 4, "matrix": [1, 1], "x": 19, "y": 20 }, + { "flags": 4, "matrix": [1, 2], "x": 31, "y": 20 }, + { "flags": 4, "matrix": [1, 3], "x": 43, "y": 20 }, + { "flags": 4, "matrix": [1, 4], "x": 55, "y": 20 }, + { "flags": 4, "matrix": [1, 5], "x": 67, "y": 20 }, + { "flags": 4, "matrix": [1, 6], "x": 79, "y": 20 }, + { "flags": 4, "matrix": [1, 7], "x": 91, "y": 20 }, + { "flags": 4, "matrix": [7, 0], "x": 103, "y": 20 }, + { "flags": 4, "matrix": [7, 1], "x": 115, "y": 20 }, + { "flags": 4, "matrix": [7, 2], "x": 127, "y": 20 }, + { "flags": 4, "matrix": [7, 3], "x": 139, "y": 20 }, + { "flags": 4, "matrix": [7, 4], "x": 151, "y": 20 }, + { "flags": 1, "matrix": [7, 5], "x": 169, "y": 20 }, + { "flags": 1, "matrix": [7, 6], "x": 193, "y": 20 }, + { "flags": 1, "matrix": [7, 7], "x": 205, "y": 20 }, + { "flags": 1, "matrix": [9, 7], "x": 217, "y": 20 }, + { "flags": 1, "matrix": [2, 0], "x": 10, "y": 30 }, + { "flags": 4, "matrix": [2, 1], "x": 25, "y": 30 }, + { "flags": 4, "matrix": [2, 2], "x": 37, "y": 30 }, + { "flags": 4, "matrix": [2, 3], "x": 49, "y": 30 }, + { "flags": 4, "matrix": [2, 4], "x": 61, "y": 30 }, + { "flags": 4, "matrix": [2, 5], "x": 73, "y": 30 }, + { "flags": 4, "matrix": [2, 6], "x": 85, "y": 30 }, + { "flags": 4, "matrix": [2, 7], "x": 97, "y": 30 }, + { "flags": 4, "matrix": [8, 0], "x": 109, "y": 30 }, + { "flags": 4, "matrix": [8, 1], "x": 121, "y": 30 }, + { "flags": 4, "matrix": [8, 2], "x": 133, "y": 30 }, + { "flags": 4, "matrix": [8, 3], "x": 145, "y": 30 }, + { "flags": 4, "matrix": [8, 4], "x": 157, "y": 30 }, + { "flags": 4, "matrix": [8, 5], "x": 172, "y": 30 }, + { "flags": 1, "matrix": [8, 6], "x": 193, "y": 30 }, + { "flags": 1, "matrix": [8, 7], "x": 205, "y": 30 }, + { "flags": 1, "matrix": [9, 6], "x": 217, "y": 30 }, + { "flags": 9, "matrix": [3, 0], "x": 11, "y": 39 }, + { "flags": 4, "matrix": [3, 1], "x": 28, "y": 39 }, + { "flags": 4, "matrix": [3, 2], "x": 40, "y": 39 }, + { "flags": 4, "matrix": [3, 3], "x": 52, "y": 39 }, + { "flags": 4, "matrix": [3, 4], "x": 64, "y": 39 }, + { "flags": 4, "matrix": [3, 5], "x": 76, "y": 39 }, + { "flags": 4, "matrix": [3, 6], "x": 88, "y": 39 }, + { "flags": 4, "matrix": [3, 7], "x": 100, "y": 39 }, + { "flags": 4, "matrix": [9, 0], "x": 112, "y": 39 }, + { "flags": 4, "matrix": [9, 1], "x": 124, "y": 39 }, + { "flags": 4, "matrix": [9, 2], "x": 136, "y": 39 }, + { "flags": 4, "matrix": [9, 3], "x": 148, "y": 39 }, + { "flags": 1, "matrix": [9, 4], "x": 168, "y": 39 }, + { "flags": 1, "matrix": [4, 0], "x": 14, "y": 49 }, + { "flags": 4, "matrix": [4, 1], "x": 34, "y": 49 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 49 }, + { "flags": 4, "matrix": [4, 3], "x": 58, "y": 49 }, + { "flags": 4, "matrix": [4, 4], "x": 70, "y": 49 }, + { "flags": 4, "matrix": [4, 5], "x": 82, "y": 49 }, + { "flags": 4, "matrix": [4, 6], "x": 94, "y": 49 }, + { "flags": 4, "matrix": [4, 7], "x": 106, "y": 49 }, + { "flags": 4, "matrix": [10, 0], "x": 118, "y": 49 }, + { "flags": 4, "matrix": [10, 1], "x": 130, "y": 49 }, + { "flags": 4, "matrix": [10, 2], "x": 142, "y": 49 }, + { "flags": 1, "matrix": [10, 3], "x": 165, "y": 49 }, + { "flags": 1, "matrix": [9, 5], "x": 205, "y": 49 }, + { "flags": 1, "matrix": [5, 0], "x": 8, "y": 59 }, + { "flags": 1, "matrix": [5, 1], "x": 23, "y": 59 }, + { "flags": 1, "matrix": [5, 2], "x": 38, "y": 59 }, + { "flags": 4, "matrix": [5, 3], "x": 83, "y": 59 }, + { "flags": 1, "matrix": [5, 4], "x": 129, "y": 59 }, + { "flags": 1, "matrix": [5, 5], "x": 144, "y": 59 }, + { "flags": 1, "matrix": [5, 6], "x": 159, "y": 59 }, + { "flags": 1, "matrix": [5, 7], "x": 174, "y": 59 }, + { "flags": 1, "matrix": [10, 4], "x": 193, "y": 59 }, + { "flags": 1, "matrix": [10, 5], "x": 205, "y": 59 }, + { "flags": 1, "matrix": [10, 6], "x": 217, "y": 59 }, + { "flags": 2, "x": 224, "y": 64 }, + { "flags": 2, "x": 204, "y": 64 }, + { "flags": 2, "x": 186, "y": 64 }, + { "flags": 2, "x": 167, "y": 64 }, + { "flags": 2, "x": 149, "y": 64 }, + { "flags": 2, "x": 130, "y": 64 }, + { "flags": 2, "x": 112, "y": 64 }, + { "flags": 2, "x": 94, "y": 64 }, + { "flags": 2, "x": 75, "y": 64 }, + { "flags": 2, "x": 57, "y": 64 }, + { "flags": 2, "x": 38, "y": 64 }, + { "flags": 2, "x": 20, "y": 64 }, + { "flags": 2, "x": 0, "y": 64 }, + { "flags": 2, "x": 0, "y": 47 }, + { "flags": 2, "x": 0, "y": 32 }, + { "flags": 2, "x": 0, "y": 17 }, + { "flags": 2, "x": 0, "y": 0 }, + { "flags": 2, "x": 20, "y": 0 }, + { "flags": 2, "x": 38, "y": 0 }, + { "flags": 2, "x": 57, "y": 0 }, + { "flags": 2, "x": 75, "y": 0 }, + { "flags": 2, "x": 94, "y": 0 }, + { "flags": 2, "x": 112, "y": 0 }, + { "flags": 2, "x": 130, "y": 0 }, + { "flags": 2, "x": 149, "y": 0 }, + { "flags": 2, "x": 167, "y": 0 }, + { "flags": 2, "x": 186, "y": 0 }, + { "flags": 2, "x": 204, "y": 0 }, + { "flags": 2, "x": 224, "y": 0 }, + { "flags": 2, "x": 224, "y": 17 }, + { "flags": 2, "x": 224, "y": 32 }, + { "flags": 2, "x": 224, "y": 47 } + ] + } +} diff --git a/keyboards/drop/ctrl/v2/mcuconf.h b/keyboards/drop/ctrl/v2/mcuconf.h new file mode 100644 index 000000000000..dc3e45dac054 --- /dev/null +++ b/keyboards/drop/ctrl/v2/mcuconf.h @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_ADC_USE_ADC2 +#define STM32_ADC_USE_ADC2 TRUE + +#undef STM32_ADC_USE_ADC3 +#define STM32_ADC_USE_ADC3 TRUE + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/drop/ctrl/v2/readme.md b/keyboards/drop/ctrl/v2/readme.md new file mode 100644 index 000000000000..8e5be108b6dd --- /dev/null +++ b/keyboards/drop/ctrl/v2/readme.md @@ -0,0 +1,24 @@ +# CTRL v2 + +The Drop CTRL v2 is a TKL mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop CTRL Mechanical Keyboard](https://drop.com/buy/drop-ctrl-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/ctrl/v2:default + +Flashing example for this keyboard: + + make drop/ctrl/v2:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/ctrl/v2/rules.mk b/keyboards/drop/ctrl/v2/rules.mk new file mode 100644 index 000000000000..13c11c1833d2 --- /dev/null +++ b/keyboards/drop/ctrl/v2/rules.mk @@ -0,0 +1,4 @@ +UF2_DEVICE_TYPE_ID = 0x27b9a6ea +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += analog.c lib/common.c lib/mux.c diff --git a/keyboards/drop/ctrl/v2/v2.c b/keyboards/drop/ctrl/v2/v2.c new file mode 100644 index 000000000000..6f3091035b7a --- /dev/null +++ b/keyboards/drop/ctrl/v2/v2.c @@ -0,0 +1,128 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + { 1, B_2, A_2, C_2 }, + { 1, E_3, D_3, F_3 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, B_6, A_6, C_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 1, H_1, G_1, I_1 }, + { 1, H_2, G_2, I_2 }, + { 1, H_3, G_3, I_3 }, + { 1, H_4, G_4, I_4 }, + { 1, H_5, G_5, I_5 }, + { 1, H_6, G_6, I_6 }, + { 1, H_7, G_7, I_7 }, + { 1, H_8, G_8, I_8 }, + { 0, H_1, G_1, I_1 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 1, K_1, J_1, L_1 }, + { 1, K_2, J_2, L_2 }, + { 1, K_3, J_3, L_3 }, + { 1, K_4, J_4, L_4 }, + { 1, K_5, J_5, L_5 }, + { 1, K_6, J_6, L_6 }, + { 1, K_7, J_7, L_7 }, + { 1, K_8, J_8, L_8 }, + { 0, K_1, J_1, L_1 }, + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_6, J_6, L_6 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, K_13, J_13, L_13 }, + { 1, K_12, J_12, L_12 }, + { 1, K_11, J_11, L_11 }, + { 1, E_6, D_6, F_6 }, + { 1, K_10, J_10, L_10 }, + { 1, K_9, J_9, L_9 }, + { 0, K_16, J_16, L_16 }, + { 0, K_15, J_15, L_15 }, + { 0, K_14, J_14, L_14 }, + { 0, K_13, J_13, L_13 }, + { 0, K_12, J_12, L_12 }, + { 1, E_14, D_14, F_14 }, + { 1, E_13, D_13, F_13 }, + { 1, H_12, G_12, I_12 }, + { 1, E_12, D_12, F_12 }, + { 1, E_11, D_11, F_11 }, + { 1, E_10, D_10, F_10 }, + { 1, E_9, D_9, F_9 }, + { 1, H_9, G_9, I_9 }, + { 0, H_16, G_16, I_16 }, + { 0, H_15, G_15, I_15 }, + { 0, H_14, G_14, I_14 }, + { 0, H_13, G_13, I_13 }, + { 0, H_11, G_11, I_11 }, + { 1, K_14, J_14, L_14 }, + { 1, H_14, G_14, I_14 }, + { 1, H_13, G_13, I_13 }, + { 1, H_10, G_10, I_10 }, + { 0, E_16, D_16, F_16 }, + { 0, E_15, D_15, F_15 }, + { 0, E_14, D_14, F_14 }, + { 0, E_13, D_13, F_13 }, + { 0, H_12, G_12, I_12 }, + { 0, E_12, D_12, F_12 }, + { 0, E_11, D_11, F_11 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, + { 0, B_14, A_14, C_14 }, + { 0, B_15, A_15, C_15 }, + { 0, B_16, A_16, C_16 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_12, A_12, C_12 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + { 1, B_15, A_15, C_15 }, + { 1, K_15, J_15, L_15 }, + { 1, E_15, D_15, F_15 }, + { 1, H_15, G_15, I_15 }, + { 1, B_1, A_1, C_1 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 0, B_1, A_1, C_1 }, + { 0, B_2, A_2, C_2 }, + { 0, B_3, A_3, C_3 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_8, A_8, C_8 }, + { 0, B_10, A_10, C_10 }, + { 0, H_10, G_10, I_10 }, + { 0, K_10, J_10, L_10 }, + { 0, E_10, D_10, F_10 }, +}; + +#endif From 3f192722b1629e4a4b6fe171d7efc21c3a0d3187 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 21 Aug 2023 22:47:46 +0100 Subject: [PATCH 60/65] Initial support for SHIFT v2 (#21756) --- keyboards/drop/shift/keymaps/default/keymap.c | 22 ++ keyboards/drop/shift/keymaps/via/config.h | 5 + keyboards/drop/shift/keymaps/via/keymap.c | 22 ++ keyboards/drop/shift/keymaps/via/rules.mk | 1 + keyboards/drop/shift/v2/board.h | 8 + keyboards/drop/shift/v2/config.h | 29 ++ keyboards/drop/shift/v2/halconf.h | 8 + keyboards/drop/shift/v2/info.json | 350 ++++++++++++++++++ keyboards/drop/shift/v2/mcuconf.h | 20 + keyboards/drop/shift/v2/readme.md | 24 ++ keyboards/drop/shift/v2/rules.mk | 4 + keyboards/drop/shift/v2/v2.c | 189 ++++++++++ 12 files changed, 682 insertions(+) create mode 100644 keyboards/drop/shift/keymaps/default/keymap.c create mode 100644 keyboards/drop/shift/keymaps/via/config.h create mode 100644 keyboards/drop/shift/keymaps/via/keymap.c create mode 100644 keyboards/drop/shift/keymaps/via/rules.mk create mode 100644 keyboards/drop/shift/v2/board.h create mode 100644 keyboards/drop/shift/v2/config.h create mode 100644 keyboards/drop/shift/v2/halconf.h create mode 100644 keyboards/drop/shift/v2/info.json create mode 100644 keyboards/drop/shift/v2/mcuconf.h create mode 100644 keyboards/drop/shift/v2/readme.md create mode 100644 keyboards/drop/shift/v2/rules.mk create mode 100644 keyboards/drop/shift/v2/v2.c diff --git a/keyboards/drop/shift/keymaps/default/keymap.c b/keyboards/drop/shift/keymaps/default/keymap.c new file mode 100644 index 000000000000..371908bb482a --- /dev/null +++ b/keyboards/drop/shift/keymaps/default/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_1800_ansi( + KC_ESC, 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + KC_GRV, 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_NUM, KC_PSLS, KC_PAST, KC_PSCR, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + [1] = LAYOUT_1800_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_MPLY, KC_MSTP, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_SCRL, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/shift/keymaps/via/config.h b/keyboards/drop/shift/keymaps/via/config.h new file mode 100644 index 000000000000..616f8e329102 --- /dev/null +++ b/keyboards/drop/shift/keymaps/via/config.h @@ -0,0 +1,5 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/drop/shift/keymaps/via/keymap.c b/keyboards/drop/shift/keymaps/via/keymap.c new file mode 100644 index 000000000000..371908bb482a --- /dev/null +++ b/keyboards/drop/shift/keymaps/via/keymap.c @@ -0,0 +1,22 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_1800_ansi( + KC_ESC, 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_DEL, KC_HOME, KC_END, KC_PGUP, KC_PGDN, + KC_GRV, 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_NUM, KC_PSLS, KC_PAST, KC_PSCR, + 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_P7, KC_P8, KC_P9, KC_PMNS, + 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_P4, KC_P5, KC_P6, KC_PPLS, + 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_P1, KC_P2, KC_P3, KC_PENT, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT + ), + [1] = LAYOUT_1800_ansi( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_MPLY, KC_MSTP, KC_VOLU, KC_MUTE, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLD, KC_SCRL, + _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/drop/shift/keymaps/via/rules.mk b/keyboards/drop/shift/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/drop/shift/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/drop/shift/v2/board.h b/keyboards/drop/shift/v2/board.h new file mode 100644 index 000000000000..ed3ea4b1f776 --- /dev/null +++ b/keyboards/drop/shift/v2/board.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_HSECLK +#define STM32_HSECLK 16000000U diff --git a/keyboards/drop/shift/v2/config.h b/keyboards/drop/shift/v2/config.h new file mode 100644 index 000000000000..6c651d1f83a1 --- /dev/null +++ b/keyboards/drop/shift/v2/config.h @@ -0,0 +1,29 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define ADC_BUFFER_DEPTH 4 +#define ADC_SAMPLING_RATE ADC_SMPR_SMP_601P5 +#define ADC_RESOLUTION ADC_CFGR_RES_12BITS + +#define I2C_DRIVER I2CD2 +#define I2C1_SCL_PIN A9 +#define I2C1_SDA_PIN A10 + +#define EXTERNAL_EEPROM_I2C_BASE_ADDRESS 0b10101000 +#define EXTERNAL_EEPROM_WP_PIN B5 +#define EEPROM_I2C_24LC256 + +#define DRIVER_ADDR_1 0b1010011 +#define DRIVER_ADDR_2 0b1011111 +#define DRIVER_ADDR_3 0b1010000 +#define DRIVER_COUNT 3 +#define RGB_MATRIX_LED_COUNT 166 +#define ISSI_PWM_FREQUENCY 0b010 // 26k + +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_DEFAULT_VAL 100 +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE diff --git a/keyboards/drop/shift/v2/halconf.h b/keyboards/drop/shift/v2/halconf.h new file mode 100644 index 000000000000..77495ecfa0d0 --- /dev/null +++ b/keyboards/drop/shift/v2/halconf.h @@ -0,0 +1,8 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#define HAL_USE_ADC TRUE +#define HAL_USE_I2C TRUE + +#include_next diff --git a/keyboards/drop/shift/v2/info.json b/keyboards/drop/shift/v2/info.json new file mode 100644 index 000000000000..f58b76e9d172 --- /dev/null +++ b/keyboards/drop/shift/v2/info.json @@ -0,0 +1,350 @@ +{ + "keyboard_name": "SHIFT v2", + "manufacturer": "Drop Inc.", + "maintainer": "zvecr", + "processor": "STM32F303", + "bootloader": "tinyuf2", + "diode_direction": "COL2ROW", + "matrix_pins": { + "cols": ["C0", "C1", "C2", "C3", "C6", "C7", "C8", "C9", "B3", "B4", "C13", "C14", "C15"], + "rows": ["A0", "A1", "A2", "A3", "B10", "C10", "C11", "C12"] + }, + "usb": { + "vid": "0x359B", + "pid": "0x000C", + "device_version": "2.0.0" + }, + "eeprom": { + "driver": "i2c" + }, + "features": { + "rgb_matrix": true, + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true + }, + "layouts": { + "LAYOUT_1800_ansi": { + "layout": [ + {"matrix": [0, 0], "x":0, "y":0}, + {"matrix": [0, 1], "x":1.25, "y":0}, + {"matrix": [0, 2], "x":2.25, "y":0}, + {"matrix": [1, 2], "x":3.25, "y":0}, + {"matrix": [0, 3], "x":4.25, "y":0}, + {"matrix": [0, 4], "x":5.5, "y":0}, + {"matrix": [0, 5], "x":6.5, "y":0}, + {"matrix": [0, 6], "x":7.5, "y":0}, + {"matrix": [1, 6], "x":8.5, "y":0}, + {"matrix": [0, 7], "x":9.75, "y":0}, + {"matrix": [1, 7], "x":10.75, "y":0}, + {"matrix": [0, 8], "x":11.75, "y":0}, + {"matrix": [1, 8], "x":12.75, "y":0}, + {"matrix": [1, 9], "x":14, "y":0}, + {"matrix": [0, 10], "x":15.5, "y":0}, + {"matrix": [1, 10], "x":16.5, "y":0}, + {"matrix": [0, 11], "x":17.5, "y":0}, + {"matrix": [1, 11], "x":18.5, "y":0}, + {"matrix": [1, 0], "x":0, "y":1.25}, + {"matrix": [1, 1], "x":1, "y":1.25}, + {"matrix": [2, 1], "x":2, "y":1.25}, + {"matrix": [2, 2], "x":3, "y":1.25}, + {"matrix": [3, 2], "x":4, "y":1.25}, + {"matrix": [1, 3], "x":5, "y":1.25}, + {"matrix": [2, 3], "x":6, "y":1.25}, + {"matrix": [1, 4], "x":7, "y":1.25}, + {"matrix": [1, 5], "x":8, "y":1.25}, + {"matrix": [2, 5], "x":9, "y":1.25}, + {"matrix": [2, 6], "x":10, "y":1.25}, + {"matrix": [3, 6], "x":11, "y":1.25}, + {"matrix": [2, 7], "x":12, "y":1.25}, + {"matrix": [2, 8], "x":13, "y":1.25, "w":2}, + {"matrix": [2, 9], "x":15.5, "y":1.25}, + {"matrix": [2, 10], "x":16.5, "y":1.25}, + {"matrix": [2, 11], "x":17.5, "y":1.25}, + {"matrix": [2, 12], "x":18.5, "y":1.25}, + {"matrix": [2, 0], "x":0, "y":2.25, "w":1.5}, + {"matrix": [3, 1], "x":1.5, "y":2.25}, + {"matrix": [4, 1], "x":2.5, "y":2.25}, + {"matrix": [4, 2], "x":3.5, "y":2.25}, + {"matrix": [3, 3], "x":4.5, "y":2.25}, + {"matrix": [4, 3], "x":5.5, "y":2.25}, + {"matrix": [2, 4], "x":6.5, "y":2.25}, + {"matrix": [3, 4], "x":7.5, "y":2.25}, + {"matrix": [3, 5], "x":8.5, "y":2.25}, + {"matrix": [4, 5], "x":9.5, "y":2.25}, + {"matrix": [4, 6], "x":10.5, "y":2.25}, + {"matrix": [3, 7], "x":11.5, "y":2.25}, + {"matrix": [3, 8], "x":12.5, "y":2.25}, + {"matrix": [4, 8], "x":13.5, "y":2.25, "w":1.5}, + {"matrix": [3, 9], "x":15.5, "y":2.25}, + {"matrix": [3, 10], "x":16.5, "y":2.25}, + {"matrix": [3, 11], "x":17.5, "y":2.25}, + {"matrix": [3, 12], "x":18.5, "y":2.25}, + {"matrix": [3, 0], "x":0, "y":3.25, "w":1.75}, + {"matrix": [5, 1], "x":1.75, "y":3.25}, + {"matrix": [6, 1], "x":2.75, "y":3.25}, + {"matrix": [5, 2], "x":3.75, "y":3.25}, + {"matrix": [5, 3], "x":4.75, "y":3.25}, + {"matrix": [6, 3], "x":5.75, "y":3.25}, + {"matrix": [4, 4], "x":6.75, "y":3.25}, + {"matrix": [5, 4], "x":7.75, "y":3.25}, + {"matrix": [5, 5], "x":8.75, "y":3.25}, + {"matrix": [5, 6], "x":9.75, "y":3.25}, + {"matrix": [4, 7], "x":10.75, "y":3.25}, + {"matrix": [5, 8], "x":11.75, "y":3.25}, + {"matrix": [6, 8], "x":12.75, "y":3.25, "w":2.25}, + {"matrix": [4, 9], "x":15.5, "y":3.25}, + {"matrix": [4, 10], "x":16.5, "y":3.25}, + {"matrix": [4, 11], "x":17.5, "y":3.25}, + {"matrix": [4, 12], "x":18.5, "y":3.25}, + {"matrix": [4, 0], "x":0, "y":4.25, "w":2.25}, + {"matrix": [7, 1], "x":2.25, "y":4.25}, + {"matrix": [6, 2], "x":3.25, "y":4.25}, + {"matrix": [7, 2], "x":4.25, "y":4.25}, + {"matrix": [7, 3], "x":5.25, "y":4.25}, + {"matrix": [6, 4], "x":6.25, "y":4.25}, + {"matrix": [7, 5], "x":7.25, "y":4.25}, + {"matrix": [6, 5], "x":8.25, "y":4.25}, + {"matrix": [6, 6], "x":9.25, "y":4.25}, + {"matrix": [5, 7], "x":10.25, "y":4.25}, + {"matrix": [6, 7], "x":11.25, "y":4.25}, + {"matrix": [7, 8], "x":12.25, "y":4.25, "w":1.75}, + {"matrix": [6, 9], "x":14.25, "y":4.5}, + {"matrix": [5, 9], "x":15.5, "y":4.25}, + {"matrix": [5, 10], "x":16.5, "y":4.25}, + {"matrix": [5, 11], "x":17.5, "y":4.25}, + {"matrix": [5, 12], "x":18.5, "y":4.25, "h":2}, + {"matrix": [5, 0], "x":0, "y":5.25, "w":1.25}, + {"matrix": [6, 0], "x":1.25, "y":5.25, "w":1.25}, + {"matrix": [7, 0], "x":2.5, "y":5.25, "w":1.25}, + {"matrix": [7, 4], "x":3.75, "y":5.25, "w":6.25}, + {"matrix": [7, 6], "x":10, "y":5.25, "w":1.5}, + {"matrix": [7, 7], "x":11.5, "y":5.25, "w":1.5}, + {"matrix": [7, 9], "x":13.25, "y":5.5}, + {"matrix": [7, 10], "x":14.25, "y":5.5}, + {"matrix": [6, 10], "x":15.25, "y":5.5}, + {"matrix": [6, 11], "x":16.5, "y":5.25}, + {"matrix": [6, 12], "x":17.5, "y":5.25} + ] + } + }, + "rgb_matrix": { + "driver": "IS31FL3733", + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 6, "y": 7 }, + { "flags": 4, "matrix": [0, 1], "x": 20, "y": 7 }, + { "flags": 4, "matrix": [0, 2], "x": 31, "y": 7 }, + { "flags": 4, "matrix": [1, 2], "x": 43, "y": 7 }, + { "flags": 4, "matrix": [0, 3], "x": 54, "y": 7 }, + { "flags": 4, "matrix": [0, 4], "x": 69, "y": 7 }, + { "flags": 4, "matrix": [0, 5], "x": 80, "y": 7 }, + { "flags": 4, "matrix": [0, 6], "x": 91, "y": 7 }, + { "flags": 4, "matrix": [1, 6], "x": 103, "y": 7 }, + { "flags": 4, "matrix": [0, 7], "x": 117, "y": 7 }, + { "flags": 4, "matrix": [1, 7], "x": 129, "y": 7 }, + { "flags": 4, "matrix": [0, 8], "x": 140, "y": 7 }, + { "flags": 4, "matrix": [1, 8], "x": 152, "y": 7 }, + { "flags": 4, "matrix": [1, 9], "x": 166, "y": 7 }, + { "flags": 4, "matrix": [0, 10], "x": 183, "y": 7 }, + { "flags": 4, "matrix": [1, 10], "x": 194, "y": 7 }, + { "flags": 4, "matrix": [0, 11], "x": 206, "y": 7 }, + { "flags": 4, "matrix": [1, 11], "x": 217, "y": 7 }, + { "flags": 4, "matrix": [1, 0], "x": 6, "y": 18 }, + { "flags": 4, "matrix": [1, 1], "x": 17, "y": 18 }, + { "flags": 4, "matrix": [2, 1], "x": 29, "y": 18 }, + { "flags": 4, "matrix": [2, 2], "x": 40, "y": 18 }, + { "flags": 4, "matrix": [3, 2], "x": 51, "y": 18 }, + { "flags": 4, "matrix": [1, 3], "x": 63, "y": 18 }, + { "flags": 4, "matrix": [2, 3], "x": 74, "y": 18 }, + { "flags": 4, "matrix": [1, 4], "x": 86, "y": 18 }, + { "flags": 4, "matrix": [1, 5], "x": 97, "y": 18 }, + { "flags": 4, "matrix": [2, 5], "x": 109, "y": 18 }, + { "flags": 4, "matrix": [2, 6], "x": 120, "y": 18 }, + { "flags": 4, "matrix": [3, 6], "x": 132, "y": 18 }, + { "flags": 4, "matrix": [2, 7], "x": 143, "y": 18 }, + { "flags": 4, "matrix": [2, 8], "x": 160, "y": 18 }, + { "flags": 4, "matrix": [2, 9], "x": 183, "y": 18 }, + { "flags": 4, "matrix": [2, 10], "x": 194, "y": 18 }, + { "flags": 4, "matrix": [2, 11], "x": 206, "y": 18 }, + { "flags": 4, "matrix": [2, 12], "x": 217, "y": 18 }, + { "flags": 4, "matrix": [2, 0], "x": 9, "y": 27 }, + { "flags": 4, "matrix": [3, 1], "x": 23, "y": 27 }, + { "flags": 4, "matrix": [4, 1], "x": 34, "y": 27 }, + { "flags": 4, "matrix": [4, 2], "x": 46, "y": 27 }, + { "flags": 4, "matrix": [3, 3], "x": 57, "y": 27 }, + { "flags": 4, "matrix": [4, 3], "x": 69, "y": 27 }, + { "flags": 4, "matrix": [2, 4], "x": 80, "y": 27 }, + { "flags": 4, "matrix": [3, 4], "x": 91, "y": 27 }, + { "flags": 4, "matrix": [3, 5], "x": 103, "y": 27 }, + { "flags": 4, "matrix": [4, 5], "x": 114, "y": 27 }, + { "flags": 4, "matrix": [4, 6], "x": 126, "y": 27 }, + { "flags": 4, "matrix": [3, 7], "x": 137, "y": 27 }, + { "flags": 4, "matrix": [3, 8], "x": 149, "y": 27 }, + { "flags": 4, "matrix": [4, 8], "x": 163, "y": 27 }, + { "flags": 4, "matrix": [3, 9], "x": 183, "y": 27 }, + { "flags": 4, "matrix": [3, 10], "x": 194, "y": 27 }, + { "flags": 4, "matrix": [3, 11], "x": 206, "y": 27 }, + { "flags": 4, "matrix": [3, 12], "x": 217, "y": 27 }, + { "flags": 4, "matrix": [3, 0], "x": 10, "y": 36 }, + { "flags": 4, "matrix": [5, 1], "x": 26, "y": 36 }, + { "flags": 4, "matrix": [6, 1], "x": 37, "y": 36 }, + { "flags": 4, "matrix": [5, 2], "x": 49, "y": 36 }, + { "flags": 4, "matrix": [5, 3], "x": 60, "y": 36 }, + { "flags": 4, "matrix": [6, 3], "x": 71, "y": 36 }, + { "flags": 4, "matrix": [4, 4], "x": 83, "y": 36 }, + { "flags": 4, "matrix": [5, 4], "x": 94, "y": 36 }, + { "flags": 4, "matrix": [5, 5], "x": 106, "y": 36 }, + { "flags": 4, "matrix": [5, 6], "x": 117, "y": 36 }, + { "flags": 4, "matrix": [4, 7], "x": 129, "y": 36 }, + { "flags": 4, "matrix": [5, 8], "x": 140, "y": 36 }, + { "flags": 4, "matrix": [6, 8], "x": 159, "y": 36 }, + { "flags": 4, "matrix": [4, 9], "x": 183, "y": 36 }, + { "flags": 4, "matrix": [4, 10], "x": 194, "y": 36 }, + { "flags": 4, "matrix": [4, 11], "x": 206, "y": 36 }, + { "flags": 4, "matrix": [4, 12], "x": 217, "y": 36 }, + { "flags": 4, "matrix": [4, 0], "x": 13, "y": 46 }, + { "flags": 4, "matrix": [7, 1], "x": 31, "y": 46 }, + { "flags": 4, "matrix": [6, 2], "x": 43, "y": 46 }, + { "flags": 4, "matrix": [7, 2], "x": 54, "y": 46 }, + { "flags": 4, "matrix": [7, 3], "x": 66, "y": 46 }, + { "flags": 4, "matrix": [6, 4], "x": 77, "y": 46 }, + { "flags": 4, "matrix": [7, 5], "x": 89, "y": 46 }, + { "flags": 4, "matrix": [6, 5], "x": 100, "y": 46 }, + { "flags": 4, "matrix": [6, 6], "x": 112, "y": 46 }, + { "flags": 4, "matrix": [5, 7], "x": 123, "y": 46 }, + { "flags": 4, "matrix": [6, 7], "x": 134, "y": 46 }, + { "flags": 4, "matrix": [7, 8], "x": 150, "y": 46 }, + { "flags": 4, "matrix": [6, 9], "x": 169, "y": 48 }, + { "flags": 4, "matrix": [5, 9], "x": 183, "y": 46 }, + { "flags": 4, "matrix": [5, 10], "x": 194, "y": 46 }, + { "flags": 4, "matrix": [5, 11], "x": 206, "y": 46 }, + { "flags": 4, "matrix": [5, 12], "x": 214, "y": 50 }, + { "flags": 4, "matrix": [5, 0], "x": 7, "y": 55 }, + { "flags": 4, "matrix": [6, 0], "x": 21, "y": 55 }, + { "flags": 4, "matrix": [7, 0], "x": 36, "y": 55 }, + { "flags": 4, "matrix": [7, 4], "x": 79, "y": 55 }, + { "flags": 4, "matrix": [7, 6], "x": 123, "y": 55 }, + { "flags": 4, "matrix": [7, 7], "x": 140, "y": 55 }, + { "flags": 4, "matrix": [7, 9], "x": 157, "y": 58 }, + { "flags": 4, "matrix": [7, 10], "x": 169, "y": 58 }, + { "flags": 4, "matrix": [6, 10], "x": 180, "y": 58 }, + { "flags": 4, "matrix": [6, 11], "x": 194, "y": 55 }, + { "flags": 4, "matrix": [6, 12], "x": 206, "y": 55 }, + { "flags": 2, "x": 1, "y": 1 }, + { "flags": 2, "x": 6, "y": 0 }, + { "flags": 2, "x": 26, "y": 0 }, + { "flags": 2, "x": 35, "y": 0 }, + { "flags": 2, "x": 45, "y": 0 }, + { "flags": 2, "x": 54, "y": 0 }, + { "flags": 2, "x": 64, "y": 0 }, + { "flags": 2, "x": 74, "y": 0 }, + { "flags": 2, "x": 83, "y": 0 }, + { "flags": 2, "x": 93, "y": 0 }, + { "flags": 2, "x": 102, "y": 0 }, + { "flags": 2, "x": 112, "y": 0 }, + { "flags": 2, "x": 122, "y": 0 }, + { "flags": 2, "x": 131, "y": 0 }, + { "flags": 2, "x": 141, "y": 0 }, + { "flags": 2, "x": 150, "y": 0 }, + { "flags": 2, "x": 160, "y": 0 }, + { "flags": 2, "x": 170, "y": 0 }, + { "flags": 2, "x": 179, "y": 0 }, + { "flags": 2, "x": 189, "y": 0 }, + { "flags": 2, "x": 198, "y": 0 }, + { "flags": 2, "x": 218, "y": 0 }, + { "flags": 2, "x": 222, "y": 1 }, + { "flags": 2, "x": 224, "y": 5 }, + { "flags": 2, "x": 224, "y": 12 }, + { "flags": 2, "x": 224, "y": 20 }, + { "flags": 2, "x": 224, "y": 28 }, + { "flags": 2, "x": 224, "y": 35 }, + { "flags": 2, "x": 224, "y": 43 }, + { "flags": 2, "x": 224, "y": 51 }, + { "flags": 2, "x": 224, "y": 58 }, + { "flags": 2, "x": 222, "y": 64 }, + { "flags": 2, "x": 218, "y": 64 }, + { "flags": 2, "x": 208, "y": 64 }, + { "flags": 2, "x": 198, "y": 64 }, + { "flags": 2, "x": 189, "y": 64 }, + { "flags": 2, "x": 179, "y": 64 }, + { "flags": 2, "x": 170, "y": 64 }, + { "flags": 2, "x": 160, "y": 64 }, + { "flags": 2, "x": 150, "y": 64 }, + { "flags": 2, "x": 141, "y": 64 }, + { "flags": 2, "x": 131, "y": 64 }, + { "flags": 2, "x": 122, "y": 64 }, + { "flags": 2, "x": 112, "y": 64 }, + { "flags": 2, "x": 102, "y": 64 }, + { "flags": 2, "x": 93, "y": 64 }, + { "flags": 2, "x": 83, "y": 64 }, + { "flags": 2, "x": 74, "y": 64 }, + { "flags": 2, "x": 64, "y": 64 }, + { "flags": 2, "x": 54, "y": 64 }, + { "flags": 2, "x": 45, "y": 64 }, + { "flags": 2, "x": 35, "y": 64 }, + { "flags": 2, "x": 26, "y": 64 }, + { "flags": 2, "x": 16, "y": 64 }, + { "flags": 2, "x": 6, "y": 64 }, + { "flags": 2, "x": 1, "y": 64 }, + { "flags": 2, "x": 0, "y": 58 }, + { "flags": 2, "x": 0, "y": 51 }, + { "flags": 2, "x": 0, "y": 43 }, + { "flags": 2, "x": 0, "y": 35 }, + { "flags": 2, "x": 0, "y": 28 }, + { "flags": 2, "x": 0, "y": 20 }, + { "flags": 2, "x": 0, "y": 12 }, + { "flags": 2, "x": 0, "y": 5 }, + { "flags": 8, "x": 174, "y": 5 }, + { "flags": 8, "x": 174, "y": 10 }, + { "flags": 8, "x": 174, "y": 15 } + ] + } +} diff --git a/keyboards/drop/shift/v2/mcuconf.h b/keyboards/drop/shift/v2/mcuconf.h new file mode 100644 index 000000000000..dc3e45dac054 --- /dev/null +++ b/keyboards/drop/shift/v2/mcuconf.h @@ -0,0 +1,20 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#pragma once + +#include_next + +#undef STM32_PLLM_VALUE +#define STM32_PLLM_VALUE 16 + +#undef STM32_PREDIV_VALUE +#define STM32_PREDIV_VALUE 2 + +#undef STM32_ADC_USE_ADC2 +#define STM32_ADC_USE_ADC2 TRUE + +#undef STM32_ADC_USE_ADC3 +#define STM32_ADC_USE_ADC3 TRUE + +#undef STM32_I2C_USE_I2C2 +#define STM32_I2C_USE_I2C2 TRUE diff --git a/keyboards/drop/shift/v2/readme.md b/keyboards/drop/shift/v2/readme.md new file mode 100644 index 000000000000..c9ebc63468f6 --- /dev/null +++ b/keyboards/drop/shift/v2/readme.md @@ -0,0 +1,24 @@ +# SHIFT v2 + +The Drop SHIFT v2 is a compact 1800 layout mechanical keyboard featuring dual USB-C connectors, an integrated Hi-Speed USB 2.0 hub, and fully customizable RGB backlighting and underlighting. + +* Keyboard Maintainer: [zvecr](https://github.com/zvecr) +* Hardware Availability: [Drop SHIFT Mechanical Keyboard](https://drop.com/buy/drop-shift-mechanical-keyboard) + +Make example for this keyboard (after setting up your build environment): + + make drop/shift/v2:default + +Flashing example for this keyboard: + + make drop/shift/v2:default:flash + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard +* **Physical reset button**: Quickly double tap the button located under the spacebar +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/drop/shift/v2/rules.mk b/keyboards/drop/shift/v2/rules.mk new file mode 100644 index 000000000000..aec83326d075 --- /dev/null +++ b/keyboards/drop/shift/v2/rules.mk @@ -0,0 +1,4 @@ +UF2_DEVICE_TYPE_ID = 0x9bc1e968 +UF2CONV_ARGS = --device-type $(UF2_DEVICE_TYPE_ID) + +SRC += analog.c lib/common.c lib/mux.c diff --git a/keyboards/drop/shift/v2/v2.c b/keyboards/drop/shift/v2/v2.c new file mode 100644 index 000000000000..3d96cdf7cba6 --- /dev/null +++ b/keyboards/drop/shift/v2/v2.c @@ -0,0 +1,189 @@ +// Copyright 2023 Massdrop, Inc. +// SPDX-License-Identifier: GPL-2.0-or-later +#ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + +const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { + { 0, K_1, J_1, L_1 },// LED1 + { 0, K_2, J_2, L_2 }, + { 0, K_3, J_3, L_3 }, + { 0, K_4, J_4, L_4 }, + { 0, K_5, J_5, L_5 }, + { 0, K_7, J_7, L_7 }, + { 0, K_8, J_8, L_8 }, + { 0, K_9, J_9, L_9 }, + { 0, K_10, J_10, L_10 },// LED9 + { 1, K_1, J_1, L_1 },// LED10 + { 1, K_2, J_2, L_2 },// LED11 + { 1, K_3, J_3, L_3 },// LED12 + { 1, K_4, J_4, L_4 },// LED13 + { 1, K_9, J_9, L_9 },// LED18 + { 1, K_5, J_5, L_5 },// LED15 + { 1, K_6, J_6, L_6 },// LED19 + { 1, K_7, J_7, L_7 },// LED16 + { 1, K_8, J_8, L_8 },// LED20 + { 0, H_1, G_1, I_1 },//start2 + { 0, H_11, G_11, I_11 }, + { 0, H_2, G_2, I_2 }, + { 0, H_3, G_3, I_3 }, + { 0, H_4, G_4, I_4 }, + { 0, H_5, G_5, I_5 }, + { 0, H_6, G_6, I_6 }, + { 0, H_7, G_7, I_7 }, + { 0, H_8, G_8, I_8 }, + { 0, H_9, G_9, I_9 }, + { 0, H_10, G_10, I_10 }, + { 1, E_1, D_1, F_1 }, + { 1, E_2, D_2, F_2 }, + { 1, E_4, D_4, F_4 }, + { 1, E_5, D_5, F_5 }, + { 1, E_6, D_6, F_6 }, + { 1, E_7, D_7, F_7 }, + { 1, E_8, D_8, F_8 }, + { 0, E_1, D_1, F_1 }, + { 0, E_2, D_2, F_2 }, + { 0, E_3, D_3, F_3 }, + { 0, E_4, D_4, F_4 }, + { 0, E_5, D_5, F_5 }, + { 0, E_6, D_6, F_6 }, + { 0, E_7, D_7, F_7 }, + { 0, E_8, D_8, F_8 }, + { 0, E_9, D_9, F_9 }, + { 0, E_10, D_10, F_10 }, + { 1, B_1, A_1, C_1 }, + { 1, B_2, A_2, C_2 }, + { 1, B_3, A_3, C_3 }, + { 1, B_4, A_4, C_4 }, + { 1, B_5, A_5, C_5 }, + { 1, B_6, A_6, C_6 }, + { 1, B_7, A_7, C_7 }, + { 1, B_8, A_8, C_8 }, + { 0, B_1, A_1, C_1 }, + { 0, B_2, A_2, C_2 }, + { 0, B_3, A_3, C_3 }, + { 0, B_4, A_4, C_4 }, + { 0, B_5, A_5, C_5 }, + { 0, B_6, A_6, C_6 }, + { 0, B_7, A_7, C_7 }, + { 0, B_8, A_8, C_8 }, + { 0, B_9, A_9, C_9 }, + { 0, B_10, A_10, C_10 }, + { 1, B_9, A_9, C_9 }, + { 1, B_10, A_10, C_10 }, + { 1, B_11, A_11, C_11 }, + { 1, B_13, A_13, C_13 }, + { 1, B_14, A_14, C_14 }, + { 1, B_15, A_15, C_15 }, + { 1, B_16, A_16, C_16 }, + { 0, B_11, A_11, C_11 }, + { 0, B_12, A_12, C_12 }, + { 0, B_13, A_13, C_13 }, + { 0, H_13, G_13, I_13 }, + { 0, H_14, G_14, I_14 }, + { 0, B_14, A_14, C_14 }, + { 0, E_15, D_15, F_15 }, + { 0, B_15, A_15, C_15 }, + { 0, B_16, A_16, C_16 }, + { 1, E_9, D_9, F_9 }, + { 1, E_10, D_10, F_10 }, + { 1, E_11, D_11, F_11 }, + { 1, E_12, D_12, F_12 }, + { 1, E_13, D_13, F_13 }, + { 1, E_14, D_14, F_14 }, + { 1, E_15, D_15, F_15 }, + { 1, H_16, G_16, I_16 }, + { 0, E_11, D_11, F_11 },//start6 + { 0, E_12, D_12, F_12 }, + { 0, E_13, D_13, F_13 }, + { 0, E_14, D_14, F_14 }, + { 1, H_9, G_9, I_9 }, + { 1, H_10, G_10, I_10 }, + { 1, H_11, G_11, I_11 }, + { 1, H_12, G_12, I_12 }, + { 1, H_13, G_13, I_13 }, + { 1, H_14, G_14, I_14 }, + { 1, H_15, G_15, I_15 }, + { 2, H_1, G_1, I_1 },//start underglow + { 2, K_1, J_1, L_1 }, + { 2, B_1, A_1, C_1 }, + { 2, E_1, D_1, F_1 }, + { 2, E_2, D_2, F_2 }, + { 2, B_2, A_2, C_2 }, + { 2, B_3, A_3, C_3 }, + { 2, E_3, D_3, F_3 }, + { 2, E_4, D_4, F_4 }, + { 2, B_4, A_4, C_4 }, + { 2, B_5, A_5, C_5 }, + { 2, E_5, D_5, F_5 }, + { 2, E_6, D_6, F_6 }, + { 2, B_6, A_6, C_6 }, + { 2, B_7, A_7, C_7 }, + { 2, E_7, D_7, F_7 }, + { 2, E_8, D_8, F_8 }, + { 2, B_8, A_8, C_8 }, + { 2, B_9, A_9, C_9 }, + { 2, E_9, D_9, F_9 }, + { 2, E_10, D_10, F_10 }, + { 2, B_10, A_10, C_10 }, + { 2, B_11, A_11, C_11 },//125 + { 2, E_11, D_11, F_11 }, + { 2, E_12, D_12, F_12 }, + { 2, B_12, A_12, C_12 }, + { 2, B_13, A_13, C_13 }, + { 2, E_13, D_13, F_13 }, + { 2, E_14, D_14, F_14 }, + { 2, B_14, A_14, C_14 }, + { 2, B_15, A_15, C_15 }, + { 2, E_15, D_15, F_15 }, + { 2, E_16, D_16, F_16 }, + { 2, B_16, A_16, C_16 }, + { 2, H_16, G_16, I_16 }, + { 2, K_16, J_16, L_16 }, + { 2, K_15, J_15, L_15 }, + { 2, H_15, G_15, I_15 }, + { 2, H_14, G_14, I_14 }, + { 2, K_14, J_14, L_14 }, + { 2, K_13, J_13, L_13 }, + { 2, H_13, G_13, I_13 }, + { 2, H_12, G_12, I_12 }, + { 2, K_12, J_12, L_12 }, + { 2, K_11, J_11, L_11 }, + { 2, H_11, G_11, I_11 }, + { 2, H_10, G_10, I_10 }, + { 2, K_10, J_10, L_10 }, + { 2, K_9, J_9, L_9 }, + { 2, H_9, G_9, I_9 }, + { 2, H_8, G_8, I_8 }, + { 2, K_8, J_8, L_8 }, + { 2, K_7, J_7, L_7 }, + { 2, H_7, G_7, I_7 }, + { 2, H_6, G_6, I_6 }, + { 2, K_6, J_6, L_6 }, + { 2, K_5, J_5, L_5 }, + { 2, H_5, G_5, I_5 }, + { 2, H_4, G_4, I_4 }, + { 2, K_4, J_4, L_4 }, + { 2, K_3, J_3, L_3 }, + { 2, H_3, G_3, I_3 }, + { 2, H_2, G_2, I_2 }, + { 2, K_2, J_2, L_2 }, + { 1, K_10, J_10, L_10 }, + { 1, K_11, J_11, L_11 }, + { 1, E_3, D_3, F_3 }, +}; + +bool rgb_matrix_indicators_kb(void) { + if (!rgb_matrix_indicators_user()) { + return false; + } + uint8_t num_state = host_keyboard_led_state().num_lock ? 0xFF : 0; + uint8_t caps_state = host_keyboard_led_state().caps_lock ? 0xFF : 0; + uint8_t scroll_state = host_keyboard_led_state().scroll_lock ? 0xFF : 0; + + rgb_matrix_set_color(163, num_state, num_state, num_state); + rgb_matrix_set_color(164, caps_state, caps_state, caps_state); + rgb_matrix_set_color(165, scroll_state, scroll_state, scroll_state); + return true; +} + +#endif From 1149212b5205760a7234c983a686ce84968f7e02 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 21 Aug 2023 23:20:24 +0100 Subject: [PATCH 61/65] Align SENSE75 with recent Drop additions (#21757) --- keyboards/drop/lib/common.c | 1 + keyboards/drop/sense75/config.h | 65 ++++--------------- keyboards/drop/sense75/info.json | 48 ++++++++++++++ .../drop/sense75/keymaps/default/keymap.c | 9 +-- .../drop/sense75/keymaps/default_md/keymap.c | 18 +---- keyboards/drop/sense75/keymaps/via/keymap.c | 26 +------- keyboards/drop/sense75/rules.mk | 2 +- keyboards/drop/sense75/sense75.c | 4 +- 8 files changed, 66 insertions(+), 107 deletions(-) diff --git a/keyboards/drop/lib/common.c b/keyboards/drop/lib/common.c index 515625a68637..b393e7650b4d 100644 --- a/keyboards/drop/lib/common.c +++ b/keyboards/drop/lib/common.c @@ -2,6 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later #ifdef RGB_MATRIX_ENABLE # include "host.h" +# include "quantum.h" # include "rgb_matrix.h" # define LED_FLAG_ANY_SWITCH (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR) diff --git a/keyboards/drop/sense75/config.h b/keyboards/drop/sense75/config.h index 13b8257fbba2..b8d47c311c2b 100644 --- a/keyboards/drop/sense75/config.h +++ b/keyboards/drop/sense75/config.h @@ -9,58 +9,15 @@ #define EXTERNAL_EEPROM_WP_PIN B7 #define EEPROM_I2C_24LC256 -#ifdef RGB_MATRIX_ENABLE -# define DRIVER_ADDR_1 0b1010000 -# define DRIVER_ADDR_2 0b1011111 -# define DRIVER_COUNT 2 -# define RGB_MATRIX_LED_COUNT (58 + 53) -# define ISSI_PWM_FREQUENCY 0b010 // 26k +#define DRIVER_ADDR_1 0b1010000 +#define DRIVER_ADDR_2 0b1011111 +#define DRIVER_COUNT 2 +#define RGB_MATRIX_LED_COUNT 111 +#define ISSI_PWM_FREQUENCY 0b010 // 26k -# define RGB_DISABLE_WHEN_USB_SUSPENDED -# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_LEFT_RIGHT -# define RGB_MATRIX_KEYPRESSES -# define RGB_MATRIX_FRAMEBUFFER_EFFECTS -# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_BREATHING -# define ENABLE_RGB_MATRIX_BAND_SAT -# define ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# define ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# define ENABLE_RGB_MATRIX_DUAL_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -# define ENABLE_RGB_MATRIX_RAINDROPS -# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_HUE_BREATHING -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_RAIN -# define ENABLE_RGB_MATRIX_HUE_PENDULUM -# define ENABLE_RGB_MATRIX_HUE_WAVE -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# define ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -# define ENABLE_RGB_MATRIX_SOLID_SPLASH -# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_KEYPRESSES +#define RGB_MATRIX_FRAMEBUFFER_EFFECTS + +#define RGB_MATRIX_CYCLE_ZONES_ENABLE +#define RGB_MATRIX_CAPS_LOCK_INDEX 62 diff --git a/keyboards/drop/sense75/info.json b/keyboards/drop/sense75/info.json index f5df3d61524b..d54c4eb6566e 100644 --- a/keyboards/drop/sense75/info.json +++ b/keyboards/drop/sense75/info.json @@ -14,6 +14,9 @@ "pid": "0x0001", "device_version": "1.0.0" }, + "eeprom": { + "driver": "i2c" + }, "features": { "rgb_matrix": true, "encoder": true, @@ -114,6 +117,51 @@ }, "rgb_matrix": { "driver": "IS31FL3733", + "animations": { + "alphas_mods": true, + "gradient_up_down": true, + "gradient_left_right": true, + "breathing": true, + "band_sat": true, + "band_val": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_up_down": true, + "cycle_out_in": true, + "cycle_out_in_dual": true, + "rainbow_moving_chevron": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "dual_beacon": true, + "rainbow_beacon": true, + "rainbow_pinwheels": true, + "raindrops": true, + "jellybean_raindrops": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "pixel_fractal": true, + "pixel_flow": true, + "pixel_rain": true, + "typing_heatmap": true, + "digital_rain": true, + "solid_reactive_simple": true, + "solid_reactive": true, + "solid_reactive_wide": true, + "solid_reactive_multiwide": true, + "solid_reactive_cross": true, + "solid_reactive_multicross": true, + "solid_reactive_nexus": true, + "solid_reactive_multinexus": true, + "splash": true, + "multisplash": true, + "solid_splash": true, + "solid_multisplash": true + }, "layout": [ {"flags": 2, "x": 2, "y": 0}, {"flags": 2, "x": 22, "y": 0}, diff --git a/keyboards/drop/sense75/keymaps/default/keymap.c b/keyboards/drop/sense75/keymaps/default/keymap.c index 44d58b052103..36b17d967ea5 100644 --- a/keyboards/drop/sense75/keymaps/default/keymap.c +++ b/keyboards/drop/sense75/keymaps/default/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, - _______, _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______ + _______, _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ) }; @@ -44,10 +44,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [1] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) } }; #endif - -bool rgb_matrix_indicators_user(void) { - if (host_keyboard_led_state().caps_lock) { - rgb_matrix_set_color(62, RGB_WHITE); - } - return false; -} diff --git a/keyboards/drop/sense75/keymaps/default_md/keymap.c b/keyboards/drop/sense75/keymaps/default_md/keymap.c index 871cdb2b6dca..fb81be272134 100644 --- a/keyboards/drop/sense75/keymaps/default_md/keymap.c +++ b/keyboards/drop/sense75/keymaps/default_md/keymap.c @@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, - MO(2), _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______ + MO(2), _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -86,22 +86,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { rgb_matrix_sethsv_noeeprom(HSV_WHITE); test_mode = true; break; - case RGB_TOG: - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); - break; - case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - break; - case LED_FLAG_UNDERGLOW: - rgb_matrix_set_flags(LED_FLAG_NONE); - break; - default: - rgb_matrix_set_flags(LED_FLAG_ALL); - break; - } - return false; } } return true; diff --git a/keyboards/drop/sense75/keymaps/via/keymap.c b/keyboards/drop/sense75/keymaps/via/keymap.c index 7304ec42d539..12328cc1482d 100644 --- a/keyboards/drop/sense75/keymaps/via/keymap.c +++ b/keyboards/drop/sense75/keymaps/via/keymap.c @@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, RGB_TOG, RGB_VAI, RGB_SPI, RGB_HUI, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, _______, RGB_MOD, RGB_VAD, RGB_SPD, RGB_HUD, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_END, _______, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,_______, NK_TOGG, _______, _______, _______, _______, _______, _______, - MO(2), _______, _______, EE_CLR, _______, _______, _______, _______, _______, _______ + MO(2), _______, _______, EE_CLR, KC_APP, _______, _______, _______, _______, _______ ), [2] = LAYOUT( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -53,27 +53,3 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [2] = { ENCODER_CCW_CW(_______, _______) } }; #endif - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - if (!record->event.pressed) { - switch (keycode) { - case RGB_TOG: - switch (rgb_matrix_get_flags()) { - case LED_FLAG_ALL: - rgb_matrix_set_flags(LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR); - break; - case (LED_FLAG_KEYLIGHT | LED_FLAG_MODIFIER | LED_FLAG_INDICATOR): - rgb_matrix_set_flags(LED_FLAG_UNDERGLOW); - break; - case LED_FLAG_UNDERGLOW: - rgb_matrix_set_flags(LED_FLAG_NONE); - break; - default: - rgb_matrix_set_flags(LED_FLAG_ALL); - break; - } - return false; - } - } - return true; -}; diff --git a/keyboards/drop/sense75/rules.mk b/keyboards/drop/sense75/rules.mk index 44adba039b51..ed0ad9a493cb 100644 --- a/keyboards/drop/sense75/rules.mk +++ b/keyboards/drop/sense75/rules.mk @@ -1 +1 @@ -EEPROM_DRIVER = i2c +SRC += lib/common.c diff --git a/keyboards/drop/sense75/sense75.c b/keyboards/drop/sense75/sense75.c index cbc194ee8fbc..40577054cc13 100644 --- a/keyboards/drop/sense75/sense75.c +++ b/keyboards/drop/sense75/sense75.c @@ -1,8 +1,8 @@ // Copyright 2022 Massdrop, Inc. // SPDX-License-Identifier: GPL-2.0-or-later -#include "rgb_matrix.h" - #ifdef RGB_MATRIX_ENABLE +# include "rgb_matrix.h" + const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { // top underglow sd2-sd17 { 0, B_2, A_2, C_2 }, From eed34f7a2448b903d406167aacf679ddc4f9398f Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 22 Aug 2023 00:10:08 +0100 Subject: [PATCH 62/65] Fix drop/shift/v2 compilation (#21800) --- keyboards/drop/shift/v2/v2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/keyboards/drop/shift/v2/v2.c b/keyboards/drop/shift/v2/v2.c index 3d96cdf7cba6..326c41827940 100644 --- a/keyboards/drop/shift/v2/v2.c +++ b/keyboards/drop/shift/v2/v2.c @@ -1,6 +1,7 @@ // Copyright 2023 Massdrop, Inc. // SPDX-License-Identifier: GPL-2.0-or-later #ifdef RGB_MATRIX_ENABLE +# include "host.h" # include "rgb_matrix.h" const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = { From 1236c29b124f6582f46b3321fe81e8247d2caf5d Mon Sep 17 00:00:00 2001 From: Controller Works <103382872+controller-works@users.noreply.github.com> Date: Tue, 22 Aug 2023 12:12:51 -0400 Subject: [PATCH 63/65] [Keyboard] Add city42 (#21727) Co-authored-by: Joel Challis Co-authored-by: Duncan Sutherland --- keyboards/controllerworks/city42/config.h | 32 ++++ keyboards/controllerworks/city42/info.json | 160 ++++++++++++++++++ .../city42/keymaps/default/keymap.c | 68 ++++++++ .../city42/keymaps/via/keymap.c | 68 ++++++++ .../city42/keymaps/via/rules.mk | 1 + keyboards/controllerworks/city42/readme.md | 31 ++++ keyboards/controllerworks/city42/rules.mk | 2 + 7 files changed, 362 insertions(+) create mode 100644 keyboards/controllerworks/city42/config.h create mode 100644 keyboards/controllerworks/city42/info.json create mode 100644 keyboards/controllerworks/city42/keymaps/default/keymap.c create mode 100644 keyboards/controllerworks/city42/keymaps/via/keymap.c create mode 100644 keyboards/controllerworks/city42/keymaps/via/rules.mk create mode 100644 keyboards/controllerworks/city42/readme.md create mode 100644 keyboards/controllerworks/city42/rules.mk diff --git a/keyboards/controllerworks/city42/config.h b/keyboards/controllerworks/city42/config.h new file mode 100644 index 000000000000..4e161532f2ac --- /dev/null +++ b/keyboards/controllerworks/city42/config.h @@ -0,0 +1,32 @@ +/* + * Copyright 2023 Kevin Gee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define WS2812_PIO_USE_PIO1 +#define RGB_MATRIX_LED_COUNT 42 + +#define SPI_SCK_PIN GP18 +#define SPI_MOSI_PIN GP19 +#define SPI_MISO_PIN GP16 +#define POINTING_DEVICE_CS_PIN GP17 + +#define CIRQUE_PINNACLE_DIAMETER_MM 40 +#define CIRQUE_PINNACLE_ATTENUATION EXTREG__TRACK_ADCCONFIG__ADC_ATTENUATE_1X +#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_RELATIVE_MODE +#define CIRQUE_PINNACLE_TAP_ENABLE +#define CIRQUE_PINNACLE_SECONDARY_TAP_ENABLE \ No newline at end of file diff --git a/keyboards/controllerworks/city42/info.json b/keyboards/controllerworks/city42/info.json new file mode 100644 index 000000000000..7a73ce88cb05 --- /dev/null +++ b/keyboards/controllerworks/city42/info.json @@ -0,0 +1,160 @@ +{ + "manufacturer": "Controller Works", + "keyboard_name": "city42", + "maintainer": "controller-works", + "bootloader": "rp2040", + "build": { + "lto": true + }, + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP0", "GP1", "GP2", "GP3", "GP4", "GP5"], + "rows": ["GP12", "GP13", "GP14", "GP15"] + }, + "processor": "RP2040", + "rgb_matrix": { + "animations": { + "alphas_mods": true, + "band_pinwheel_sat": true, + "band_pinwheel_val": true, + "band_sat": true, + "band_spiral_sat": true, + "band_spiral_val": true, + "band_val": true, + "breathing": true, + "cycle_all": true, + "cycle_left_right": true, + "cycle_pinwheel": true, + "cycle_spiral": true, + "cycle_up_down": true, + "gradient_left_right": true, + "gradient_up_down": true, + "hue_breathing": true, + "hue_pendulum": true, + "hue_wave": true, + "rainbow_moving_chevron": true, + "raindrops": true, + "solid_reactive": true, + "solid_reactive_multinexus": true, + "solid_reactive_simple": true, + "solid_splash": true, + "splash": true, + "typing_heatmap": true + }, + "driver": "WS2812", + "layout": [ + {"matrix": [0, 5], "x": 80, "y": 17, "flags": 4}, + {"matrix": [0, 4], "x": 66, "y": 11, "flags": 4}, + {"matrix": [0, 3], "x": 52, "y": 6, "flags": 4}, + {"matrix": [0, 2], "x": 37, "y": 4, "flags": 4}, + {"matrix": [0, 1], "x": 22, "y": 4, "flags": 4}, + {"matrix": [0, 0], "x": 8, "y": 0, "flags": 1}, + {"matrix": [1, 0], "x": 4, "y": 13, "flags": 1}, + {"matrix": [1, 1], "x": 18, "y": 17, "flags": 4}, + {"matrix": [1, 2], "x": 34, "y": 17, "flags": 4}, + {"matrix": [1, 3], "x": 49, "y": 18, "flags": 4}, + {"matrix": [1, 4], "x": 63, "y": 24, "flags": 4}, + {"matrix": [1, 5], "x": 76, "y": 29, "flags": 4}, + {"matrix": [2, 5], "x": 73, "y": 43, "flags": 4}, + {"matrix": [2, 4], "x": 59, "y": 37, "flags": 4}, + {"matrix": [2, 3], "x": 45, "y": 32, "flags": 4}, + {"matrix": [2, 2], "x": 30, "y": 30, "flags": 4}, + {"matrix": [2, 1], "x": 15, "y": 29, "flags": 4}, + {"matrix": [2, 0], "x": 0, "y": 26, "flags": 1}, + {"matrix": [3, 3], "x": 49, "y": 50, "flags": 1}, + {"matrix": [3, 4], "x": 66, "y": 56, "flags": 1}, + {"matrix": [3, 5], "x": 76, "y": 64, "flags": 1}, + {"matrix": [3, 6], "x": 148, "y": 64, "flags": 1}, + {"matrix": [3, 7], "x": 158, "y": 56, "flags": 1}, + {"matrix": [3, 8], "x": 175, "y": 50, "flags": 1}, + {"matrix": [2, 11], "x": 224, "y": 26, "flags": 1}, + {"matrix": [2, 10], "x": 209, "y": 29, "flags": 4}, + {"matrix": [2, 9], "x": 193, "y": 29, "flags": 4}, + {"matrix": [2, 8], "x": 179, "y": 32, "flags": 4}, + {"matrix": [2, 7], "x": 165, "y": 37, "flags": 4}, + {"matrix": [2, 6], "x": 151, "y": 43, "flags": 4}, + {"matrix": [1, 6], "x": 148, "y": 30, "flags": 4}, + {"matrix": [1, 7], "x": 161, "y": 24, "flags": 4}, + {"matrix": [1, 8], "x": 175, "y": 18, "flags": 4}, + {"matrix": [1, 9], "x": 190, "y": 17, "flags": 4}, + {"matrix": [1, 10], "x": 206, "y": 17, "flags": 4}, + {"matrix": [1, 11], "x": 220, "y": 13, "flags": 1}, + {"matrix": [0, 11], "x": 217, "y": 0, "flags": 1}, + {"matrix": [0, 10], "x": 202, "y": 4, "flags": 4}, + {"matrix": [0, 9], "x": 187, "y": 4, "flags": 4}, + {"matrix": [0, 8], "x": 172, "y": 6, "flags": 4}, + {"matrix": [0, 7], "x": 158, "y": 11, "flags": 4}, + {"matrix": [0, 6], "x": 144, "y": 17, "flags": 4} + ], + "max_brightness": 150 + }, + "tags": ["RP2040", "choc v1", "choc spaced"], + "url": "https://controller.works/products/city42-ergonomic-keyboard", + "usb": { + "device_version": "1.0.0", + "pid": "0x0005", + "vid": "0x4357" + }, + "ws2812": { + "driver": "vendor", + "pin": "GP29" + }, + "community_layouts": ["split_3x6_3"], + "layouts": { + "LAYOUT_split_3x6_3": { + "layout": [ + {"matrix": [0, 0], "x": 0, "y": 0.4}, + {"matrix": [0, 1], "x": 1, "y": 0.4}, + {"matrix": [0, 2], "x": 2, "y": 0.125}, + {"matrix": [0, 3], "x": 3, "y": 0}, + {"matrix": [0, 4], "x": 4, "y": 0.125}, + {"matrix": [0, 5], "x": 5, "y": 0.25}, + {"matrix": [0, 6], "x": 8, "y": 0.25}, + {"matrix": [0, 7], "x": 9, "y": 0.125}, + {"matrix": [0, 8], "x": 10, "y": 0}, + {"matrix": [0, 9], "x": 11, "y": 0.125}, + {"matrix": [0, 10], "x": 12, "y": 0.4}, + {"matrix": [0, 11], "x": 13, "y": 0.4}, + {"matrix": [1, 0], "x": 0, "y": 1.4}, + {"matrix": [1, 1], "x": 1, "y": 1.4}, + {"matrix": [1, 2], "x": 2, "y": 1.125}, + {"matrix": [1, 3], "x": 3, "y": 1}, + {"matrix": [1, 4], "x": 4, "y": 1.125}, + {"matrix": [1, 5], "x": 5, "y": 1.25}, + {"matrix": [1, 6], "x": 8, "y": 1.25}, + {"matrix": [1, 7], "x": 9, "y": 1.125}, + {"matrix": [1, 8], "x": 10, "y": 1}, + {"matrix": [1, 9], "x": 11, "y": 1.125}, + {"matrix": [1, 10], "x": 12, "y": 1.4}, + {"matrix": [1, 11], "x": 13, "y": 1.4}, + {"matrix": [2, 0], "x": 0, "y": 2.4}, + {"matrix": [2, 1], "x": 1, "y": 2.4}, + {"matrix": [2, 2], "x": 2, "y": 2.125}, + {"matrix": [2, 3], "x": 3, "y": 2}, + {"matrix": [2, 4], "x": 4, "y": 2.125}, + {"matrix": [2, 5], "x": 5, "y": 2.25}, + {"matrix": [2, 6], "x": 8, "y": 2.25}, + {"matrix": [2, 7], "x": 9, "y": 2.125}, + {"matrix": [2, 8], "x": 10, "y": 2}, + {"matrix": [2, 9], "x": 11, "y": 2.125}, + {"matrix": [2, 10], "x": 12, "y": 2.4}, + {"matrix": [2, 11], "x": 13, "y": 2.4}, + {"matrix": [3, 3], "x": 3.5, "y": 3.25}, + {"matrix": [3, 4], "x": 4.5, "y": 3.5}, + {"matrix": [3, 5], "x": 5.5, "y": 3.75, "h": 1.5}, + {"matrix": [3, 6], "x": 7.5, "y": 3.75, "h": 1.5}, + {"matrix": [3, 7], "x": 8.5, "y": 3.5}, + {"matrix": [3, 8], "x": 9.5, "y": 3.25} + ] + } + } +} \ No newline at end of file diff --git a/keyboards/controllerworks/city42/keymaps/default/keymap.c b/keyboards/controllerworks/city42/keymaps/default/keymap.c new file mode 100644 index 000000000000..7f46648a7e87 --- /dev/null +++ b/keyboards/controllerworks/city42/keymaps/default/keymap.c @@ -0,0 +1,68 @@ +/* + * Copyright 2023 Kevin Gee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_ESC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_ESC, KC_DEL, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/controllerworks/city42/keymaps/via/keymap.c b/keyboards/controllerworks/city42/keymaps/via/keymap.c new file mode 100644 index 000000000000..7f46648a7e87 --- /dev/null +++ b/keyboards/controllerworks/city42/keymaps/via/keymap.c @@ -0,0 +1,68 @@ +/* + * Copyright 2023 Kevin Gee + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT), + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT + //`--------------------------' `--------------------------' + + ), + + [1] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_ESC, KC_ENT, MO(3), KC_RALT + //`--------------------------' `--------------------------' + ), + + [2] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, MO(3), KC_ESC, KC_DEL, _______, KC_RALT + //`--------------------------' `--------------------------' + ), + + [3] = LAYOUT_split_3x6_3( + //,-----------------------------------------------------. ,-----------------------------------------------------. + QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| + RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| + KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT + //`--------------------------' `--------------------------' + ) +}; diff --git a/keyboards/controllerworks/city42/keymaps/via/rules.mk b/keyboards/controllerworks/city42/keymaps/via/rules.mk new file mode 100644 index 000000000000..036bd6d1c3ec --- /dev/null +++ b/keyboards/controllerworks/city42/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/controllerworks/city42/readme.md b/keyboards/controllerworks/city42/readme.md new file mode 100644 index 000000000000..7dc382bffc6d --- /dev/null +++ b/keyboards/controllerworks/city42/readme.md @@ -0,0 +1,31 @@ +# city42 +![city42](https://i.imgur.com/YZNW4EZh.jpg) +*A pre-built, low profile, unibody split keyboard based on the RP2040 processor* +* Keyboard Maintainer: [Kevin Gee](https://github.com/controller-works) +* Hardware Supported: *city42 split unibody ergonomic keyboard* +* Hardware Availability: *[Controller Works Retail Site](https://controller.works/products/city42-ergonomic-keyboard)* Hardware is available as pre-built units only. +Make example for this keyboard (after setting up your build environment): +```sh + make controllerworks/city42:default +``` +Flashing example for this keyboard: + +```sh + make controllerworks/city42:default:flash +``` +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). +## Features +- Highly integrated design with microcontroller and USB connectors on the main board +- RP2040 processor by Raspberry Pi Foundation running at 130 MHz with 16MB flash memory +- 40mm Cirque trackpad +- 42 per-key RGB LEDs +- ESD and over-current protection on USB +- Reset and boot tactile switches +- USB C host connection +- Hot swap connectors for Kailh Chocolate PG1350 switches +- Chocolate key spacing (18mm horizontal x 17mm vertical) +## Bootloader +Enter the bootloader in 3 ways: +* **Bootmagic reset**: Hold down the upper left key while plugging in USB +* **Physical reset button**: Press the RST button twice, rapidly +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/controllerworks/city42/rules.mk b/keyboards/controllerworks/city42/rules.mk new file mode 100644 index 000000000000..2e0f2befbf49 --- /dev/null +++ b/keyboards/controllerworks/city42/rules.mk @@ -0,0 +1,2 @@ +POINTING_DEVICE_ENABLE = yes +POINTING_DEVICE_DRIVER = cirque_pinnacle_spi \ No newline at end of file From 0d535381deeceb8e691e53ab98445efe884dc8f4 Mon Sep 17 00:00:00 2001 From: Less/Rikki <86894501+lesshonor@users.noreply.github.com> Date: Tue, 22 Aug 2023 13:39:33 -0400 Subject: [PATCH 64/65] fix: restore indicators to jellybean_raindrops (#21792) After #21169, rgb_matrix_indicators() was limited to running on the final render iteration. Since the jellybean_raindrops animation immediately returns false after updating a single LED, the iteration count no longer ends up high enough to render non-advanced indicators. This change also brings jellybean_raindrops more in line with raindrops. --- .../rgb_matrix/animations/jellybean_raindrops_anim.h | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h index 6bde60053bf5..5d3df1059e5c 100644 --- a/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h +++ b/quantum/rgb_matrix/animations/jellybean_raindrops_anim.h @@ -10,17 +10,16 @@ static void jellybean_raindrops_set_color(int i, effect_params_t* params) { } bool JELLYBEAN_RAINDROPS(effect_params_t* params) { + RGB_MATRIX_USE_LIMITS(led_min, led_max); if (!params->init) { // Change one LED every tick, make sure speed is not 0 if (scale16by8(g_rgb_timer, qadd8(rgb_matrix_config.speed, 16)) % 5 == 0) { jellybean_raindrops_set_color(random8_max(RGB_MATRIX_LED_COUNT), params); } - return false; - } - - RGB_MATRIX_USE_LIMITS(led_min, led_max); - for (int i = led_min; i < led_max; i++) { - jellybean_raindrops_set_color(i, params); + } else { + for (int i = led_min; i < led_max; i++) { + jellybean_raindrops_set_color(i, params); + } } return rgb_matrix_check_finished_leds(led_max); } From dfb6d38f08b3912baffbca23e351dd0ad836238c Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 23 Aug 2023 00:03:01 +0100 Subject: [PATCH 65/65] Simplfy RGB/LED matrix effect logic (#21703) --- builddefs/common_features.mk | 2 ++ docs/feature_led_matrix.md | 12 ++------ docs/feature_rgb_matrix.md | 16 +++------- keyboards/boardsource/technik_o/config.h | 18 ++++++------ keyboards/boardsource/technik_s/config.h | 18 ++++++------ keyboards/crkbd/r2g/config.h | 12 ++++---- keyboards/dp60/config.h | 28 +++++++++--------- keyboards/dztech/dz60rgb_ansi/v2_1/config.h | 2 +- keyboards/ergodox_ez/config.h | 28 +++++++++--------- keyboards/evyd13/atom47/rev5/config.h | 28 +++++++++--------- keyboards/inett_studio/sqx/hotswap/config.h | 28 +++++++++--------- keyboards/inett_studio/sqx/universal/config.h | 28 +++++++++--------- keyboards/keyboardio/model01/config.h | 28 +++++++++--------- .../kprepublic/bm60hsrgb_ec/rev2/config.h | 4 +-- keyboards/latincompass/latinpad/config.h | 28 +++++++++--------- keyboards/percent/canoe_gen2/config.h | 28 +++++++++--------- keyboards/synthlabs/060/config.h | 4 +-- keyboards/work_louder/work_board/config.h | 28 +++++++++--------- keyboards/xelus/dawn60/rev1_qmk/config.h | 4 +-- keyboards/xelus/la_plus/config.h | 28 +++++++++--------- quantum/led_matrix/post_config.h | 19 ++++++++++++ quantum/rgb_matrix/post_config.h | 29 +++++++++++++++++++ 22 files changed, 228 insertions(+), 192 deletions(-) create mode 100644 quantum/led_matrix/post_config.h create mode 100644 quantum/rgb_matrix/post_config.h diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 906a793df7a7..63a69314e805 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -363,6 +363,7 @@ endif COMMON_VPATH += $(QUANTUM_DIR)/led_matrix COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/led_matrix/animations/runners + POST_CONFIG_H += $(QUANTUM_DIR)/led_matrix/post_config.h SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c SRC += $(QUANTUM_DIR)/led_matrix/led_matrix.c SRC += $(QUANTUM_DIR)/led_matrix/led_matrix_drivers.c @@ -428,6 +429,7 @@ endif COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners + POST_CONFIG_H += $(QUANTUM_DIR)/rgb_matrix/post_config.h SRC += $(QUANTUM_DIR)/color.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c diff --git a/docs/feature_led_matrix.md b/docs/feature_led_matrix.md index dcb87f954ca1..fd56a457258a 100644 --- a/docs/feature_led_matrix.md +++ b/docs/feature_led_matrix.md @@ -247,7 +247,6 @@ enum led_matrix_effects { LED_MATRIX_CYCLE_UP_DOWN, // Full gradient scrolling top to bottom LED_MATRIX_CYCLE_OUT_IN, // Full gradient scrolling out to in LED_MATRIX_DUAL_BEACON, // Full gradient spinning around center of keyboard -#if defined(LED_MATRIX_KEYPRESSES) || defined(LED_MATRIX_KEYRELEASES) LED_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit then fades out LED_MATRIX_SOLID_REACTIVE_WIDE // Value pulses near a single key hit then fades out LED_MATRIX_SOLID_REACTIVE_MULTIWIDE // Value pulses near multiple key hits then fades out @@ -257,7 +256,6 @@ enum led_matrix_effects { LED_MATRIX_SOLID_REACTIVE_MULTINEXUS // Value pulses away on the same column and row of multiple key hits then fades out LED_MATRIX_SOLID_SPLASH, // Value pulses away from a single key hit then fades out LED_MATRIX_SOLID_MULTISPLASH, // Value pulses away from multiple key hits then fades out -#endif LED_MATRIX_WAVE_LEFT_RIGHT // Sine wave scrolling from left to right LED_MATRIX_WAVE_UP_DOWN // Sine wave scrolling from up to down LED_MATRIX_EFFECT_MAX @@ -281,8 +279,6 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_LED_MATRIX_WAVE_LEFT_RIGHT` |Enables `LED_MATRIX_WAVE_LEFT_RIGHT` | |`#define ENABLE_LED_MATRIX_WAVE_UP_DOWN` |Enables `LED_MATRIX_WAVE_UP_DOWN` | -?> These modes don't require any additional defines. - |Reactive Defines |Description | |-------------------------------------------------------|----------------------------------------------| |`#define ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE` |Enables `LED_MATRIX_SOLID_REACTIVE_SIMPLE` | @@ -295,7 +291,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_LED_MATRIX_SOLID_SPLASH` |Enables `LED_MATRIX_SOLID_SPLASH` | |`#define ENABLE_LED_MATRIX_SOLID_MULTISPLASH` |Enables `LED_MATRIX_SOLID_MULTISPLASH` | -?> These modes also require the `LED_MATRIX_KEYPRESSES` or `LED_MATRIX_KEYRELEASES` define to be available. +?> These modes introduce additional logic that can increase firmware size. ## Custom LED Matrix Effects :id=custom-led-matrix-effects @@ -361,9 +357,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_ ## Additional `config.h` Options :id=additional-configh-options ```c -#define LED_MATRIX_KEYPRESSES // reacts to keypresses -#define LED_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -#define LED_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +#define LED_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define LED_MATRIX_TIMEOUT 0 // number of milliseconds to wait until led automatically turns off #define LED_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define LED_MATRIX_LED_PROCESS_LIMIT (LED_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) @@ -373,7 +367,7 @@ For inspiration and examples, check out the built-in effects under `quantum/led_ #define LED_MATRIX_DEFAULT_VAL LED_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set #define LED_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set #define LED_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. - // If LED_MATRIX_KEYPRESSES or LED_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR + // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR ``` ## EEPROM storage :id=eeprom-storage diff --git a/docs/feature_rgb_matrix.md b/docs/feature_rgb_matrix.md index f92824c122bd..cc802056bd5b 100644 --- a/docs/feature_rgb_matrix.md +++ b/docs/feature_rgb_matrix.md @@ -650,11 +650,8 @@ enum rgb_matrix_effects { RGB_MATRIX_PIXEL_FRACTAL, // Single hue fractal filled keys pulsing horizontally out to edges RGB_MATRIX_PIXEL_FLOW, // Pulsing RGB flow along LED wiring with random hues RGB_MATRIX_PIXEL_RAIN, // Randomly light keys with random hues -#if defined(RGB_MATRIX_FRAMEBUFFER_EFFECTS) RGB_MATRIX_TYPING_HEATMAP, // How hot is your WPM! RGB_MATRIX_DIGITAL_RAIN, // That famous computer simulation -#endif -#if defined(RGB_MATRIX_KEYPRESSES) || defined(RGB_MATRIX_KEYRELEASES) RGB_MATRIX_SOLID_REACTIVE_SIMPLE, // Pulses keys hit to hue & value then fades value out RGB_MATRIX_SOLID_REACTIVE, // Static single hue, pulses keys hit to shifted hue then fades to current hue RGB_MATRIX_SOLID_REACTIVE_WIDE // Hue & value pulse near a single key hit then fades value out @@ -667,7 +664,6 @@ enum rgb_matrix_effects { RGB_MATRIX_MULTISPLASH, // Full gradient & value pulse away from multiple key hits then fades value out RGB_MATRIX_SOLID_SPLASH, // Hue & value pulse away from a single key hit then fades value out RGB_MATRIX_SOLID_MULTISPLASH, // Hue & value pulse away from multiple key hits then fades value out -#endif RGB_MATRIX_EFFECT_MAX }; ``` @@ -707,14 +703,12 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_PIXEL_FLOW` |Enables `RGB_MATRIX_PIXEL_FLOW` | |`#define ENABLE_RGB_MATRIX_PIXEL_RAIN` |Enables `RGB_MATRIX_PIXEL_RAIN` | -?> These modes don't require any additional defines. - |Framebuffer Defines |Description | |------------------------------------------------------|----------------------------------------------| |`#define ENABLE_RGB_MATRIX_TYPING_HEATMAP` |Enables `RGB_MATRIX_TYPING_HEATMAP` | |`#define ENABLE_RGB_MATRIX_DIGITAL_RAIN` |Enables `RGB_MATRIX_DIGITAL_RAIN` | -?> These modes also require the `RGB_MATRIX_FRAMEBUFFER_EFFECTS` define to be available. +?> These modes introduce additional logic that can increase firmware size. |Reactive Defines |Description | |------------------------------------------------------|----------------------------------------------| @@ -731,7 +725,7 @@ You can enable a single effect by defining `ENABLE_[EFFECT_NAME]` in your `confi |`#define ENABLE_RGB_MATRIX_SOLID_SPLASH` |Enables `RGB_MATRIX_SOLID_SPLASH` | |`#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH` |Enables `RGB_MATRIX_SOLID_MULTISPLASH` | -?> These modes also require the `RGB_MATRIX_KEYPRESSES` or `RGB_MATRIX_KEYRELEASES` define to be available. +?> These modes introduce additional logic that can increase firmware size. ### RGB Matrix Effect Typing Heatmap :id=rgb-matrix-effect-typing-heatmap @@ -872,9 +866,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master ## Additional `config.h` Options :id=additional-configh-options ```c -#define RGB_MATRIX_KEYPRESSES // reacts to keypresses -#define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses) -#define RGB_MATRIX_FRAMEBUFFER_EFFECTS // enable framebuffer effects +#define RGB_MATRIX_KEYRELEASES // reactive effects respond to keyreleases (instead of keypresses) #define RGB_MATRIX_TIMEOUT 0 // number of milliseconds to wait until rgb automatically turns off #define RGB_DISABLE_WHEN_USB_SUSPENDED // turn off effects when suspended #define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness) @@ -887,7 +879,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master #define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set #define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature) #define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right. - // If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR + // If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR #define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards ``` diff --git a/keyboards/boardsource/technik_o/config.h b/keyboards/boardsource/technik_o/config.h index 1148c13ebc63..4d7d053cfbc4 100644 --- a/keyboards/boardsource/technik_o/config.h +++ b/keyboards/boardsource/technik_o/config.h @@ -41,12 +41,12 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/boardsource/technik_s/config.h b/keyboards/boardsource/technik_s/config.h index fe6518356e51..b01542d77b72 100644 --- a/keyboards/boardsource/technik_s/config.h +++ b/keyboards/boardsource/technik_s/config.h @@ -41,12 +41,12 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_RAIN #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH diff --git a/keyboards/crkbd/r2g/config.h b/keyboards/crkbd/r2g/config.h index 46db11318f70..888108797959 100644 --- a/keyboards/crkbd/r2g/config.h +++ b/keyboards/crkbd/r2g/config.h @@ -53,12 +53,12 @@ along with this program. If not, see . # define ENABLE_RGB_MATRIX_RAINDROPS # define ENABLE_RGB_MATRIX_HUE_BREATHING # define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -# define ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_SOLID_SPLASH +// # define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// # define ENABLE_RGB_MATRIX_SPLASH +// # define ENABLE_RGB_MATRIX_SOLID_SPLASH #endif #define SPLIT_USB_DETECT diff --git a/keyboards/dp60/config.h b/keyboards/dp60/config.h index 7ccd630c7469..d58dc73f1e04 100644 --- a/keyboards/dp60/config.h +++ b/keyboards/dp60/config.h @@ -84,18 +84,18 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h index 09e76f52d5d7..90b6c71e67f3 100644 --- a/keyboards/dztech/dz60rgb_ansi/v2_1/config.h +++ b/keyboards/dztech/dz60rgb_ansi/v2_1/config.h @@ -66,7 +66,7 @@ // # define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS // # define ENABLE_RGB_MATRIX_SPLASH // # define ENABLE_RGB_MATRIX_MULTISPLASH -# define ENABLE_RGB_MATRIX_SOLID_SPLASH +// # define ENABLE_RGB_MATRIX_SOLID_SPLASH // # define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH # define DRIVER_ADDR_1 0b1010000 diff --git a/keyboards/ergodox_ez/config.h b/keyboards/ergodox_ez/config.h index 03a6039e3894..03957ee409ce 100644 --- a/keyboards/ergodox_ez/config.h +++ b/keyboards/ergodox_ez/config.h @@ -147,21 +147,21 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // #define RGBLIGHT_COLOR_LAYER_0 0x00, 0x00, 0xFF /* #define RGBLIGHT_COLOR_LAYER_1 0x00, 0x00, 0xFF */ diff --git a/keyboards/evyd13/atom47/rev5/config.h b/keyboards/evyd13/atom47/rev5/config.h index ae0151d512d8..f50975beb3fa 100644 --- a/keyboards/evyd13/atom47/rev5/config.h +++ b/keyboards/evyd13/atom47/rev5/config.h @@ -85,18 +85,18 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/inett_studio/sqx/hotswap/config.h b/keyboards/inett_studio/sqx/hotswap/config.h index 345050946893..9f89d5e0aecb 100644 --- a/keyboards/inett_studio/sqx/hotswap/config.h +++ b/keyboards/inett_studio/sqx/hotswap/config.h @@ -88,18 +88,18 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/inett_studio/sqx/universal/config.h b/keyboards/inett_studio/sqx/universal/config.h index 808ba8fcbe88..3caab5c0e0da 100644 --- a/keyboards/inett_studio/sqx/universal/config.h +++ b/keyboards/inett_studio/sqx/universal/config.h @@ -88,18 +88,18 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/keyboardio/model01/config.h b/keyboards/keyboardio/model01/config.h index b53235f324c6..2e4101537fea 100644 --- a/keyboards/keyboardio/model01/config.h +++ b/keyboards/keyboardio/model01/config.h @@ -58,18 +58,18 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h index 8e51b832641f..638362b9e5b7 100644 --- a/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h +++ b/keyboards/kprepublic/bm60hsrgb_ec/rev2/config.h @@ -62,8 +62,8 @@ // #define ENABLE_RGB_MATRIX_PIXEL_FLOW // #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE diff --git a/keyboards/latincompass/latinpad/config.h b/keyboards/latincompass/latinpad/config.h index baba2a4a58a1..35e52a8fc4ed 100644 --- a/keyboards/latincompass/latinpad/config.h +++ b/keyboards/latincompass/latinpad/config.h @@ -50,20 +50,20 @@ along with this program. If not, see .*/ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #define OLED_FONT_H "./lib/glcdfont.c" diff --git a/keyboards/percent/canoe_gen2/config.h b/keyboards/percent/canoe_gen2/config.h index fe374cd7945f..d34e923ac57c 100644 --- a/keyboards/percent/canoe_gen2/config.h +++ b/keyboards/percent/canoe_gen2/config.h @@ -66,18 +66,18 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH diff --git a/keyboards/synthlabs/060/config.h b/keyboards/synthlabs/060/config.h index 1870286c810c..4a475316edea 100644 --- a/keyboards/synthlabs/060/config.h +++ b/keyboards/synthlabs/060/config.h @@ -31,8 +31,8 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // Enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // Enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE diff --git a/keyboards/work_louder/work_board/config.h b/keyboards/work_louder/work_board/config.h index 6a6d757b7004..8d30693ad4e9 100644 --- a/keyboards/work_louder/work_board/config.h +++ b/keyboards/work_louder/work_board/config.h @@ -71,21 +71,21 @@ along with this program. If not, see . #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_SOLID_COLOR // Sets the default mode, if none has been set diff --git a/keyboards/xelus/dawn60/rev1_qmk/config.h b/keyboards/xelus/dawn60/rev1_qmk/config.h index d84773e5fbcd..ad399bd96239 100644 --- a/keyboards/xelus/dawn60/rev1_qmk/config.h +++ b/keyboards/xelus/dawn60/rev1_qmk/config.h @@ -80,8 +80,8 @@ #define ENABLE_RGB_MATRIX_PIXEL_FLOW #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL // enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN // enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE #define ENABLE_RGB_MATRIX_SOLID_REACTIVE diff --git a/keyboards/xelus/la_plus/config.h b/keyboards/xelus/la_plus/config.h index 82ada2e6da93..6e3a51166ebc 100755 --- a/keyboards/xelus/la_plus/config.h +++ b/keyboards/xelus/la_plus/config.h @@ -59,21 +59,21 @@ #define ENABLE_RGB_MATRIX_PIXEL_FRACTAL #define ENABLE_RGB_MATRIX_PIXEL_RAIN -#define ENABLE_RGB_MATRIX_TYPING_HEATMAP -#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +// #define ENABLE_RGB_MATRIX_TYPING_HEATMAP +// #define ENABLE_RGB_MATRIX_DIGITAL_RAIN -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -#define ENABLE_RGB_MATRIX_SPLASH -#define ENABLE_RGB_MATRIX_MULTISPLASH -#define ENABLE_RGB_MATRIX_SOLID_SPLASH -#define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +// #define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS +// #define ENABLE_RGB_MATRIX_SPLASH +// #define ENABLE_RGB_MATRIX_MULTISPLASH +// #define ENABLE_RGB_MATRIX_SOLID_SPLASH +// #define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH // Custom Startup Animation // comment out for solid animation diff --git a/quantum/led_matrix/post_config.h b/quantum/led_matrix/post_config.h new file mode 100644 index 000000000000..b6770b9ee1c8 --- /dev/null +++ b/quantum/led_matrix/post_config.h @@ -0,0 +1,19 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// clang-format off + +// reactive +#if defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_SIMPLE) || \ + defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_WIDE) || \ + defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTIWIDE) || \ + defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_CROSS) || \ + defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTICROSS) || \ + defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_NEXUS) || \ + defined(ENABLE_LED_MATRIX_SOLID_REACTIVE_MULTINEXUS) || \ + defined(ENABLE_LED_MATRIX_SOLID_SPLASH) || \ + defined(ENABLE_LED_MATRIX_SOLID_MULTISPLASH) +# define LED_MATRIX_KEYPRESSES +#endif diff --git a/quantum/rgb_matrix/post_config.h b/quantum/rgb_matrix/post_config.h new file mode 100644 index 000000000000..7162c8679ba3 --- /dev/null +++ b/quantum/rgb_matrix/post_config.h @@ -0,0 +1,29 @@ +// Copyright 2023 QMK +// SPDX-License-Identifier: GPL-2.0-or-later + +#pragma once + +// clang-format off + +// framebuffer +#if defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP) || \ + defined(ENABLE_RGB_MATRIX_DIGITAL_RAIN) +# define RGB_MATRIX_FRAMEBUFFER_EFFECTS +#endif + +// reactive +#if defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS) || \ + defined(ENABLE_RGB_MATRIX_SPLASH) || \ + defined(ENABLE_RGB_MATRIX_MULTISPLASH) || \ + defined(ENABLE_RGB_MATRIX_SOLID_SPLASH) || \ + defined(ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS) || \ + defined(ENABLE_RGB_MATRIX_SOLID_MULTISPLASH) +# define RGB_MATRIX_KEYPRESSES +#endif