From 8e8909da38b35d1643f35a65f2b5ca640e533343 Mon Sep 17 00:00:00 2001 From: Wolf Date: Mon, 27 Nov 2023 02:55:05 +0100 Subject: [PATCH 01/17] Add mode 60 PCB's --- keyboards/mode/m60h/config.h | 24 +++ keyboards/mode/m60h/info.json | 112 +++++++++++ keyboards/mode/m60h/keymaps/default/keymap.c | 32 ++++ keyboards/mode/m60h/keymaps/via/keymap.c | 32 ++++ keyboards/mode/m60h/keymaps/via/rules.mk | 2 + keyboards/mode/m60h/m60h.c | 7 + keyboards/mode/m60h/readme.md | 24 +++ keyboards/mode/m60h/rules.mk | 1 + keyboards/mode/m60h_f/config.h | 24 +++ keyboards/mode/m60h_f/info.json | 115 +++++++++++ .../mode/m60h_f/keymaps/default/keymap.c | 19 ++ keyboards/mode/m60h_f/keymaps/via/keymap.c | 19 ++ keyboards/mode/m60h_f/keymaps/via/rules.mk | 2 + keyboards/mode/m60h_f/m60h_f.c | 7 + keyboards/mode/m60h_f/readme.md | 24 +++ keyboards/mode/m60h_f/rules.mk | 1 + keyboards/mode/m60s/config.h | 25 +++ keyboards/mode/m60s/info.json | 178 ++++++++++++++++++ keyboards/mode/m60s/keymaps/default/keymap.c | 19 ++ keyboards/mode/m60s/keymaps/via/keymap.c | 19 ++ keyboards/mode/m60s/keymaps/via/rules.mk | 2 + keyboards/mode/m60s/m60s.c | 7 + keyboards/mode/m60s/readme.md | 24 +++ keyboards/mode/m60s/rules.mk | 1 + 24 files changed, 720 insertions(+) create mode 100644 keyboards/mode/m60h/config.h create mode 100644 keyboards/mode/m60h/info.json create mode 100644 keyboards/mode/m60h/keymaps/default/keymap.c create mode 100644 keyboards/mode/m60h/keymaps/via/keymap.c create mode 100644 keyboards/mode/m60h/keymaps/via/rules.mk create mode 100644 keyboards/mode/m60h/m60h.c create mode 100644 keyboards/mode/m60h/readme.md create mode 100644 keyboards/mode/m60h/rules.mk create mode 100644 keyboards/mode/m60h_f/config.h create mode 100644 keyboards/mode/m60h_f/info.json create mode 100644 keyboards/mode/m60h_f/keymaps/default/keymap.c create mode 100644 keyboards/mode/m60h_f/keymaps/via/keymap.c create mode 100644 keyboards/mode/m60h_f/keymaps/via/rules.mk create mode 100644 keyboards/mode/m60h_f/m60h_f.c create mode 100644 keyboards/mode/m60h_f/readme.md create mode 100644 keyboards/mode/m60h_f/rules.mk create mode 100644 keyboards/mode/m60s/config.h create mode 100644 keyboards/mode/m60s/info.json create mode 100644 keyboards/mode/m60s/keymaps/default/keymap.c create mode 100644 keyboards/mode/m60s/keymaps/via/keymap.c create mode 100644 keyboards/mode/m60s/keymaps/via/rules.mk create mode 100644 keyboards/mode/m60s/m60s.c create mode 100644 keyboards/mode/m60s/readme.md create mode 100644 keyboards/mode/m60s/rules.mk diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h new file mode 100644 index 000000000000..a5dc5305dfd4 --- /dev/null +++ b/keyboards/mode/m60h/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2020 + +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 RGB */ +#ifdef RGBLIGHT_ENABLE +#define WS2812_DI_PIN B9 + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL +#endif diff --git a/keyboards/mode/m60h/info.json b/keyboards/mode/m60h/info.json new file mode 100644 index 000000000000..08df42743ddf --- /dev/null +++ b/keyboards/mode/m60h/info.json @@ -0,0 +1,112 @@ +{ + "manufacturer": "Mode", + "keyboard_name": "M60H", + "maintainer": "ToastyStoemp", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgblight": true + }, + "matrix_pins": { + "cols": ["C7", "C8", "C9", "A8", "A10", "A15", "C10", "C11", "C12", "D2", "B3", "B4", "B5", "B6", "B7"], + "rows": ["B13", "B14", "B15", "C6", "B12", "B8"] + }, + "processor": "STM32F401", + "rgblight": { + "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 + }, + "led_count": 20, + "max_brightness": 120, + "pin": "B9", + "sleep": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0062", + "vid": "0x00DE" + }, + "community_layouts": ["60_hhkb"], + "layouts": { + "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], "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, 14], "w": 1.5, "x": 13.5, "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, 14], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 14], "x": 14, "y": 3 }, + { "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [5, 12], "x": 12.5, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mode/m60h/keymaps/default/keymap.c b/keyboards/mode/m60h/keymaps/default/keymap.c new file mode 100644 index 000000000000..5d6f2d3c6512 --- /dev/null +++ b/keyboards/mode/m60h/keymaps/default/keymap.c @@ -0,0 +1,32 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│MO1│ + * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘ + * │Alt│ GUI │ │ GUI │Alt│ + * └───┴─────┴───────────────────────────┴─────┴───┘ + */ + [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_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_LCTL, 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, MO(1), + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), + + [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_INS, KC_DEL, + KC_CAPS, _______, KC_UP, _______, _______, KC_BRID, KC_BRIU, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mode/m60h/keymaps/via/keymap.c b/keyboards/mode/m60h/keymaps/via/keymap.c new file mode 100644 index 000000000000..5d6f2d3c6512 --- /dev/null +++ b/keyboards/mode/m60h/keymaps/via/keymap.c @@ -0,0 +1,32 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ + * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│MO1│ + * └─────┬──┴┬──┴──┬┴───┴───┴───┴───┴───┴───┴──┬┴───┴┬───┬─┴───┘ + * │Alt│ GUI │ │ GUI │Alt│ + * └───┴─────┴───────────────────────────┴─────┴───┘ + */ + [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_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_LCTL, 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, MO(1), + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), + + [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_INS, KC_DEL, + KC_CAPS, _______, KC_UP, _______, _______, KC_BRID, KC_BRIU, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mode/m60h/keymaps/via/rules.mk b/keyboards/mode/m60h/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/mode/m60h/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mode/m60h/m60h.c b/keyboards/mode/m60h/m60h.c new file mode 100644 index 000000000000..4397cc3c43e0 --- /dev/null +++ b/keyboards/mode/m60h/m60h.c @@ -0,0 +1,7 @@ +#include "eeconfig.h" +#include "quantum.h" + +void keyboard_post_init_kb(void) { + wait_ms(200); + rgblight_reload_from_eeprom(); +} \ No newline at end of file diff --git a/keyboards/mode/m60h/readme.md b/keyboards/mode/m60h/readme.md new file mode 100644 index 000000000000..e379ea51137e --- /dev/null +++ b/keyboards/mode/m60h/readme.md @@ -0,0 +1,24 @@ +# Mode Tempo M60H + +![Mode Tempo M60H](https://modedesigns.com/products/tempo) + +The following is the QMK Firmware for the Mode Tempo M60H PCB. + +* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) +* Hardware Supported: Mode Tempo M60H PCB. +* Hardware Availability: https://modedesigns.com/products/tempo + +Make example for this keyboard (after setting up your build environment): + + make mode/m60h:default + +Flashing example for this keyboard: + + make mode/m60h: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 ESC key and plug in the keyboard (Top Left most switch) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if available +* **Physical Reset Button**: Hold down the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/mode/m60h/rules.mk b/keyboards/mode/m60h/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/mode/m60h/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h new file mode 100644 index 000000000000..a5dc5305dfd4 --- /dev/null +++ b/keyboards/mode/m60h_f/config.h @@ -0,0 +1,24 @@ +/* +Copyright 2020 + +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 RGB */ +#ifdef RGBLIGHT_ENABLE +#define WS2812_DI_PIN B9 + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL +#endif diff --git a/keyboards/mode/m60h_f/info.json b/keyboards/mode/m60h_f/info.json new file mode 100644 index 000000000000..71f66e7026f6 --- /dev/null +++ b/keyboards/mode/m60h_f/info.json @@ -0,0 +1,115 @@ +{ + "manufacturer": "Mode", + "keyboard_name": "M60H-F", + "maintainer": "ToastyStoemp", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": true, + "rgblight": true + }, + "matrix_pins": { + "cols": ["C7", "C8", "C9", "A8", "A10", "A15", "C10", "C11", "C12", "D2", "B3", "B4", "B5", "B7"], + "rows": ["B13", "B14", "B15", "C6", "B12", "B8"] + }, + "processor": "STM32F401", + "rgblight": { + "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 + }, + "led_count": 20, + "max_brightness": 120, + "pin": "B9", + "sleep": true + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0061", + "vid": "0x00DE" + }, + "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], "w": 2, "x": 13, "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": [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, 13], "w": 2.25, "x": 12.75, "y": 2 }, + + { "matrix": [3, 0], "w": 2.25, "x": 0, "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 13], "x": 14, "y": 3 }, + + { "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + + { "matrix": [5, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [5, 12], "x": 12.5, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mode/m60h_f/keymaps/default/keymap.c b/keyboards/mode/m60h_f/keymaps/default/keymap.c new file mode 100644 index 000000000000..cdfebb3187bb --- /dev/null +++ b/keyboards/mode/m60h_f/keymaps/default/keymap.c @@ -0,0 +1,19 @@ +#include QMK_KEYBOARD_H + +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_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_LCTL, 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, MO(1), + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), + [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_CAPS, _______, KC_UP, _______, _______, KC_BRID, KC_BRIU, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mode/m60h_f/keymaps/via/keymap.c b/keyboards/mode/m60h_f/keymaps/via/keymap.c new file mode 100644 index 000000000000..cdfebb3187bb --- /dev/null +++ b/keyboards/mode/m60h_f/keymaps/via/keymap.c @@ -0,0 +1,19 @@ +#include QMK_KEYBOARD_H + +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_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_LCTL, 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, MO(1), + KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), + [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_CAPS, _______, KC_UP, _______, _______, KC_BRID, KC_BRIU, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, + _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mode/m60h_f/keymaps/via/rules.mk b/keyboards/mode/m60h_f/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/mode/m60h_f/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mode/m60h_f/m60h_f.c b/keyboards/mode/m60h_f/m60h_f.c new file mode 100644 index 000000000000..4397cc3c43e0 --- /dev/null +++ b/keyboards/mode/m60h_f/m60h_f.c @@ -0,0 +1,7 @@ +#include "eeconfig.h" +#include "quantum.h" + +void keyboard_post_init_kb(void) { + wait_ms(200); + rgblight_reload_from_eeprom(); +} \ No newline at end of file diff --git a/keyboards/mode/m60h_f/readme.md b/keyboards/mode/m60h_f/readme.md new file mode 100644 index 000000000000..3789d286beb0 --- /dev/null +++ b/keyboards/mode/m60h_f/readme.md @@ -0,0 +1,24 @@ +# Mode Tempo M60H_F + +![Mode Tempo M60H_F](https://modedesigns.com/products/tempo) + +The following is the QMK Firmware for the Mode Tempo M60H_F PCB. + +* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) +* Hardware Supported: Mode Tempo M60H_F PCB. +* Hardware Availability: https://modedesigns.com/products/tempo + +Make example for this keyboard (after setting up your build environment): + + make mode/m60h_f:default + +Flashing example for this keyboard: + + make mode/m60h_f: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 ESC key and plug in the keyboard (Top Left most switch) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if available +* **Physical Reset Button**: Hold down the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/mode/m60h_f/rules.mk b/keyboards/mode/m60h_f/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/mode/m60h_f/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h new file mode 100644 index 000000000000..783fc2bab78b --- /dev/null +++ b/keyboards/mode/m60s/config.h @@ -0,0 +1,25 @@ +/* +Copyright 2020 + +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 RGB */ +#ifdef RGBLIGHT_ENABLE + +#define WS2812_DI_PIN B9 + +#define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL +#endif diff --git a/keyboards/mode/m60s/info.json b/keyboards/mode/m60s/info.json new file mode 100644 index 000000000000..c2ecba7894c2 --- /dev/null +++ b/keyboards/mode/m60s/info.json @@ -0,0 +1,178 @@ +{ + "manufacturer": "Mode", + "keyboard_name": "M60S", + "maintainer": "ToastyStoemp", + "bootloader": "stm32-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "mousekey": true, + "nkro": false, + "rgblight": true + }, + "matrix_pins": { + "cols": ["C7", "C8", "C9", "A8", "A10", "A15", "C10", "C11", "C12", "D2", "B3", "B4", "B5", "B6", "B7"], + "rows": ["B12", "B13", "B15", "C6", "B10", "B8"] + }, + "processor": "STM32F401", + "rgblight": { + "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 + }, + "led_count": 20, + "max_brightness": 120, + "pin": "B9", + "sleep": true, + "driver": "ws2812" + }, + "url": "", + "usb": { + "device_version": "1.0.0", + "pid": "0x0060", + "vid": "0x00DE" + }, + "layouts": { + "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], "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, 14], "w": 1.5, "x": 13.5, "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, 14], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 2.25, "x": 0, "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 14], "x": 14, "y": 3 }, + { "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [5, 6], "w": 7, "x": 4, "y": 4 }, + { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [5, 12], "x": 12.5, "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": [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, 14], "w": 1.5, "x": 13.5, "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], "x": 15.25, "y": 2 }, + { "matrix": [2, 14], "w": 2.25, "x": 12.75, "y": 2 }, + { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, + { "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, + { "matrix": [3, 14], "x": 14, "y": 3 }, + { "matrix": [4, 1], "x": 1.5, "y": 4 }, + { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, + { "matrix": [5, 7], "w": 7, "x": 4, "y": 4 }, + { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 4 }, + { "matrix": [5, 12], "x": 12.5, "y": 4 } + ] + } + } +} \ No newline at end of file diff --git a/keyboards/mode/m60s/keymaps/default/keymap.c b/keyboards/mode/m60s/keymaps/default/keymap.c new file mode 100644 index 000000000000..704f73f4831a --- /dev/null +++ b/keyboards/mode/m60s/keymaps/default/keymap.c @@ -0,0 +1,19 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), + + [1] = LAYOUT_all( + 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_INS, KC_DEL, + KC_CAPS, _______, KC_UP, _______, _______, KC_BRID, KC_BRIU, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mode/m60s/keymaps/via/keymap.c b/keyboards/mode/m60s/keymaps/via/keymap.c new file mode 100644 index 000000000000..704f73f4831a --- /dev/null +++ b/keyboards/mode/m60s/keymaps/via/keymap.c @@ -0,0 +1,19 @@ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_all( + 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, 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_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT + ), + + [1] = LAYOUT_all( + 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_INS, KC_DEL, + KC_CAPS, _______, KC_UP, _______, _______, KC_BRID, KC_BRIU, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______, + _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______, + _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, + _______, _______, _______, _______, _______ + ) +}; diff --git a/keyboards/mode/m60s/keymaps/via/rules.mk b/keyboards/mode/m60s/keymaps/via/rules.mk new file mode 100644 index 000000000000..43061db1dd46 --- /dev/null +++ b/keyboards/mode/m60s/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +LTO_ENABLE = yes \ No newline at end of file diff --git a/keyboards/mode/m60s/m60s.c b/keyboards/mode/m60s/m60s.c new file mode 100644 index 000000000000..4397cc3c43e0 --- /dev/null +++ b/keyboards/mode/m60s/m60s.c @@ -0,0 +1,7 @@ +#include "eeconfig.h" +#include "quantum.h" + +void keyboard_post_init_kb(void) { + wait_ms(200); + rgblight_reload_from_eeprom(); +} \ No newline at end of file diff --git a/keyboards/mode/m60s/readme.md b/keyboards/mode/m60s/readme.md new file mode 100644 index 000000000000..9cc0b313b242 --- /dev/null +++ b/keyboards/mode/m60s/readme.md @@ -0,0 +1,24 @@ +# Mode Tempo M60S + +![Mode Tempo M60S](https://modedesigns.com/products/tempo) + +The following is the QMK Firmware for the Mode Tempo M60S PCB. + +* Keyboard Maintainer: [ToastyStoemp](https://github.com/ToastyStoemp) +* Hardware Supported: Mode Tempo M60S PCB. +* Hardware Availability: https://modedesigns.com/products/tempo + +Make example for this keyboard (after setting up your build environment): + + make mode/m60s:default + +Flashing example for this keyboard: + + make mode/m60s: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 ESC key and plug in the keyboard (Top Left most switch) +* **Keycode in layout**: Press the key mapped to `QK_BOOT` if available +* **Physical Reset Button**: Hold down the button on the back of the PCB \ No newline at end of file diff --git a/keyboards/mode/m60s/rules.mk b/keyboards/mode/m60s/rules.mk new file mode 100644 index 000000000000..6e7633bfe015 --- /dev/null +++ b/keyboards/mode/m60s/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank From 6314d997d1996fa2d6a65fdc78fedee67ddf47b2 Mon Sep 17 00:00:00 2001 From: Wolf Date: Mon, 27 Nov 2023 03:04:43 +0100 Subject: [PATCH 02/17] Update Licenses --- keyboards/mode/m60h/config.h | 17 ++--------------- keyboards/mode/m60h/keymaps/default/keymap.c | 3 +++ keyboards/mode/m60h/keymaps/via/keymap.c | 3 +++ keyboards/mode/m60h/m60h.c | 3 +++ keyboards/mode/m60h_f/config.h | 17 ++--------------- keyboards/mode/m60h_f/keymaps/default/keymap.c | 3 +++ keyboards/mode/m60h_f/keymaps/via/keymap.c | 3 +++ keyboards/mode/m60h_f/m60h_f.c | 3 +++ keyboards/mode/m60s/config.h | 17 ++--------------- keyboards/mode/m60s/keymaps/default/keymap.c | 3 +++ keyboards/mode/m60s/keymaps/via/keymap.c | 3 +++ keyboards/mode/m60s/m60s.c | 3 +++ 12 files changed, 33 insertions(+), 45 deletions(-) diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index a5dc5305dfd4..197e34f2df7e 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -1,19 +1,6 @@ -/* -Copyright 2020 +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later -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 RGB */ diff --git a/keyboards/mode/m60h/keymaps/default/keymap.c b/keyboards/mode/m60h/keymaps/default/keymap.c index 5d6f2d3c6512..05c984527bdf 100644 --- a/keyboards/mode/m60h/keymaps/default/keymap.c +++ b/keyboards/mode/m60h/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mode/m60h/keymaps/via/keymap.c b/keyboards/mode/m60h/keymaps/via/keymap.c index 5d6f2d3c6512..05c984527bdf 100644 --- a/keyboards/mode/m60h/keymaps/via/keymap.c +++ b/keyboards/mode/m60h/keymaps/via/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mode/m60h/m60h.c b/keyboards/mode/m60h/m60h.c index 4397cc3c43e0..d08dfd820a8f 100644 --- a/keyboards/mode/m60h/m60h.c +++ b/keyboards/mode/m60h/m60h.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include "eeconfig.h" #include "quantum.h" diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index a5dc5305dfd4..197e34f2df7e 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -1,19 +1,6 @@ -/* -Copyright 2020 +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later -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 RGB */ diff --git a/keyboards/mode/m60h_f/keymaps/default/keymap.c b/keyboards/mode/m60h_f/keymaps/default/keymap.c index cdfebb3187bb..63e6a058d6f4 100644 --- a/keyboards/mode/m60h_f/keymaps/default/keymap.c +++ b/keyboards/mode/m60h_f/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mode/m60h_f/keymaps/via/keymap.c b/keyboards/mode/m60h_f/keymaps/via/keymap.c index cdfebb3187bb..63e6a058d6f4 100644 --- a/keyboards/mode/m60h_f/keymaps/via/keymap.c +++ b/keyboards/mode/m60h_f/keymaps/via/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mode/m60h_f/m60h_f.c b/keyboards/mode/m60h_f/m60h_f.c index 4397cc3c43e0..d08dfd820a8f 100644 --- a/keyboards/mode/m60h_f/m60h_f.c +++ b/keyboards/mode/m60h_f/m60h_f.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include "eeconfig.h" #include "quantum.h" diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index 783fc2bab78b..0b75f2588b50 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -1,19 +1,6 @@ -/* -Copyright 2020 +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later -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 RGB */ diff --git a/keyboards/mode/m60s/keymaps/default/keymap.c b/keyboards/mode/m60s/keymaps/default/keymap.c index 704f73f4831a..db10e16b9ce5 100644 --- a/keyboards/mode/m60s/keymaps/default/keymap.c +++ b/keyboards/mode/m60s/keymaps/default/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mode/m60s/keymaps/via/keymap.c b/keyboards/mode/m60s/keymaps/via/keymap.c index 704f73f4831a..db10e16b9ce5 100644 --- a/keyboards/mode/m60s/keymaps/via/keymap.c +++ b/keyboards/mode/m60s/keymaps/via/keymap.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { diff --git a/keyboards/mode/m60s/m60s.c b/keyboards/mode/m60s/m60s.c index 4397cc3c43e0..d08dfd820a8f 100644 --- a/keyboards/mode/m60s/m60s.c +++ b/keyboards/mode/m60s/m60s.c @@ -1,3 +1,6 @@ +// Copyright 2023 contact@vwolf.be +// SPDX-License-Identifier: GPL-2.0-or-later + #include "eeconfig.h" #include "quantum.h" From 9ff9c44051528252d6bb84a326c16b116d25d541 Mon Sep 17 00:00:00 2001 From: Wolf Date: Tue, 28 Nov 2023 12:44:04 +0100 Subject: [PATCH 03/17] Unify Vendor name cross other projects --- keyboards/mode/m60h/info.json | 2 +- keyboards/mode/m60h_f/info.json | 2 +- keyboards/mode/m60s/info.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/mode/m60h/info.json b/keyboards/mode/m60h/info.json index 08df42743ddf..833a2f43c71d 100644 --- a/keyboards/mode/m60h/info.json +++ b/keyboards/mode/m60h/info.json @@ -1,5 +1,5 @@ { - "manufacturer": "Mode", + "manufacturer": "Mode Designs", "keyboard_name": "M60H", "maintainer": "ToastyStoemp", "bootloader": "stm32-dfu", diff --git a/keyboards/mode/m60h_f/info.json b/keyboards/mode/m60h_f/info.json index 71f66e7026f6..7dd73b0a78b5 100644 --- a/keyboards/mode/m60h_f/info.json +++ b/keyboards/mode/m60h_f/info.json @@ -1,5 +1,5 @@ { - "manufacturer": "Mode", + "manufacturer": "Mode Designs", "keyboard_name": "M60H-F", "maintainer": "ToastyStoemp", "bootloader": "stm32-dfu", diff --git a/keyboards/mode/m60s/info.json b/keyboards/mode/m60s/info.json index c2ecba7894c2..aa8c22fb5c0f 100644 --- a/keyboards/mode/m60s/info.json +++ b/keyboards/mode/m60s/info.json @@ -1,5 +1,5 @@ { - "manufacturer": "Mode", + "manufacturer": "Mode Designs", "keyboard_name": "M60S", "maintainer": "ToastyStoemp", "bootloader": "stm32-dfu", From 0bc592b0caf5e30eb7ade6a78755e072546af344 Mon Sep 17 00:00:00 2001 From: Wolf Date: Tue, 28 Nov 2023 12:44:34 +0100 Subject: [PATCH 04/17] Move pin description from Config to Info.json --- keyboards/mode/m60h/config.h | 5 ----- keyboards/mode/m60h/info.json | 7 +++++-- keyboards/mode/m60h_f/config.h | 5 ----- keyboards/mode/m60h_f/info.json | 7 +++++-- keyboards/mode/m60s/config.h | 6 ------ keyboards/mode/m60s/info.json | 4 +++- 6 files changed, 13 insertions(+), 21 deletions(-) diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index 197e34f2df7e..bd80c1ea7bb9 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -3,9 +3,4 @@ #pragma once -/* Define RGB */ -#ifdef RGBLIGHT_ENABLE -#define WS2812_DI_PIN B9 - #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -#endif diff --git a/keyboards/mode/m60h/info.json b/keyboards/mode/m60h/info.json index 833a2f43c71d..cafa3812e658 100644 --- a/keyboards/mode/m60h/info.json +++ b/keyboards/mode/m60h/info.json @@ -33,8 +33,11 @@ }, "led_count": 20, "max_brightness": 120, - "pin": "B9", - "sleep": true + "sleep": true, + "driver": "ws2812" + }, + "ws2812": { + "pin": "B9" }, "url": "", "usb": { diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index 197e34f2df7e..bd80c1ea7bb9 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -3,9 +3,4 @@ #pragma once -/* Define RGB */ -#ifdef RGBLIGHT_ENABLE -#define WS2812_DI_PIN B9 - #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -#endif diff --git a/keyboards/mode/m60h_f/info.json b/keyboards/mode/m60h_f/info.json index 7dd73b0a78b5..07fd6b0fa80d 100644 --- a/keyboards/mode/m60h_f/info.json +++ b/keyboards/mode/m60h_f/info.json @@ -33,8 +33,11 @@ }, "led_count": 20, "max_brightness": 120, - "pin": "B9", - "sleep": true + "sleep": true, + "driver": "ws2812" + }, + "ws2812": { + "pin": "B9" }, "url": "", "usb": { diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index 0b75f2588b50..bd80c1ea7bb9 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -3,10 +3,4 @@ #pragma once -/* Define RGB */ -#ifdef RGBLIGHT_ENABLE - -#define WS2812_DI_PIN B9 - #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -#endif diff --git a/keyboards/mode/m60s/info.json b/keyboards/mode/m60s/info.json index aa8c22fb5c0f..f50bda4f1398 100644 --- a/keyboards/mode/m60s/info.json +++ b/keyboards/mode/m60s/info.json @@ -33,10 +33,12 @@ }, "led_count": 20, "max_brightness": 120, - "pin": "B9", "sleep": true, "driver": "ws2812" }, + "ws2812": { + "pin": "B9" + }, "url": "", "usb": { "device_version": "1.0.0", From a307274e9698fce09ac02f0d5d3edaa89c89a0ae Mon Sep 17 00:00:00 2001 From: Wolf Date: Wed, 29 Nov 2023 05:26:02 +0100 Subject: [PATCH 05/17] Replace WS2812 driver with PWM --- keyboards/mode/m60h/config.h | 7 ++++++ keyboards/mode/m60h/halconf.h | 21 ++++++++++++++++++ keyboards/mode/m60h/info.json | 3 ++- keyboards/mode/m60h/m60h.c | 10 --------- keyboards/mode/m60h/mcuconf.h | 24 ++++++++++++++++++++ keyboards/mode/m60h_f/config.h | 7 ++++++ keyboards/mode/m60h_f/halconf.h | 21 ++++++++++++++++++ keyboards/mode/m60h_f/info.json | 3 ++- keyboards/mode/m60h_f/m60h_f.c | 10 --------- keyboards/mode/m60h_f/mcuconf.h | 24 ++++++++++++++++++++ keyboards/mode/m60s/chconf.h | 39 +++++++++++++++++++++++++++++++++ keyboards/mode/m60s/config.h | 7 ++++++ keyboards/mode/m60s/halconf.h | 21 ++++++++++++++++++ keyboards/mode/m60s/m60s.c | 10 --------- keyboards/mode/m60s/mcuconf.h | 24 ++++++++++++++++++++ 15 files changed, 199 insertions(+), 32 deletions(-) create mode 100644 keyboards/mode/m60h/halconf.h delete mode 100644 keyboards/mode/m60h/m60h.c create mode 100644 keyboards/mode/m60h/mcuconf.h create mode 100644 keyboards/mode/m60h_f/halconf.h delete mode 100644 keyboards/mode/m60h_f/m60h_f.c create mode 100644 keyboards/mode/m60h_f/mcuconf.h create mode 100644 keyboards/mode/m60s/chconf.h create mode 100644 keyboards/mode/m60s/halconf.h delete mode 100644 keyboards/mode/m60s/m60s.c create mode 100644 keyboards/mode/m60s/mcuconf.h diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index bd80c1ea7bb9..cf430988f312 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -4,3 +4,10 @@ #pragma once #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file diff --git a/keyboards/mode/m60h/halconf.h b/keyboards/mode/m60h/halconf.h new file mode 100644 index 000000000000..6c00f3808493 --- /dev/null +++ b/keyboards/mode/m60h/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2020 QMK + * + * 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/mode/m60h/info.json b/keyboards/mode/m60h/info.json index cafa3812e658..8ef97dbdcac7 100644 --- a/keyboards/mode/m60h/info.json +++ b/keyboards/mode/m60h/info.json @@ -37,7 +37,8 @@ "driver": "ws2812" }, "ws2812": { - "pin": "B9" + "pin": "B9", + "driver": "pwm" }, "url": "", "usb": { diff --git a/keyboards/mode/m60h/m60h.c b/keyboards/mode/m60h/m60h.c deleted file mode 100644 index d08dfd820a8f..000000000000 --- a/keyboards/mode/m60h/m60h.c +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2023 contact@vwolf.be -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "eeconfig.h" -#include "quantum.h" - -void keyboard_post_init_kb(void) { - wait_ms(200); - rgblight_reload_from_eeprom(); -} \ No newline at end of file diff --git a/keyboards/mode/m60h/mcuconf.h b/keyboards/mode/m60h/mcuconf.h new file mode 100644 index 000000000000..0b044526b298 --- /dev/null +++ b/keyboards/mode/m60h/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 QMK + * + * 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 STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 \ No newline at end of file diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index bd80c1ea7bb9..cf430988f312 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -4,3 +4,10 @@ #pragma once #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file diff --git a/keyboards/mode/m60h_f/halconf.h b/keyboards/mode/m60h_f/halconf.h new file mode 100644 index 000000000000..6c00f3808493 --- /dev/null +++ b/keyboards/mode/m60h_f/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2020 QMK + * + * 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/mode/m60h_f/info.json b/keyboards/mode/m60h_f/info.json index 07fd6b0fa80d..8876c8cd3080 100644 --- a/keyboards/mode/m60h_f/info.json +++ b/keyboards/mode/m60h_f/info.json @@ -37,7 +37,8 @@ "driver": "ws2812" }, "ws2812": { - "pin": "B9" + "pin": "B9", + "driver": "pwm" }, "url": "", "usb": { diff --git a/keyboards/mode/m60h_f/m60h_f.c b/keyboards/mode/m60h_f/m60h_f.c deleted file mode 100644 index d08dfd820a8f..000000000000 --- a/keyboards/mode/m60h_f/m60h_f.c +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2023 contact@vwolf.be -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "eeconfig.h" -#include "quantum.h" - -void keyboard_post_init_kb(void) { - wait_ms(200); - rgblight_reload_from_eeprom(); -} \ No newline at end of file diff --git a/keyboards/mode/m60h_f/mcuconf.h b/keyboards/mode/m60h_f/mcuconf.h new file mode 100644 index 000000000000..0b044526b298 --- /dev/null +++ b/keyboards/mode/m60h_f/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 QMK + * + * 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 STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 \ No newline at end of file diff --git a/keyboards/mode/m60s/chconf.h b/keyboards/mode/m60s/chconf.h new file mode 100644 index 000000000000..de4ab83ec369 --- /dev/null +++ b/keyboards/mode/m60s/chconf.h @@ -0,0 +1,39 @@ +/* Copyright 2020 QMK + * + * 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 . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f401/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#include_next + diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index bd80c1ea7bb9..cf430988f312 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -4,3 +4,10 @@ #pragma once #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL + +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_PWM_PAL_MODE 2 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file diff --git a/keyboards/mode/m60s/halconf.h b/keyboards/mode/m60s/halconf.h new file mode 100644 index 000000000000..6c00f3808493 --- /dev/null +++ b/keyboards/mode/m60s/halconf.h @@ -0,0 +1,21 @@ +/* Copyright 2020 QMK + * + * 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_PWM TRUE + +#include_next \ No newline at end of file diff --git a/keyboards/mode/m60s/m60s.c b/keyboards/mode/m60s/m60s.c deleted file mode 100644 index d08dfd820a8f..000000000000 --- a/keyboards/mode/m60s/m60s.c +++ /dev/null @@ -1,10 +0,0 @@ -// Copyright 2023 contact@vwolf.be -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "eeconfig.h" -#include "quantum.h" - -void keyboard_post_init_kb(void) { - wait_ms(200); - rgblight_reload_from_eeprom(); -} \ No newline at end of file diff --git a/keyboards/mode/m60s/mcuconf.h b/keyboards/mode/m60s/mcuconf.h new file mode 100644 index 000000000000..0b044526b298 --- /dev/null +++ b/keyboards/mode/m60s/mcuconf.h @@ -0,0 +1,24 @@ +/* Copyright 2020 QMK + * + * 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 STM32_PWM_USE_TIM4 +#define STM32_PWM_USE_TIM4 TRUE + +#undef STM32_ST_USE_TIMER +#define STM32_ST_USE_TIMER 5 \ No newline at end of file From 6a5f0378e34655b87185ca1d32d8689c9c65adff Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Mon, 4 Dec 2023 10:21:14 +0100 Subject: [PATCH 06/17] Update keyboards/mode/m60h/config.h Co-authored-by: Ryan --- keyboards/mode/m60h/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index cf430988f312..57e095705a19 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -7,7 +7,6 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file From 10209267e6ba93e0c48e4692d8a7195d7d3d0ad2 Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Mon, 4 Dec 2023 10:21:36 +0100 Subject: [PATCH 07/17] Update keyboards/mode/m60h_f/config.h Co-authored-by: Ryan --- keyboards/mode/m60h_f/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index cf430988f312..57e095705a19 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -7,7 +7,6 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file From 35fb037cec9fa8052c9a1dc21d69ec5349e636fd Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Mon, 4 Dec 2023 10:21:49 +0100 Subject: [PATCH 08/17] Update keyboards/mode/m60h/readme.md Co-authored-by: Ryan --- keyboards/mode/m60h/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/mode/m60h/readme.md b/keyboards/mode/m60h/readme.md index e379ea51137e..38991cd03f85 100644 --- a/keyboards/mode/m60h/readme.md +++ b/keyboards/mode/m60h/readme.md @@ -10,11 +10,11 @@ The following is the QMK Firmware for the Mode Tempo M60H PCB. Make example for this keyboard (after setting up your build environment): - make mode/m60h:default + make mode/m60h:default Flashing example for this keyboard: - make mode/m60h:default:flash + make mode/m60h: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). From 5286b6c2623796a4b6da0f9c754633f1879e7a15 Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Mon, 4 Dec 2023 10:21:59 +0100 Subject: [PATCH 09/17] Update keyboards/mode/m60s/config.h Co-authored-by: Ryan --- keyboards/mode/m60s/config.h | 1 - 1 file changed, 1 deletion(-) diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index cf430988f312..57e095705a19 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -7,7 +7,6 @@ #define WS2812_PWM_DRIVER PWMD4 #define WS2812_PWM_CHANNEL 4 -#define WS2812_PWM_PAL_MODE 2 #define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. #define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file From bbe13568b3db37ffa58537c02cc4323b1794eb4a Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Mon, 4 Dec 2023 10:22:07 +0100 Subject: [PATCH 10/17] Update keyboards/mode/m60s/readme.md Co-authored-by: Ryan --- keyboards/mode/m60s/readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/keyboards/mode/m60s/readme.md b/keyboards/mode/m60s/readme.md index 9cc0b313b242..a01c54ddc14b 100644 --- a/keyboards/mode/m60s/readme.md +++ b/keyboards/mode/m60s/readme.md @@ -10,11 +10,11 @@ The following is the QMK Firmware for the Mode Tempo M60S PCB. Make example for this keyboard (after setting up your build environment): - make mode/m60s:default + make mode/m60s:default Flashing example for this keyboard: - make mode/m60s:default:flash + make mode/m60s: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). From d71df9fbe5bcfeeec6aa9c829ff07017184f8af5 Mon Sep 17 00:00:00 2001 From: Wolf Date: Mon, 4 Dec 2023 10:27:53 +0100 Subject: [PATCH 11/17] Format info.json files --- keyboards/mode/m60h/info.json | 132 ++++++++--------- keyboards/mode/m60h_f/info.json | 135 ++++++++--------- keyboards/mode/m60s/info.json | 254 ++++++++++++++++---------------- 3 files changed, 258 insertions(+), 263 deletions(-) diff --git a/keyboards/mode/m60h/info.json b/keyboards/mode/m60h/info.json index 8ef97dbdcac7..5fee9791497c 100644 --- a/keyboards/mode/m60h/info.json +++ b/keyboards/mode/m60h/info.json @@ -31,14 +31,10 @@ "static_gradient": true, "twinkle": true }, + "driver": "ws2812", "led_count": 20, "max_brightness": 120, - "sleep": true, - "driver": "ws2812" - }, - "ws2812": { - "pin": "B9", - "driver": "pwm" + "sleep": true }, "url": "", "usb": { @@ -46,70 +42,74 @@ "pid": "0x0062", "vid": "0x00DE" }, + "ws2812": { + "driver": "pwm", + "pin": "B9" + }, "community_layouts": ["60_hhkb"], "layouts": { "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], "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, 14], "w": 1.5, "x": 13.5, "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, 14], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 14], "x": 14, "y": 3 }, - { "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 4 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [5, 12], "x": 12.5, "y": 4 } + {"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, 14], "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, 14], "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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 4} ] } } diff --git a/keyboards/mode/m60h_f/info.json b/keyboards/mode/m60h_f/info.json index 8876c8cd3080..f4bcddfe7514 100644 --- a/keyboards/mode/m60h_f/info.json +++ b/keyboards/mode/m60h_f/info.json @@ -31,14 +31,10 @@ "static_gradient": true, "twinkle": true }, + "driver": "ws2812", "led_count": 20, "max_brightness": 120, - "sleep": true, - "driver": "ws2812" - }, - "ws2812": { - "pin": "B9", - "driver": "pwm" + "sleep": true }, "url": "", "usb": { @@ -46,73 +42,72 @@ "pid": "0x0061", "vid": "0x00DE" }, + "ws2812": { + "driver": "pwm", + "pin": "B9" + }, "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], "w": 2, "x": 13, "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": [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, 13], "w": 2.25, "x": 12.75, "y": 2 }, - - { "matrix": [3, 0], "w": 2.25, "x": 0, "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 13], "x": 14, "y": 3 }, - - { "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - - { "matrix": [5, 6], "w": 7, "x": 4, "y": 4 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [5, 12], "x": 12.5, "y": 4 } + {"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, 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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 13], "x": 14, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 4} ] } } diff --git a/keyboards/mode/m60s/info.json b/keyboards/mode/m60s/info.json index f50bda4f1398..368f2fff8245 100644 --- a/keyboards/mode/m60s/info.json +++ b/keyboards/mode/m60s/info.json @@ -31,13 +31,10 @@ "static_gradient": true, "twinkle": true }, + "driver": "ws2812", "led_count": 20, "max_brightness": 120, - "sleep": true, - "driver": "ws2812" - }, - "ws2812": { - "pin": "B9" + "sleep": true }, "url": "", "usb": { @@ -45,135 +42,138 @@ "pid": "0x0060", "vid": "0x00DE" }, + "ws2812": { + "pin": "B9" + }, "layouts": { "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], "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, 14], "w": 1.5, "x": 13.5, "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, 14], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 2.25, "x": 0, "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 14], "x": 14, "y": 3 }, - { "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [5, 6], "w": 7, "x": 4, "y": 4 }, - { "matrix": [5, 10], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [5, 12], "x": 12.5, "y": 4 } + {"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, 14], "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, 14], "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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [5, 6], "x": 4, "y": 4, "w": 7}, + {"matrix": [5, 10], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "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": [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, 14], "w": 1.5, "x": 13.5, "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], "x": 15.25, "y": 2 }, - { "matrix": [2, 14], "w": 2.25, "x": 12.75, "y": 2 }, - { "matrix": [3, 0], "w": 1.25, "x": 0, "y": 3 }, - { "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, 12], "w": 1.75, "x": 12.25, "y": 3 }, - { "matrix": [3, 14], "x": 14, "y": 3 }, - { "matrix": [4, 1], "x": 1.5, "y": 4 }, - { "matrix": [4, 2], "w": 1.5, "x": 2.5, "y": 4 }, - { "matrix": [5, 7], "w": 7, "x": 4, "y": 4 }, - { "matrix": [5, 11], "w": 1.5, "x": 11, "y": 4 }, - { "matrix": [5, 12], "x": 12.5, "y": 4 } + {"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, 14], "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": 15.25, "y": 2}, + {"matrix": [2, 14], "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, 12], "x": 12.25, "y": 3, "w": 1.75}, + {"matrix": [3, 14], "x": 14, "y": 3}, + {"matrix": [4, 1], "x": 1.5, "y": 4}, + {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5}, + {"matrix": [5, 7], "x": 4, "y": 4, "w": 7}, + {"matrix": [5, 11], "x": 11, "y": 4, "w": 1.5}, + {"matrix": [5, 12], "x": 12.5, "y": 4} ] } } From 337234ab7aebb3d8ba1620bf95d49c5d7326db51 Mon Sep 17 00:00:00 2001 From: Wolf Date: Mon, 4 Dec 2023 10:28:04 +0100 Subject: [PATCH 12/17] replace link with images --- keyboards/mode/m60h/readme.md | 2 +- keyboards/mode/m60h_f/readme.md | 2 +- keyboards/mode/m60s/readme.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/mode/m60h/readme.md b/keyboards/mode/m60h/readme.md index e379ea51137e..98a5ae7bf5ca 100644 --- a/keyboards/mode/m60h/readme.md +++ b/keyboards/mode/m60h/readme.md @@ -1,6 +1,6 @@ # Mode Tempo M60H -![Mode Tempo M60H](https://modedesigns.com/products/tempo) +![Mode Tempo M60H](https://i.imgur.com/6Wo7ySh.png) The following is the QMK Firmware for the Mode Tempo M60H PCB. diff --git a/keyboards/mode/m60h_f/readme.md b/keyboards/mode/m60h_f/readme.md index 3789d286beb0..5c72fa64b7cb 100644 --- a/keyboards/mode/m60h_f/readme.md +++ b/keyboards/mode/m60h_f/readme.md @@ -1,6 +1,6 @@ # Mode Tempo M60H_F -![Mode Tempo M60H_F](https://modedesigns.com/products/tempo) +![Mode Tempo M60H_F](https://i.imgur.com/6Wo7ySh.png) The following is the QMK Firmware for the Mode Tempo M60H_F PCB. diff --git a/keyboards/mode/m60s/readme.md b/keyboards/mode/m60s/readme.md index 9cc0b313b242..242f01028b65 100644 --- a/keyboards/mode/m60s/readme.md +++ b/keyboards/mode/m60s/readme.md @@ -1,6 +1,6 @@ # Mode Tempo M60S -![Mode Tempo M60S](https://modedesigns.com/products/tempo) +![Mode Tempo M60S](https://i.imgur.com/6Wo7ySh.png) The following is the QMK Firmware for the Mode Tempo M60S PCB. From 062cd998e8aba6a87dab235d2c42e820528a2f62 Mon Sep 17 00:00:00 2001 From: Wolf Date: Wed, 13 Dec 2023 04:24:28 +0100 Subject: [PATCH 13/17] Fix spacings in Config file --- keyboards/mode/m60h/config.h | 8 ++++---- keyboards/mode/m60h_f/config.h | 8 ++++---- keyboards/mode/m60s/config.h | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/keyboards/mode/m60h/config.h b/keyboards/mode/m60h/config.h index 57e095705a19..04fda276e63a 100644 --- a/keyboards/mode/m60h/config.h +++ b/keyboards/mode/m60h/config.h @@ -5,8 +5,8 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -#define WS2812_PWM_DRIVER PWMD4 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 +#define WS2812_DMA_CHANNEL 2 #define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file diff --git a/keyboards/mode/m60h_f/config.h b/keyboards/mode/m60h_f/config.h index 57e095705a19..04fda276e63a 100644 --- a/keyboards/mode/m60h_f/config.h +++ b/keyboards/mode/m60h_f/config.h @@ -5,8 +5,8 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -#define WS2812_PWM_DRIVER PWMD4 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 +#define WS2812_DMA_CHANNEL 2 #define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file diff --git a/keyboards/mode/m60s/config.h b/keyboards/mode/m60s/config.h index 57e095705a19..04fda276e63a 100644 --- a/keyboards/mode/m60s/config.h +++ b/keyboards/mode/m60s/config.h @@ -5,8 +5,8 @@ #define RGBLIGHT_DEFAULT_MODE RGBLIGHT_MODE_RAINBOW_SWIRL -#define WS2812_PWM_DRIVER PWMD4 -#define WS2812_PWM_CHANNEL 4 -#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. -#define WS2812_DMA_CHANNEL 2 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. +#define WS2812_PWM_DRIVER PWMD4 +#define WS2812_PWM_CHANNEL 4 +#define WS2812_DMA_STREAM STM32_DMA1_STREAM6 +#define WS2812_DMA_CHANNEL 2 #define WS2812_PWM_TARGET_PERIOD 800000 \ No newline at end of file From df026613b7217d32cb74140f28d2cbe86119c417 Mon Sep 17 00:00:00 2001 From: Wolf Date: Wed, 13 Dec 2023 04:24:49 +0100 Subject: [PATCH 14/17] remove non essential file --- keyboards/mode/m60s/chconf.h | 39 ------------------------------------ 1 file changed, 39 deletions(-) delete mode 100644 keyboards/mode/m60s/chconf.h diff --git a/keyboards/mode/m60s/chconf.h b/keyboards/mode/m60s/chconf.h deleted file mode 100644 index de4ab83ec369..000000000000 --- a/keyboards/mode/m60s/chconf.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright 2020 QMK - * - * 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 . - */ - -/* - * This file was auto-generated by: - * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f401/chconf.h -r platforms/chibios/common/configs/chconf.h` - */ - -#pragma once - -#define CH_CFG_ST_FREQUENCY 10000 - -#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE - -#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE - -#define CH_CFG_FACTORY_SEMAPHORES TRUE - -#define CH_CFG_FACTORY_MAILBOXES TRUE - -#define CH_CFG_FACTORY_OBJ_FIFOS TRUE - -#define CH_CFG_FACTORY_PIPES TRUE - -#include_next - From 1fc7f6bddbc0455efdfb71bd5faeccb33ed58648 Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Thu, 14 Dec 2023 16:18:01 +0100 Subject: [PATCH 15/17] Update readme.md spacings --- keyboards/mode/m60h/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/mode/m60h/readme.md b/keyboards/mode/m60h/readme.md index c014f125a158..127617bff416 100644 --- a/keyboards/mode/m60h/readme.md +++ b/keyboards/mode/m60h/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch) * **Keycode in layout**: Press the key mapped to `QK_BOOT` if available -* **Physical Reset Button**: Hold down the button on the back of the PCB \ No newline at end of file +* **Physical Reset Button**: Hold down the button on the back of the PCB From 3dd6e04dc4a7c33a54293516b4148bb9d06bb456 Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Thu, 14 Dec 2023 16:18:39 +0100 Subject: [PATCH 16/17] Update readme.md Spacings --- keyboards/mode/m60h_f/readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboards/mode/m60h_f/readme.md b/keyboards/mode/m60h_f/readme.md index 5c72fa64b7cb..c8c348134d8a 100644 --- a/keyboards/mode/m60h_f/readme.md +++ b/keyboards/mode/m60h_f/readme.md @@ -10,15 +10,15 @@ The following is the QMK Firmware for the Mode Tempo M60H_F PCB. Make example for this keyboard (after setting up your build environment): - make mode/m60h_f:default + make mode/m60h_f:default Flashing example for this keyboard: - make mode/m60h_f:default:flash + make mode/m60h_f: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 ESC key and plug in the keyboard (Top Left most switch) * **Keycode in layout**: Press the key mapped to `QK_BOOT` if available -* **Physical Reset Button**: Hold down the button on the back of the PCB \ No newline at end of file +* **Physical Reset Button**: Hold down the button on the back of the PCB From b2d09039ae75883b3d0b9b0395aa264ec42eb083 Mon Sep 17 00:00:00 2001 From: Wolf Van Herreweghe Date: Thu, 14 Dec 2023 16:19:03 +0100 Subject: [PATCH 17/17] Update readme.md --- keyboards/mode/m60s/readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboards/mode/m60s/readme.md b/keyboards/mode/m60s/readme.md index 19c3c3e5d162..07c2b12b01a3 100644 --- a/keyboards/mode/m60s/readme.md +++ b/keyboards/mode/m60s/readme.md @@ -21,4 +21,4 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Bootloader Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the key ESC key and plug in the keyboard (Top Left most switch) * **Keycode in layout**: Press the key mapped to `QK_BOOT` if available -* **Physical Reset Button**: Hold down the button on the back of the PCB \ No newline at end of file +* **Physical Reset Button**: Hold down the button on the back of the PCB