summaryrefslogtreecommitdiff
path: root/keyboards/mlego
diff options
context:
space:
mode:
authorAlin Marin Elena <alin@elena.space>2023-10-12 06:26:20 +0100
committerGitHub <noreply@github.com>2023-10-11 22:26:20 -0700
commit007c0c1db4def95cc667d4220de79b54011e206d (patch)
tree5769ea5ec11557498eef777a6d08c5d957a9d254 /keyboards/mlego
parentc72d661b93d6adac4937fce2c96cd98c1b472c41 (diff)
Updates to mlego m65 (#20220)
Co-authored-by: Drashna Jaelre <drashna@live.com> Co-authored-by: Ryan <fauxpark@gmail.com>
Diffstat (limited to 'keyboards/mlego')
-rw-r--r--keyboards/mlego/m65/config.h21
-rw-r--r--keyboards/mlego/m65/info.json84
-rw-r--r--keyboards/mlego/m65/keymaps/default/config.h18
-rw-r--r--keyboards/mlego/m65/keymaps/default/keymap.c94
-rw-r--r--keyboards/mlego/m65/keymaps/default/rules.mk1
-rw-r--r--keyboards/mlego/m65/keymaps/dk/config.h20
-rw-r--r--keyboards/mlego/m65/keymaps/dk/keymap.c121
-rw-r--r--keyboards/mlego/m65/keymaps/dk/readme.md13
-rw-r--r--keyboards/mlego/m65/keymaps/uk/config.h27
-rw-r--r--keyboards/mlego/m65/keymaps/uk/keymap.c308
-rw-r--r--keyboards/mlego/m65/keymaps/uk/rules.mk1
-rw-r--r--keyboards/mlego/m65/keymaps/via/config.h20
-rw-r--r--keyboards/mlego/m65/keymaps/via/keymap.c118
-rw-r--r--keyboards/mlego/m65/keymaps/via/rules.mk1
-rw-r--r--keyboards/mlego/m65/lib/glcdfont.c233
-rw-r--r--keyboards/mlego/m65/m65.c249
-rw-r--r--keyboards/mlego/m65/m65.h165
-rw-r--r--keyboards/mlego/m65/readme.md2
-rw-r--r--keyboards/mlego/m65/rev1/config.h21
-rw-r--r--keyboards/mlego/m65/rev1/info.json130
-rw-r--r--keyboards/mlego/m65/rev1/mcuconf.h22
-rw-r--r--keyboards/mlego/m65/rev1/rules.mk14
-rw-r--r--keyboards/mlego/m65/rev2/board.h17
-rw-r--r--keyboards/mlego/m65/rev2/config.h21
-rw-r--r--keyboards/mlego/m65/rev2/info.json129
-rw-r--r--keyboards/mlego/m65/rev2/mcuconf.h22
-rw-r--r--keyboards/mlego/m65/rev2/rules.mk14
-rw-r--r--keyboards/mlego/m65/rev3/config.h21
-rw-r--r--keyboards/mlego/m65/rev3/halconf.h22
-rw-r--r--keyboards/mlego/m65/rev3/info.json131
-rw-r--r--keyboards/mlego/m65/rev3/mcuconf.h22
-rw-r--r--keyboards/mlego/m65/rev3/rules.mk14
-rw-r--r--keyboards/mlego/m65/rev4/config.h30
-rw-r--r--keyboards/mlego/m65/rev4/halconf.h22
-rw-r--r--keyboards/mlego/m65/rev4/info.json133
-rw-r--r--keyboards/mlego/m65/rev4/mcuconf.h22
-rw-r--r--keyboards/mlego/m65/rev4/rules.mk15
37 files changed, 816 insertions, 1502 deletions
diff --git a/keyboards/mlego/m65/config.h b/keyboards/mlego/m65/config.h
deleted file mode 100644
index bdb0c16621..0000000000
--- a/keyboards/mlego/m65/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define LOCKING_SUPPORT_ENABLE
-#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/mlego/m65/info.json b/keyboards/mlego/m65/info.json
deleted file mode 100644
index c032cda3fe..0000000000
--- a/keyboards/mlego/m65/info.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "keyboard_name": "m65",
- "manufacturer": "Alin Elena",
- "url": "https://gitlab.com/m-lego/m65",
- "maintainer": "alin elena",
- "usb": {
- "vid": "0xBABA"
- },
- "layouts": {
- "LAYOUT_ortho_5x13": {
- "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": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [1, 4], "x": 4, "y": 1},
- {"matrix": [1, 5], "x": 5, "y": 1},
- {"matrix": [1, 6], "x": 6, "y": 1},
- {"matrix": [1, 7], "x": 7, "y": 1},
- {"matrix": [1, 8], "x": 8, "y": 1},
- {"matrix": [1, 9], "x": 9, "y": 1},
- {"matrix": [1, 10], "x": 10, "y": 1},
- {"matrix": [1, 11], "x": 11, "y": 1},
- {"matrix": [1, 12], "x": 12, "y": 1},
-
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
- {"matrix": [2, 4], "x": 4, "y": 2},
- {"matrix": [2, 5], "x": 5, "y": 2},
- {"matrix": [2, 6], "x": 6, "y": 2},
- {"matrix": [2, 7], "x": 7, "y": 2},
- {"matrix": [2, 8], "x": 8, "y": 2},
- {"matrix": [2, 9], "x": 9, "y": 2},
- {"matrix": [2, 10], "x": 10, "y": 2},
- {"matrix": [2, 11], "x": 11, "y": 2},
- {"matrix": [2, 12], "x": 12, "y": 2},
-
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
- {"matrix": [3, 4], "x": 4, "y": 3},
- {"matrix": [3, 5], "x": 5, "y": 3},
- {"matrix": [3, 6], "x": 6, "y": 3},
- {"matrix": [3, 7], "x": 7, "y": 3},
- {"matrix": [3, 8], "x": 8, "y": 3},
- {"matrix": [3, 9], "x": 9, "y": 3},
- {"matrix": [3, 10], "x": 10, "y": 3},
- {"matrix": [3, 11], "x": 11, "y": 3},
- {"matrix": [3, 12], "x": 12, "y": 3},
-
- {"matrix": [4, 0], "x": 0, "y": 4},
- {"matrix": [4, 1], "x": 1, "y": 4},
- {"matrix": [4, 2], "x": 2, "y": 4},
- {"matrix": [4, 3], "x": 3, "y": 4},
- {"matrix": [4, 4], "x": 4, "y": 4},
- {"matrix": [4, 5], "x": 5, "y": 4},
- {"matrix": [4, 6], "x": 6, "y": 4},
- {"matrix": [4, 7], "x": 7, "y": 4},
- {"matrix": [4, 8], "x": 8, "y": 4},
- {"matrix": [4, 9], "x": 9, "y": 4},
- {"matrix": [4, 10], "x": 10, "y": 4},
- {"matrix": [4, 11], "x": 11, "y": 4},
- {"matrix": [4, 12], "x": 12, "y": 4}
- ]
- }
- }
-}
diff --git a/keyboards/mlego/m65/keymaps/default/config.h b/keyboards/mlego/m65/keymaps/default/config.h
index 637c0a8faf..dba9c658ae 100644
--- a/keyboards/mlego/m65/keymaps/default/config.h
+++ b/keyboards/mlego/m65/keymaps/default/config.h
@@ -1,19 +1,5 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/keymaps/default/keymap.c b/keyboards/mlego/m65/keymaps/default/keymap.c
index 00e144e221..d7421f659c 100644
--- a/keyboards/mlego/m65/keymaps/default/keymap.c
+++ b/keyboards/mlego/m65/keymaps/default/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
@@ -51,69 +37,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
};
// clang-format on
-bool led_update_user(led_t led_state) {
- // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
- return false;
-}
-
-void matrix_scan_user(void) {
-
- toggle_leds();
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case (TT(_LWR)):
- if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
- set_led_toggle(_LWR, !layer_state_is(_LWR));
- }
- return true;
- break;
- case (TT(_RSE)):
- if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- set_led_toggle(_RSE, !layer_state_is(_RSE));
- }
- return true;
- break;
- default:
- return true;
- }
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
-#ifdef RGBLIGHT_ENABLE
-
- set_rgb_layers(state);
-
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_QW] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+#if defined(RGBLIGHT_ENABLE)
+ [_LWR] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
+ [_RSE] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
+ [_ADJ] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
+# else
+ [_LWR] = {ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
+ [_RSE] = {ENCODER_CCW_CW(KC_MFFD, KC_MRWD)},
+ [_ADJ] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP)},
#endif
-
- return update_tri_layer_state(state, _LWR, _RSE, _ADJ);
-}
-
-#ifdef RGBLIGHT_ENABLE
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- set_default_rgb_layers(state);
- return state;
-}
-
-#endif
-
-void keyboard_post_init_user(void) {
-
-#ifdef RGBLIGHT_ENABLE
-
- // Enable the LED layers
- rgblight_layers = my_rgb();
-
-#endif
-
-#ifdef OLED_ENABLE
-
- init_timer();
-
+};
#endif
-}
diff --git a/keyboards/mlego/m65/keymaps/default/rules.mk b/keyboards/mlego/m65/keymaps/default/rules.mk
new file mode 100644
index 0000000000..ee32568148
--- /dev/null
+++ b/keyboards/mlego/m65/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mlego/m65/keymaps/dk/config.h b/keyboards/mlego/m65/keymaps/dk/config.h
deleted file mode 100644
index 637c0a8faf..0000000000
--- a/keyboards/mlego/m65/keymaps/dk/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/mlego/m65/keymaps/dk/keymap.c b/keyboards/mlego/m65/keymaps/dk/keymap.c
deleted file mode 100644
index 2bf20bf2f6..0000000000
--- a/keyboards/mlego/m65/keymaps/dk/keymap.c
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-#include "keymap_danish.h"
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QW] = LAYOUT_ortho_5x13(
- KC_ESC, DK_1 , DK_2 , DK_3 , DK_4 , DK_5 , DK_6 , DK_7 , DK_8 , DK_9 , DK_0 , DK_PLUS, KC_BSPC ,
- KC_TAB, DK_Q , DK_W , DK_E , DK_R , DK_T , DK_Y , DK_U , DK_I , DK_O , DK_P , DK_ARNG, DK_DIAE ,
- DK_QUOT, DK_A , DK_S , DK_D , DK_F , DK_G , DK_H , DK_J , DK_K , DK_L , DK_AE , DK_OSTR, KC_ENT ,
- SC_LSPO, DK_LABK, DK_Z , DK_X , DK_C , DK_V , DK_B , DK_N , DK_M , DK_COMM, DK_DOT , KC_UP , DK_MINS ,
- KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_LWR] = LAYOUT_ortho_5x13(
- DK_HALF, KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL , DK_ACUT ,
- KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ ,
- _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R),
-
- [_RSE] = LAYOUT_ortho_5x13(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R),
-
- [_ADJ] = LAYOUT_ortho_5x13(
- RGB_MOD,RGB_RMOD, A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T, RGB_M_SW ,
- RGB_HUI, RGB_HUD, RGB_M_P , _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, RGB_M_SN ,
- RGB_SAI, RGB_SAD, RGB_M_B , _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_K ,
- RGB_VAI, RGB_VAD, RGB_M_R , _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_X ,
- RGB_TOG, _______, _______ , _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_TW, RGB_M_G),
-
-};
-// clang-format on
-
-bool led_update_user(led_t led_state) {
- // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
- return false;
-}
-
-void matrix_scan_user(void) {
-
- toggle_leds();
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case (TT(_LWR)):
- if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
- set_led_toggle(_LWR, !layer_state_is(_LWR));
- }
- return true;
- break;
- case (TT(_RSE)):
- if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- set_led_toggle(_RSE, !layer_state_is(_RSE));
- }
- return true;
- break;
- default:
- return true;
- }
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
-#ifdef RGBLIGHT_ENABLE
-
- set_rgb_layers(state);
-
-#endif
-
- return update_tri_layer_state(state, _LWR, _RSE, _ADJ);
-}
-
-#ifdef RGBLIGHT_ENABLE
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- set_default_rgb_layers(state);
- return state;
-}
-
-#endif
-
-void keyboard_post_init_user(void) {
-
-#ifdef RGBLIGHT_ENABLE
-
- // Enable the LED layers
- rgblight_layers = my_rgb();
-
-#endif
-
-#ifdef OLED_ENABLE
-
- init_timer();
-
-#endif
-
-}
diff --git a/keyboards/mlego/m65/keymaps/dk/readme.md b/keyboards/mlego/m65/keymaps/dk/readme.md
deleted file mode 100644
index 76ecd8c139..0000000000
--- a/keyboards/mlego/m65/keymaps/dk/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
-![M65 Layout Image](https://i.imgur.com/RQqsM4gh.png)
-
-# Default M65 Layout
-
-This is the Danish keymap for M65. For the most part it's a straightforward and easy to follow layout inspired by ISO with a DK
-turn. The only unusual key is the key in the upper left, which sends Escape normally, but Grave when in layer 1 aka LWR. Similarly
-number row in layer 1 give the usual audio KC_GRV, KC_AUDIO_MUTE, KC_AUDIO_VOL_UP, KC_AUDIO_VOL_DOWN, KC_MEDIA_PREV_TRACK,
-KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, M_EXTDISP, KC_SYSTEM_SLEEP, KC_SYSTEM_WAKE, KC_PRINT_SCREEN, KC_DEL, DK_ACUT in layer 2 aka
-RSE one gets F1-F12 mouse emulation can be used in layer 1 and 2.
-
-flashing is done by LWR+RSE+r
-
-full layout below see in keymap.c
diff --git a/keyboards/mlego/m65/keymaps/uk/config.h b/keyboards/mlego/m65/keymaps/uk/config.h
index b0c6cfd639..c1f9816c99 100644
--- a/keyboards/mlego/m65/keymaps/uk/config.h
+++ b/keyboards/mlego/m65/keymaps/uk/config.h
@@ -1,29 +1,14 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#define TAPPING_TOGGLE 2
-#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX
-//#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINCOMPOSE
+#define UNICODE_SELECTED_MODES UNICODE_MODE_LINUX, UNICODE_MODE_MACOS, UNICODE_MODE_WINDOWS, UNICODE_MODE_WINCOMPOSE
#ifdef WPM_ENABLE
-#define WPM_SAMPLE_SECONDS 10
-#define WPM_SAMPLE_PERIODS 100
-#define WPM_ALLOW_COUNT_REGRESSION
+# define WPM_SAMPLE_SECONDS 10
+# define WPM_SAMPLE_PERIODS 100
+# define WPM_ALLOW_COUNT_REGRESSION
#endif
diff --git a/keyboards/mlego/m65/keymaps/uk/keymap.c b/keyboards/mlego/m65/keymaps/uk/keymap.c
index ee48872433..e021756cdd 100644
--- a/keyboards/mlego/m65/keymaps/uk/keymap.c
+++ b/keyboards/mlego/m65/keymaps/uk/keymap.c
@@ -1,106 +1,101 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include QMK_KEYBOARD_H
#include "keymap_uk.h"
-#ifdef CONSOLE_ENABLE
-
-#include "print.h"
-
-#endif
-
const uint32_t unicode_map[] PROGMEM = {
- [la] = 0x03B1 , // α
- [lA] = 0x0391 , // Α
- [lb] = 0x03B2 , // β
- [lB] = 0x0392 , // Β
- [lc] = 0x03C7 , // χ
- [lC] = 0x0307 , //
- [ld] = 0x03B4 , // δ
- [lD] = 0x2202 , // ∂
- [le] = 0x03B5 , // ε
- [lE] = 0x2107 , // ℇ
- [lf] = 0x03C6 , // φ
- [lF] = 0x03C8 , // ψ
- [lg] = 0x03B3 , // γ
- [lG] = 0x0393 , // Γ
- [lh] = 0x210F , // ℏ
- [lH] = 0x1D4D7, // 𝓗
- [li] = 0x222B , // ∫
- [lI] = 0x222E , // ∮
- [lj] = 0x2208 , // ∈
- [lJ] = 0x2209 , // ∉
- [lk] = 0x03F0 , // ϰ
- [lK] = 0x2206 , // ∆
- [ll] = 0x03BB , // λ
- [lL] = 0x039B , // Λ
- [lm] = 0x03BC , // μ
- [lM] = 0x2218 , // ∘
- [ln] = 0x03B7 , // η
- [lN] = 0x222A , // ∪
- [lo] = 0x221E , // ∞
- [lO] = 0x2297 , // ⊗
- [lp] = 0x03C0 , // π
- [lP] = 0x220F , // ∏
- [lq] = 0x03C3 , // σ
- [lQ] = 0x03D5 , // ϕ
- [lr] = 0x03C1 , // ρ
- [lR] = 0x2207 , // ∇
- [ls] = 0x2211 , // ∑
- [lS] = 0x2A0B , // ⨋
- [lt] = 0x03D1 , // ϑ
- [lT] = 0x03B8 , // θ
- [lu] = 0x03C4 , // τ
- [lU] = 0x2102 , // ℂ
- [lv] = 0x03BD , // χ
- [lV] = 0x039D , // Ν
- [lw] = 0x03C9 , // ω
- [lW] = 0x03A9 , // Ω
- [lx] = 0x03BE , // ξ
- [lX] = 0x039E , // Ξ
- [ly] = 0x211d , // ℝ
- [lY] = 0x2124 , // ℤ
- [lz] = 0x03B6 , // ζ
- [lZ] = 0x2221 , // ∡
- [lc1] = 0x224A , // ≊
- [lC1] = 0x2248 , // ≈
- [lp1] = 0x00B1 , // ±
- [lP1] = 0x2213 , // ∓
- [lq1] = 0x00D7 , // ×
- [lQ1] = 0x22C5 , // ⋅
- [ll1] = 0x1D53C, // 𝔼
- [lL1] = 0x212b , // Å
- [lk1] = 0x221D , // ∝
- [lK1] = 0x2112 , // ℒ
- [ra] = 0x0103 , // ă
- [rA] = 0x0102 , // Ă
- [ra1] = 0x00E2 , // â
- [rA1] = 0x00C2 , // Â
- [rc] = 0x00E7 , // ç
- [rC] = 0x00C7 , // Ç
- [ri] = 0x00EE , // î
- [rI] = 0x00CE , // Î
- [rs] = 0x0219 , // ș
- [rS] = 0x0218 , // Ș
- [rt] = 0x021B , // ț
- [rT] = 0x021A , // Ț
+ [la] = 0x03B1, // α
+ [lA] = 0x0307, //
+ [lb] = 0x03B2, // β
+ [lB] = 0x2229, // ∩
+ [lc] = 0x03C7, // χ
+ [lC] = 0x2282, // ⊂
+ [ld] = 0x03B4, // δ
+ [lD] = 0x2202, // ∂
+ [le] = 0x03B5, // ε
+ [lE] = 0x2107, // ℇ
+ [lf] = 0x03C6, // φ
+ [lF] = 0x03C8, // ψ
+ [lg] = 0x03B3, // γ
+ [lG] = 0x0393, // Γ
+ [lh] = 0x210F, // ℏ
+ [lH] = 0x1D4D7, // 𝓗
+ [li] = 0x222B, // ∫
+ [lI] = 0x222E, // ∮
+ [lj] = 0x2208, // ∈
+ [lJ] = 0x2209, // ∉
+ [lk] = 0x03F0, // ϰ
+ [lK] = 0x2206, // ∆
+ [ll] = 0x03BB, // λ
+ [lL] = 0x039B, // Λ
+ [lm] = 0x03BC, // μ
+ [lM] = 0x2218, // ∘
+ [ln] = 0x03B7, // η
+ [lN] = 0x222A, // ∪
+ [lo] = 0x221E, // ∞
+ [lO] = 0x2297, // ⊗
+ [lp] = 0x03C0, // π
+ [lP] = 0x220F, // ∏
+ [lq] = 0x03C3, // σ
+ [lQ] = 0x03D5, // ϕ
+ [lr] = 0x03C1, // ρ
+ [lR] = 0x2207, // ∇
+ [ls] = 0x2211, // ∑
+ [lS] = 0x2A0B, // ⨋
+ [lt] = 0x03D1, // ϑ
+ [lT] = 0x03B8, // θ
+ [lu] = 0x03C4, // τ
+ [lU] = 0x2102, // ℂ
+ [lv] = 0x03BD, // χ
+ [lV] = 0x2283, // ⊃
+ [lw] = 0x03C9, // ω
+ [lW] = 0x03A9, // Ω
+ [lx] = 0x03BE, // ξ
+ [lX] = 0x039E, // Ξ
+ [ly] = 0x211d, // ℝ
+ [lY] = 0x2124, // ℤ
+ [lz] = 0x03B6, // ζ
+ [lZ] = 0x2221, // ∡
+ [lc1] = 0x2248, // ≈
+ [lC1] = 0x2249, // ≉
+ [lp1] = 0x00B1, // ±
+ [lP1] = 0x2213, // ∓
+ [lq1] = 0x00D7, // ×
+ [lQ1] = 0x22C5, // ⋅
+ [ll1] = 0x1D53C, // 𝔼
+ [lL1] = 0x212b, // Å
+ [lk1] = 0x221D, // ∝
+ [lK1] = 0x2112, // ℒ
+ [lbo1] = 0x22DC, // ⋜
+ [lbo2] = 0x2260, // ≠
+ [lbc1] = 0x22DD, // ⋝
+ [lbc2] = 0x2245, // ≅
+ [ls1] = 0x2261, // ≡
+ [ls2] = 0x2262, // ≢
+ [ra] = 0x0103, // ă
+ [rA] = 0x0102, // Ă
+ [ra1] = 0x00E2, // â
+ [rA1] = 0x00C2, // Â
+ [rx] = 0x00E7, // ç
+ [rX] = 0x00C7, // Ç
+ [ri] = 0x00EE, // î
+ [rI] = 0x00CE, // Î
+ [rs] = 0x0219, // ș⊄
+ [rS] = 0x0218, // Ș
+ [rt] = 0x021B, // ț
+ [rT] = 0x021A, // Ț
+ [rc] = 0x2284, // ⊄
+ [rC] = 0x2286, // ⊆
+ [rv] = 0x2285, // ⊅
+ [rV] = 0x2287, // ⊇
+ [rb] = 0x2227, // ∧
+ [rB] = 0x22BC, // ⊼
+ [rn] = 0x2228, // ∨
+ [rN] = 0x22BB, // ⊻
};
+
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/*
@@ -161,29 +156,29 @@ altgr shift symbols
KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
/*
-lower layer
+raise layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │ ` │MUT│Vup│Vdn│prv│ply│nxt│EXT│SLP│WAK│PSC│ ⌫ │ = │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ │ σ │ ω │ ε │ ρ │ ϑ │ ℝ │ τ │ ∫ │ ∞ │ π │ [ │ ] │
+ * │ │ σ │ ω │ ε │ ρ │ ϑ │ ℝ │ τ │ ∫ │ ∞ │ π │ ⋜ │ ⋝ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ α │ ∑ │ δ │ φ │ γ │ ℏ │ ∈ │ ϰ │ λ │ 𝔼 │ ∝ │ ⏎ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ ⇧(│ │ ζ │ ξ │ χ │ ν │ β │ η │ μ │ ≊ │ ± │ │ × │
+ * │ ⇧(│ ≡ │ ζ │ ξ │ χ │ ν │ β │ η │ μ │ ≈ │ ± │ │ × │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ ⎈ │ │lwr│⎇ │rse│ │ │ │⎇ │ ⇧)│ │ │ │
+ * │ │ │lwr│⎇ │rse│ │ │ │⎇ │ ⇧)│ │ │ │
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
-lower layer shifted
+raise layer shifted
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │ ¬ │ │ │ │ │ │ │ │ │ │ │ ⌫ │ = │
+ * │ ¬ │ │ │ │ │ │ │ │ │ │ │ ⌫ │ + │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │MB3│ ϕ │ Ω │ ℇ │ ∇ │ θ │ ℤ │ ℂ │ ∮ │ ⊗ │ ∏ │ { │ } │
+ * │MB3│ ϕ │ Ω │ ℇ │ ∇ │ θ │ ℤ │ ℂ │ ∮ │ ⊗ │ ∏ │ ≠ │ ≅ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │MB2│ Α │ ⨋ │ ∂ │ ψ │ Γ │ 𝓗 │ ∉ │ ∆ │ Λ │ Å │ ℒ │ ⏎ │
+ * │MB2│ ̇ │ ⨋ │ ∂ │ ψ │ Γ │ 𝓗 │ ∉ │ ∆ │ Λ │ Å │ ℒ │ ⏎ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ ⇧(│MB1│ ∡ │ Ξ │ ̇ │ Ν │ Β │ ∪ │ ∘ │ ≈ │ ∓ │MSU│ ⋅ │
+ * │ ⇧(│ ≢ │ ∡ │ Ξ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ∘ │ ≉ │ ∓ │MSU│ ⋅ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ ⎈ │MB4│lwr│⎇ │rse│ │ │ │⎇ │ ⇧)│MSL│MSD│MSR│
+ * │MB1│MB4│lwr│⎇ │rse│ │ │ │⎇ │ ⇧)│MSL│MSD│MSR│
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
MB - mouse buttons
MS - mouse directions
@@ -196,7 +191,7 @@ MS - mouse directions
_______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R),
/*
-raise layer
+lower layer
* ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
* │ ⎋ │ F1│ F2│ F3│ F4│ F5│ F6│ F7│ F8│ F9│F10│F11│F12│
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
@@ -204,7 +199,7 @@ raise layer
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ ⇪ │ ă │ ș │ │ │ │ │ │ │ │ │ │ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ │ │ │ │ ç │ │ │ │ │ │ │MWU│ │
+ * │ │ │ │ ç │ ⊄ │ ⊅ │ ∧ │ ∨ │ │ │ │MWU│ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │ │ │ │ │ │ │ │MWL│MWD│MWR│
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
@@ -217,7 +212,7 @@ raise layer shifted
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ Ă │ Ș │ │ │ │ │ │ │ │ │ │ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
- * │ │ │ │ │ Ç │ │ │ │ │ │ │ │ │
+ * │ │ │ │ Ç │ ⊆ │ ⊇ │ ⊼ │ ⊻ │ │ │ │ │ │
* ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤
* │ │ │ │ │ │ │ │ │ │ │ │ │ │
* └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘
@@ -245,90 +240,23 @@ adj layer
[_ADJ] = LAYOUT_ortho_5x13(
RGB_MOD, RGB_RMOD, A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T , RGB_M_SW,
RGB_HUI, RGB_HUD , RGB_M_P , _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN,
- RGB_SAI, RGB_SAD , RGB_M_B , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_K ,
- RGB_VAI, RGB_VAD , RGB_M_R , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_X ,
+ RGB_SAI, RGB_SAD , RGB_M_B , _______, UC_NEXT, _______, _______, _______, _______, _______, _______, _______ , RGB_M_K ,
+ RGB_VAI, RGB_VAD , RGB_M_R , _______, UC_PREV, UC_LINX, UC_WIN, UC_WINC, UC_MAC, UC_EMAC, _______, _______ , RGB_M_X ,
RGB_TOG, _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_TW, RGB_M_G),
};
// clang-format on
-bool led_update_user(led_t led_state) {
- // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
- return false;
-}
-
-void matrix_scan_user(void) {
-
- toggle_leds();
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
-
-#ifdef CONSOLE_ENABLE
-
- uprintf("KL: kc: 0x%04X, col: %u, row: %u, pressed: %b, time: %u, interrupt: %b, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
-
-#endif
-
- switch (keycode) {
- case (TT(_LWR)):
- if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
- set_led_toggle(_LWR, !layer_state_is(_LWR));
- }
- return true;
- break;
- case (TT(_RSE)):
- if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- set_led_toggle(_RSE, !layer_state_is(_RSE));
- }
- return true;
- break;
- default:
- return true;
- }
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
-#ifdef RGBLIGHT_ENABLE
-
- set_rgb_layers(state);
-
-#endif
-
- return update_tri_layer_state(state, _LWR, _RSE, _ADJ);
-}
-
-#ifdef RGBLIGHT_ENABLE
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
-
- set_default_rgb_layers(state);
- return state;
-}
-
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [_QW] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+#if defined(RGBLIGHT_ENABLE)
+ [_LWR] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
+ [_RSE] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI)},
+ [_ADJ] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)},
+#else
+ [_LWR] = {ENCODER_CCW_CW(KC_MNXT, KC_MPRV)},
+ [_RSE] = {ENCODER_CCW_CW(KC_MFFD, KC_MRWD)},
+ [_ADJ] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP)},
#endif
-
-void keyboard_post_init_user(void) {
-#ifdef RGBLIGHT_ENABLE
-
- // Enable the LED layers
- rgblight_layers = my_rgb();
-
-#endif
-
-#ifdef OLED_ENABLE
-
- init_timer();
-
-#endif
-
-#ifdef CONSOLE_ENABLE
-
- debug_enable = true;
- debug_matrix = true;
- debug_keyboard = true;
-
+};
#endif
-}
diff --git a/keyboards/mlego/m65/keymaps/uk/rules.mk b/keyboards/mlego/m65/keymaps/uk/rules.mk
index 502b2def76..846f3443f6 100644
--- a/keyboards/mlego/m65/keymaps/uk/rules.mk
+++ b/keyboards/mlego/m65/keymaps/uk/rules.mk
@@ -1 +1,2 @@
UNICODEMAP_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/mlego/m65/keymaps/via/config.h b/keyboards/mlego/m65/keymaps/via/config.h
deleted file mode 100644
index 637c0a8faf..0000000000
--- a/keyboards/mlego/m65/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#pragma once
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/mlego/m65/keymaps/via/keymap.c b/keyboards/mlego/m65/keymaps/via/keymap.c
deleted file mode 100644
index bfdcacc039..0000000000
--- a/keyboards/mlego/m65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QW] = LAYOUT_ortho_5x13(
- 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_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_NUHS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- SC_LSPO, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_UP , KC_SLSH ,
- KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, SC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_LWR] = LAYOUT_ortho_5x13(
- KC_GRV , KC_MUTE, KC_VOLU, KC_VOLD, KC_MPRV, KC_MPLY, KC_MNXT, G(KC_P), KC_SLEP, KC_WAKE, KC_PSCR, KC_DEL , KC_EQL ,
- KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- KC_BTN2, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______ ,
- _______, KC_BTN4, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_R),
-
- [_RSE] = LAYOUT_ortho_5x13(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______ ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R),
-
- [_ADJ] = LAYOUT_ortho_5x13(
- RGB_MOD, RGB_RMOD, A(KC_F2), _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_T , RGB_M_SW,
- RGB_HUI, RGB_HUD , RGB_M_P , _______, QK_BOOT , _______, _______, _______, _______, _______, _______, _______ , RGB_M_SN,
- RGB_SAI, RGB_SAD , RGB_M_B , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_K ,
- RGB_VAI, RGB_VAD , RGB_M_R , _______, _______, _______, _______, _______, _______, _______, _______, _______ , RGB_M_X ,
- RGB_TOG, _______ , _______ , _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_TW, RGB_M_G),
-};
-// clang-format on
-
-bool led_update_user(led_t led_state) {
- // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
- return false;
-}
-
-void matrix_scan_user(void) {
-
- toggle_leds();
-
-}
-
-bool process_record_user(uint16_t keycode, keyrecord_t* record) {
- switch (keycode) {
- case (TT(_LWR)):
- if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
- set_led_toggle(_LWR, !layer_state_is(_LWR));
- }
- return true;
- break;
- case (TT(_RSE)):
- if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
- set_led_toggle(_RSE, !layer_state_is(_RSE));
- }
- return true;
- break;
- default:
- return true;
- }
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
-
-#ifdef RGBLIGHT_ENABLE
-
- set_rgb_layers(state);
-
-#endif
-
- return update_tri_layer_state(state, _LWR, _RSE, _ADJ);
-}
-
-#ifdef RGBLIGHT_ENABLE
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- set_default_rgb_layers(state);
- return state;
-}
-
-#endif
-
-void keyboard_post_init_user(void) {
-
-#ifdef RGBLIGHT_ENABLE
-
- // Enable the LED layers
- rgblight_layers = my_rgb();
-
-#endif
-
-#ifdef OLED_ENABLE
-
- init_timer();
-
-#endif
-}
diff --git a/keyboards/mlego/m65/keymaps/via/rules.mk b/keyboards/mlego/m65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807c..0000000000
--- a/keyboards/mlego/m65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/mlego/m65/lib/glcdfont.c b/keyboards/mlego/m65/lib/glcdfont.c
index 4b354756b6..3f64f032cf 100644
--- a/keyboards/mlego/m65/lib/glcdfont.c
+++ b/keyboards/mlego/m65/lib/glcdfont.c
@@ -4,228 +4,13 @@
#include "progmem.h"
static const unsigned char PROGMEM font[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00,
- 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00,
- 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00,
- 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00,
- 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00,
- 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00,
- 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00,
- 0x00, 0x18, 0x24, 0x18, 0x00, 0x00,
- 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00,
- 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00,
- 0x26, 0x29, 0x79, 0x29, 0x26, 0x00,
- 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00,
- 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00,
- 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00,
- 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00,
- 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00,
- 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00,
- 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00,
- 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x00,
- 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00,
- 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
- 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00,
- 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00,
- 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00,
- 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00,
- 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00,
- 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00,
- 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
- 0x00, 0x07, 0x00, 0x07, 0x00, 0x00,
- 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00,
- 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00,
- 0x23, 0x13, 0x08, 0x64, 0x62, 0x00,
- 0x36, 0x49, 0x56, 0x20, 0x50, 0x00,
- 0x00, 0x08, 0x07, 0x03, 0x00, 0x00,
- 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00,
- 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00,
- 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00,
- 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00,
- 0x00, 0x80, 0x70, 0x30, 0x00, 0x00,
- 0x08, 0x08, 0x08, 0x08, 0x08, 0x00,
- 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,
- 0x20, 0x10, 0x08, 0x04, 0x02, 0x00,
- 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00,
- 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
- 0x72, 0x49, 0x49, 0x49, 0x46, 0x00,
- 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00,
- 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00,
- 0x27, 0x45, 0x45, 0x45, 0x39, 0x00,
- 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00,
- 0x41, 0x21, 0x11, 0x09, 0x07, 0x00,
- 0x36, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00,
- 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- 0x00, 0x40, 0x34, 0x00, 0x00, 0x00,
- 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x14, 0x14, 0x14, 0x14, 0x14, 0x00,
- 0x00, 0x41, 0x22, 0x14, 0x08, 0x00,
- 0x02, 0x01, 0x59, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00,
- 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00,
- 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00,
- 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00,
- 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00,
- 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00,
- 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
- 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00,
- 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00,
- 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00,
- 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00,
- 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00,
- 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00,
- 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00,
- 0x26, 0x49, 0x49, 0x49, 0x32, 0x00,
- 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00,
- 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00,
- 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00,
- 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00,
- 0x63, 0x14, 0x08, 0x14, 0x63, 0x00,
- 0x03, 0x04, 0x78, 0x04, 0x03, 0x00,
- 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00,
- 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00,
- 0x02, 0x04, 0x08, 0x10, 0x20, 0x00,
- 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00,
- 0x04, 0x02, 0x01, 0x02, 0x04, 0x00,
- 0x40, 0x40, 0x40, 0x40, 0x40, 0x00,
- 0x00, 0x03, 0x07, 0x08, 0x00, 0x00,
- 0x20, 0x54, 0x54, 0x78, 0x40, 0x00,
- 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
- 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00,
- 0x38, 0x54, 0x54, 0x54, 0x18, 0x00,
- 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00,
- 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00,
- 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00,
- 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00,
- 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00,
- 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00,
- 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00,
- 0x38, 0x44, 0x44, 0x44, 0x38, 0x00,
- 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00,
- 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00,
- 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00,
- 0x48, 0x54, 0x54, 0x54, 0x24, 0x00,
- 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00,
- 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00,
- 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00,
- 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00,
- 0x44, 0x28, 0x10, 0x28, 0x44, 0x00,
- 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00,
- 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00,
- 0x00, 0x08, 0x36, 0x41, 0x00, 0x00,
- 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
- 0x00, 0x41, 0x36, 0x08, 0x00, 0x00,
- 0x02, 0x01, 0x02, 0x04, 0x02, 0x00,
- 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xE0, 0x18, 0x02,
- 0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A,
- 0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D,
- 0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE,
- 0xF8, 0x01, 0x01, 0x03, 0x03, 0x03,
- 0x03, 0x05, 0x05, 0x02, 0x02, 0x0A,
- 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A,
- 0x0C, 0x04, 0x10, 0x18, 0x20, 0xC0,
- 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xD0, 0x58, 0x78,
- 0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4,
- 0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70,
- 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xC0, 0x7C, 0x07, 0x80, 0xE0,
- 0x60, 0x64, 0xE2, 0x60, 0x10, 0x10,
- 0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x21,
- 0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x40,
- 0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0,
- 0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50,
- 0x50, 0x70, 0x78, 0x78, 0x78, 0x7C,
- 0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44,
- 0x40, 0x40, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
- 0x30, 0x30, 0x58, 0x46, 0x47, 0x41,
- 0x41, 0x01, 0x01, 0x03, 0x03, 0x42,
- 0x42, 0x42, 0x46, 0x46, 0x46, 0x46,
- 0x42, 0x43, 0x43, 0x73, 0x77, 0x72,
- 0x70, 0x60, 0x60, 0x60, 0x60, 0x60,
- 0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78,
- 0x78, 0x70, 0x70, 0x70, 0x70, 0x70,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
- 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
- 0x40, 0x40, 0x40, 0x48, 0x58, 0x58,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x00, 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 0x00, 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 0x00, 0x18, 0x3C, 0x7E, 0x3C, 0x18, 0x00, 0x1C, 0x57, 0x7D, 0x57, 0x1C, 0x00, 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 0x00, 0x00, 0x18, 0x3C, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 0x00, 0x00, 0x18, 0x24, 0x18, 0x00, 0x00, 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 0x00, 0x30, 0x48, 0x3A, 0x06, 0x0E, 0x00, 0x26, 0x29, 0x79, 0x29, 0x26, 0x00, 0x40, 0x7F, 0x05, 0x05, 0x07, 0x00, 0x40, 0x7F, 0x05, 0x25, 0x3F, 0x00, 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 0x00, 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 0x00, 0x14, 0x22, 0x7F, 0x22, 0x14, 0x00, 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 0x00, 0x06, 0x09, 0x7F, 0x01, 0x7F, 0x00, 0x00, 0x66, 0x89, 0x95, 0x6A, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x94, 0xA2, 0xFF, 0xA2, 0x94, 0x00, 0x08, 0x04, 0x7E, 0x04, 0x08, 0x00,
+ 0x10, 0x20, 0x7E, 0x20, 0x10, 0x00, 0x08, 0x08, 0x2A, 0x1C, 0x08, 0x00, 0x08, 0x1C, 0x2A, 0x08, 0x08, 0x00, 0x1E, 0x10, 0x10, 0x10, 0x10, 0x00, 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 0x00, 0x30, 0x38, 0x3E, 0x38, 0x30, 0x00, 0x06, 0x0E, 0x3E, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, 0x14, 0x7F, 0x14, 0x7F, 0x14, 0x00, 0x24, 0x2A, 0x7F, 0x2A, 0x12, 0x00, 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, 0x36, 0x49, 0x56, 0x20, 0x50, 0x00, 0x00, 0x08, 0x07, 0x03, 0x00, 0x00, 0x00, 0x1C, 0x22, 0x41, 0x00, 0x00, 0x00, 0x41, 0x22, 0x1C, 0x00, 0x00, 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08, 0x00, 0x00, 0x80, 0x70, 0x30, 0x00, 0x00, 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E, 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00, 0x00,
+ 0x72, 0x49, 0x49, 0x49, 0x46, 0x00, 0x21, 0x41, 0x49, 0x4D, 0x33, 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10, 0x00, 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x31, 0x00, 0x41, 0x21, 0x11, 0x09, 0x07, 0x00, 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, 0x46, 0x49, 0x49, 0x29, 0x1E, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x40, 0x34, 0x00, 0x00, 0x00, 0x00, 0x08, 0x14, 0x22, 0x41, 0x00, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, 0x02, 0x01, 0x59, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x5D, 0x59, 0x4E, 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01, 0x00, 0x3E, 0x41, 0x41, 0x51, 0x73, 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F, 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00, 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01, 0x00,
+ 0x7F, 0x08, 0x14, 0x22, 0x41, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40, 0x00, 0x7F, 0x02, 0x1C, 0x02, 0x7F, 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F, 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E, 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06, 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E, 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46, 0x00, 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, 0x03, 0x01, 0x7F, 0x01, 0x03, 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F, 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F, 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F, 0x00, 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, 0x03, 0x04, 0x78, 0x04, 0x03, 0x00, 0x61, 0x59, 0x49, 0x4D, 0x43, 0x00, 0x00, 0x7F, 0x41, 0x41, 0x41, 0x00, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, 0x00, 0x41, 0x41, 0x41, 0x7F, 0x00, 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x00, 0x03, 0x07, 0x08, 0x00, 0x00, 0x20, 0x54, 0x54, 0x78, 0x40, 0x00, 0x7F, 0x28, 0x44, 0x44, 0x38, 0x00, 0x38, 0x44, 0x44, 0x44, 0x28, 0x00,
+ 0x38, 0x44, 0x44, 0x28, 0x7F, 0x00, 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, 0x00, 0x08, 0x7E, 0x09, 0x02, 0x00, 0x18, 0x24, 0x24, 0x1C, 0x78, 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78, 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00, 0x00, 0x20, 0x40, 0x40, 0x3D, 0x00, 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00, 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00, 0x00, 0x7C, 0x04, 0x78, 0x04, 0x78, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78, 0x00, 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, 0x7C, 0x18, 0x24, 0x24, 0x18, 0x00, 0x18, 0x24, 0x24, 0x18, 0x7C, 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08, 0x00, 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, 0x04, 0x04, 0x3F, 0x44, 0x24, 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C, 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C, 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C, 0x00, 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, 0x4C, 0x90, 0x90, 0x90, 0x7C, 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44, 0x00, 0x00, 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x00, 0x00,
+ 0x00, 0x41, 0x36, 0x08, 0x00, 0x00, 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, 0x3C, 0x26, 0x23, 0x26, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x18, 0x02, 0x00, 0x3C, 0x1E, 0x06, 0x0E, 0x0A, 0x1A, 0x0E, 0x26, 0xFF, 0xBF, 0x0D, 0x00, 0x80, 0x80, 0x81, 0xFF, 0xFE, 0xF8, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x05, 0x05, 0x02, 0x02, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0C, 0x04, 0x10, 0x18, 0x20, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x58, 0x78, 0x68, 0x2C, 0x24, 0x34, 0xF4, 0xF4, 0x3C, 0x3C, 0xFC, 0xF8, 0xF8, 0x70, 0xF0, 0xE0, 0xE0, 0xC0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7C, 0x07, 0x80, 0xE0, 0x60, 0x64, 0xE2, 0x60, 0x10, 0x10, 0x20, 0x22, 0x12, 0x17, 0x3F, 0x0B, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x6F, 0xFC, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x60, 0x60, 0x70, 0x70, 0xF0, 0xF0, 0xD0, 0xD0, 0xD0, 0xD0, 0x50, 0x50, 0x50, 0x70, 0x78, 0x78, 0x78, 0x7C, 0x7F, 0x7D, 0x7C, 0x5E, 0x4F, 0x44, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x30, 0x30, 0x30, 0x30,
+ 0x30, 0x30, 0x58, 0x46, 0x47, 0x41, 0x41, 0x01, 0x01, 0x03, 0x03, 0x42, 0x42, 0x42, 0x46, 0x46, 0x46, 0x46, 0x42, 0x43, 0x43, 0x73, 0x77, 0x72, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x61, 0x67, 0x6F, 0x7E, 0x78, 0x78, 0x70, 0x70, 0x70, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x40, 0x40, 0x40, 0x48, 0x58, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
diff --git a/keyboards/mlego/m65/m65.c b/keyboards/mlego/m65/m65.c
index 3f71a27790..12ea866f1e 100644
--- a/keyboards/mlego/m65/m65.c
+++ b/keyboards/mlego/m65/m65.c
@@ -1,139 +1,74 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
+// Copyright 2020-2023 alin m elena (@alinelena)
+// 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 <http://www.gnu.org/licenses/>.
-*/
-
-#include "m65.h"
+#include QMK_KEYBOARD_H
// let us assume we start with both layers off
static bool toggle_lwr = false;
static bool toggle_rse = false;
-#ifdef RGBLIGHT_ENABLE
+#if defined(RGBLIGHT_ENABLE)
-const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_PURPLE});
-const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CYAN});
-const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
-const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_GREEN});
+const rgblight_segment_t PROGMEM my_qwerty_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_OFF});
+const rgblight_segment_t PROGMEM my_lwr_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_AZURE});
+const rgblight_segment_t PROGMEM my_rse_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_CORAL});
+const rgblight_segment_t PROGMEM my_adj_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, RGBLED_NUM, HSV_RED});
const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(my_qwerty_layer, my_lwr_layer, my_rse_layer, my_adj_layer);
#endif
-#ifdef OLED_ENABLE
-
-static uint32_t oled_logo_timer = 0;
-static bool clear_logo = true;
-static const char PROGMEM m65_logo[] = {
- 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5, 0xa5,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
- 0};
-
+#if defined(OLED_ENABLE)
+static uint32_t oled_logo_timer = 0;
+static bool clear_logo = true;
+static const char PROGMEM m65_logo[] = {0x92, 0x92, 0x93, 0x94, 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F, 0x90, 0x92, 0x92, 0x93, 0x94, 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xA8, 0xA9, 0xAA, 0xAB, 0xAC, 0xAD, 0xAE, 0xAF, 0xB0, 0xB2, 0x92, 0xB3, 0xB4, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0};
#endif
-#ifdef RGBLIGHT_ENABLE
-
-void set_rgb_layers(layer_state_t state){
+#if defined(RGBLIGHT_ENABLE)
+void set_rgb_layers(layer_state_t state) {
rgblight_set_layer_state(0, layer_state_cmp(state, _QW));
rgblight_set_layer_state(1, layer_state_cmp(state, _LWR));
rgblight_set_layer_state(2, layer_state_cmp(state, _RSE));
rgblight_set_layer_state(3, layer_state_cmp(state, _ADJ));
-
}
-void set_default_rgb_layers(layer_state_t state){
+void set_default_rgb_layers(layer_state_t state) {
rgblight_set_layer_state(0, layer_state_cmp(state, _QW));
}
-const rgblight_segment_t * const* my_rgb(void){
+const rgblight_segment_t* const* my_rgb(void) {
return my_rgb_layers;
}
#endif
-void set_led_toggle(const uint8_t layer, const bool state){
-
+void set_led_toggle(const uint8_t layer, const bool state) {
switch (layer) {
case _LWR:
- toggle_lwr = state;
- break;
+ toggle_lwr = state;
+ break;
case _RSE:
- toggle_rse = state;
- break;
+ toggle_rse = state;
+ break;
default:
- break;
+ break;
}
}
-void toggle_leds(void){
-
+void toggle_leds(const bool toggle_lwr, const bool toggle_rse) {
led_lwr(toggle_lwr);
led_rse(toggle_rse);
- led_t led_state = host_keyboard_led_state();
- led_caps(led_state.caps_lock);
if (layer_state_is(_ADJ)) {
led_lwr(true);
led_rse(true);
}
-
}
-#ifdef ENCODER_ENABLE
-
-# define MEDIA_KEY_DELAY 10
+#if defined(OLED_ENABLE)
-void my_encoders(const uint8_t index, const bool clockwise) {
- if (index == 0) { /* First encoder */
- if (IS_LAYER_ON(_LWR)) {
- if (clockwise) {
- rgblight_decrease_val_noeeprom();
- } else {
- rgblight_increase_val_noeeprom();
- }
- } else if (IS_LAYER_ON(_RSE)) {
- if (clockwise) {
- rgblight_decrease_hue_noeeprom();
- } else {
- rgblight_increase_hue_noeeprom();
- }
-
- } else {
- if (clockwise) {
- tap_code_delay(KC_VOLD, MEDIA_KEY_DELAY);
- } else {
- tap_code_delay(KC_VOLU, MEDIA_KEY_DELAY);
- }
- }
- }
-}
-
-bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) { return false; }
- my_encoders(index, clockwise);
- return false;
-}
-
-#endif
-
-#ifdef OLED_ENABLE
-
-void init_timer(void){
- oled_logo_timer = timer_read32();
+void init_timer(void) {
+ oled_logo_timer = timer_read32();
};
void user_oled_magic(void) {
@@ -163,11 +98,38 @@ void user_oled_magic(void) {
oled_write_P(led_state.num_lock ? PSTR("Lower ") : PSTR(" "), false);
oled_write_P(led_state.scroll_lock ? PSTR("Raise ") : PSTR(" "), false);
oled_write_P(led_state.caps_lock ? PSTR("CapsLock ") : PSTR(" "), false);
-#ifdef WPM_ENABLE
+
+# if defined(UNICODE_COMMON_ENABLE)
+ oled_write_P(PSTR("\nunicode: "), false);
+ switch (get_unicode_input_mode()) {
+ case UNICODE_MODE_LINUX:
+ oled_write_P(PSTR("Linux"), false);
+ break;
+ case UNICODE_MODE_MACOS:
+ oled_write_P(PSTR("apple"), false);
+ break;
+ case UNICODE_MODE_WINDOWS:
+ oled_write_P(PSTR("windows"), false);
+ break;
+ case UNICODE_MODE_WINCOMPOSE:
+ oled_write_P(PSTR("windows c"), false);
+ break;
+ case UNICODE_MODE_BSD:
+ oled_write_P(PSTR("bsd"), false);
+ break;
+ case UNICODE_MODE_EMACS:
+ oled_write_P(PSTR("emacs"), false);
+ break;
+ default:
+ oled_write_ln_P(PSTR("not supported"), false);
+ }
+# endif
+
+# if defined(WPM_ENABLE)
oled_write_P(PSTR("\nwpm: "), false);
uint8_t wpm = get_current_wpm();
- oled_write_P(wpm != 0 ? get_u8_str(wpm,' ') : PSTR(" "), false);
-#endif
+ oled_write_P(wpm != 0 ? get_u8_str(wpm, ' ') : PSTR(" "), false);
+# endif
}
void render_logo(void) {
@@ -175,13 +137,13 @@ void render_logo(void) {
}
void clear_screen(void) {
- if (clear_logo){
- for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
- for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
- oled_write_raw_byte(0x0, i*OLED_DISPLAY_WIDTH + j);
+ if (clear_logo) {
+ for (uint8_t i = 0; i < OLED_DISPLAY_HEIGHT; ++i) {
+ for (uint8_t j = 0; j < OLED_DISPLAY_WIDTH; ++j) {
+ oled_write_raw_byte(0x0, i * OLED_DISPLAY_WIDTH + j);
+ }
}
- }
- clear_logo = false;
+ clear_logo = false;
}
}
@@ -191,14 +153,91 @@ oled_rotation_t oled_init_user(oled_rotation_t rotation) {
# define SHOW_LOGO 5000
bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
- if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)){
+ if (!oled_task_user()) {
+ return false;
+ }
+ if ((timer_elapsed32(oled_logo_timer) < SHOW_LOGO)) {
render_logo();
- }else{
- clear_screen();
- user_oled_magic();
+ } else {
+ clear_screen();
+ user_oled_magic();
}
return false;
}
#endif
+
+void matrix_scan_kb(void) {
+ matrix_scan_user();
+ toggle_leds(toggle_lwr, toggle_rse);
+}
+
+bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
+#if defined(CONSOLE_ENABLE)
+ uprintf("KL: kc: 0x%04X, col: %2u, row: %2u, pressed: %u, time: %5u, int: %u, count: %u\n", keycode, record->event.key.col, record->event.key.row, record->event.pressed, record->event.time, record->tap.interrupted, record->tap.count);
+#endif
+
+ switch (keycode) {
+ case (TT(_LWR)):
+ if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
+ // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
+ set_led_toggle(_LWR, !layer_state_is(_LWR));
+ }
+ return true;
+ break;
+ case (TT(_RSE)):
+ if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
+ set_led_toggle(_RSE, !layer_state_is(_RSE));
+ }
+ return true;
+ break;
+ default:
+ return true;
+ }
+ return process_record_user(keycode, record);
+}
+
+layer_state_t layer_state_set_kb(layer_state_t state) {
+ state = layer_state_set_user(state);
+
+#if defined(RGBLIGHT_ENABLE)
+
+ set_rgb_layers(state);
+
+#endif
+
+ return update_tri_layer_state(state, _LWR, _RSE, _ADJ);
+}
+
+#if defined(RGBLIGHT_ENABLE)
+
+layer_state_t default_layer_state_set_kb(layer_state_t state) {
+ state = default_layer_state_set_user(state);
+
+ set_default_rgb_layers(state);
+
+ return state;
+}
+
+#endif
+
+void keyboard_post_init_kb(void) {
+ init_lwr_rse_led();
+
+#if defined(RGBLIGHT_ENABLE)
+ // Enable the LED layers
+ rgblight_layers = my_rgb();
+#endif
+
+#if defined(OLED_ENABLE)
+ init_timer();
+#endif
+
+#if defined(CONSOLE_ENABLE)
+ debug_enable = true;
+ debug_matrix = true;
+ debug_keyboard = true;
+#endif
+
+ keyboard_post_init_user();
+}
diff --git a/keyboards/mlego/m65/m65.h b/keyboards/mlego/m65/m65.h
index 0c3f3b5ba6..1c5589c111 100644
--- a/keyboards/mlego/m65/m65.h
+++ b/keyboards/mlego/m65/m65.h
@@ -1,154 +1,65 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "quantum.h"
-enum unicode_names {
- la = 0,
- lA,
- lb,
- lB,
- lc,
- lC,
- ld,
- lD,
- le,
- lE,
- lf,
- lF,
- lg,
- lG,
- lh,
- lH,
- li,
- lI,
- lj,
- lJ,
- lk,
- lK,
- ll,
- lL,
- lm,
- lM,
- ln,
- lN,
- lo,
- lO,
- lp,
- lP,
- lq,
- lQ,
- lr,
- lR,
- ls,
- lS,
- lt,
- lT,
- lu,
- lU,
- lv,
- lV,
- lw,
- lW,
- lx,
- lX,
- ly,
- lY,
- lz,
- lZ,
- lc1,
- lC1,
- lp1,
- lP1,
- lq1,
- lQ1,
- ll1,
- lL1,
- lk1,
- lK1,
- ra,
- rA,
- ra1,
- rA1,
- rc,
- rC,
- ri,
- rI,
- rs,
- rS,
- rt,
- rT,
- ro,
- rO,
- ra2,
- rA2,
- ra3,
- rA3
-};
+#if defined(UNICODEMAP_ENABLE)
+enum unicode_names { la = 0, lA, lb, lB, lc, lC, ld, lD, le, lE, lf, lF, lg, lG, lh, lH, li, lI, lj, lJ, lk, lK, ll, lL, lm, lM, ln, lN, lo, lO, lp, lP, lq, lQ, lr, lR, ls, lS, lt, lT, lu, lU, lv, lV, lw, lW, lx, lX, ly, lY, lz, lZ, lc1, lC1, lp1, lP1, lq1, lQ1, ll1, lL1, lk1, lK1, lbo1, lbo2, lbc1, lbc2, ls1, ls2, ra, rA, ra1, rA1, rc, rC, ri, rI, rs, rS, rt, rT, ro, rO, ra2, rA2, ra3, rA3, rx, rX, rv, rV, rb, rB, rn, rN };
+#endif
+enum layer_names { _QW = 0, _LWR, _RSE, _ADJ };
-enum layer_names {
- _QW = 0,
- _LWR,
- _RSE,
- _ADJ
-};
-#ifdef OLED_ENABLE
+#if defined(OLED_ENABLE)
void user_oled_magic(void);
void render_logo(void);
void clear_screen(void);
void init_timer(void);
#endif
-#ifdef ENCODER_ENABLE
-void my_encoders(const uint8_t, const bool);
-bool encoder_update_user(uint8_t, bool);
+#if defined(RGBLIGHT_ENABLE)
+void set_rgb_layers(layer_state_t);
+const rgblight_segment_t* const* my_rgb(void);
+void set_default_rgb_layers(layer_state_t);
#endif
-#ifdef RGBLIGHT_ENABLE
-void set_rgb_layers(layer_state_t);
-const rgblight_segment_t * const* my_rgb(void);
-void set_default_rgb_layers(layer_state_t);
-#endif
+void toggle_leds(const bool, const bool);
+void set_led_toggle(const uint8_t, const bool);
+static inline void init_lwr_rse_led(void) {
+#if defined(LED_LWR_PIN)
+ setPinOutput(LED_LWR_PIN);
+ writePin(LED_LWR_PIN, false);
+ wait_ms(30);
+#endif
-void toggle_leds(void);
-void set_led_toggle(const uint8_t, const bool);
+#if defined(LED_RSE_PIN)
+ setPinOutput(LED_RSE_PIN);
+ writePin(LED_RSE_PIN, false);
+ wait_ms(30);
+#endif
+}
static inline void led_lwr(const bool on) {
-#ifdef LED_NUM_LOCK_PIN
- writePin(LED_NUM_LOCK_PIN, on);
+#if defined(LED_LWR_PIN)
+ if ((PRODUCT_ID == 0x6064) || (PRODUCT_ID == 0x6065) ||
+ (PRODUCT_ID == 0x6066) || (PRODUCT_ID == 0x6067)) {
+ writePin(LED_LWR_PIN, !on);
+ }else{
+ writePin(LED_LWR_PIN, on);
+ }
#endif
}
static inline void led_rse(const bool on) {
-#ifdef LED_SCROLL_LOCK_PIN
- writePin(LED_SCROLL_LOCK_PIN, on);
-#endif
-}
-static inline void led_caps(const bool on) {
-#ifdef LED_CAPS_LOCK_PIN
- if ((PRODUCT_ID == 0x6061) && (DEVICE_VER == 0x0002)) {
- writePin(LED_CAPS_LOCK_PIN, on);
- } else {
- writePin(LED_CAPS_LOCK_PIN, !on);
+#if defined(LED_RSE_PIN)
+ if ((PRODUCT_ID == 0x6064) || (PRODUCT_ID == 0x6065) ||
+ (PRODUCT_ID == 0x6066) || (PRODUCT_ID == 0x6067)) {
+ writePin(LED_RSE_PIN, !on);
+ }else{
+ writePin(LED_RSE_PIN, on);
}
#endif
}
diff --git a/keyboards/mlego/m65/readme.md b/keyboards/mlego/m65/readme.md
index 8076697a2b..d53475fd57 100644
--- a/keyboards/mlego/m65/readme.md
+++ b/keyboards/mlego/m65/readme.md
@@ -7,7 +7,7 @@ A (13x5) ortholinear keyboard that can be hand wired or using a pcb.
* Keyboard Maintainer: [Alin Elena](https://github.com/alinelena) ([@drFaustroll on GitLab](https://gitlab.com/drFaustroll))
* Hardware Supported: custom pcb [see](https://gitlab.com/m-lego/m65) STM/APM32F103C8T6, aka Black Pill (rev1),
GD32F303CCT6 from we act aka Blue Pill Plus (rev2), STM32F401 from we act (rev3,rev4) STM32F411 can also be used just ask
-* Hardware Availability: [custom how to](https://alin.elena.space/blog/keeblego/)
+* Hardware Availability: [custom how to](https://mlego.elena.space/m65)
Make example for this keyboard (after setting up your build environment):
diff --git a/keyboards/mlego/m65/rev1/config.h b/keyboards/mlego/m65/rev1/config.h
index 847dd11823..e832af8fee 100644
--- a/keyboards/mlego/m65/rev1/config.h
+++ b/keyboards/mlego/m65/rev1/config.h
@@ -1,20 +1,7 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define RGBLIGHT_LAYERS
+#define LED_RSE_PIN B13
+#define LED_LWR_PIN B12
diff --git a/keyboards/mlego/m65/rev1/info.json b/keyboards/mlego/m65/rev1/info.json
index 960b9325c8..d8bb91de30 100644
--- a/keyboards/mlego/m65/rev1/info.json
+++ b/keyboards/mlego/m65/rev1/info.json
@@ -1,42 +1,134 @@
{
- "usb": {
- "pid": "0x6061",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["A10", "A15", "B3", "B4", "B5", "B9", "B8", "B7", "B6", "C15", "A0", "A7", "B10"],
- "rows": ["B11", "B0", "B1", "A2", "A3"]
- },
+ "manufacturer": "Alin Elena",
+ "keyboard_name": "mlego/m65 rev1",
+ "maintainer": "alin elena",
+ "bootloader": "stm32duino",
+ "debounce": 5,
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "A8", "pin_b": "A9"}
]
},
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"indicators": {
"caps_lock": "C13",
- "num_lock": "B12",
- "scroll_lock": "B13"
+ "on_state": 0
},
+ "matrix_pins": {
+ "cols": ["A10", "A15", "B3", "B4", "B5", "B9", "B8", "B7", "B6", "C15", "A0", "A7", "B10"],
+ "rows": ["B11", "B0", "B1", "A2", "A3"]
+ },
+ "processor": "STM32F103",
"rgblight": {
- "saturation_steps": 8,
- "led_count": 20,
"animations": {
+ "alternating": true,
"breathing": true,
+ "christmas": true,
+ "knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
+ "rgb_test": true,
"snake": true,
- "knight": true,
- "christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
- }
+ },
+ "hue_steps": 8,
+ "layers": {
+ "enabled": true
+ },
+ "led_count": 20,
+ "saturation_steps": 8
+ },
+ "url": "https://gitlab.com/m-lego/m65",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6061",
+ "vid": "0xBABA"
},
"ws2812": {
"pin": "B15"
},
- "processor": "STM32F103",
- "bootloader": "stm32duino"
+ "layouts": {
+ "LAYOUT_ortho_5x13": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Backspace", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "q", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "w", "matrix": [1, 2], "x": 2, "y": 1},
+ {"label": "e", "matrix": [1, 3], "x": 3, "y": 1},
+ {"label": "r", "matrix": [1, 4], "x": 4, "y": 1},
+ {"label": "t", "matrix": [1, 5], "x": 5, "y": 1},
+ {"label": "y", "matrix": [1, 6], "x": 6, "y": 1},
+ {"label": "u", "matrix": [1, 7], "x": 7, "y": 1},
+ {"label": "i", "matrix": [1, 8], "x": 8, "y": 1},
+ {"label": "o", "matrix": [1, 9], "x": 9, "y": 1},
+ {"label": "p", "matrix": [1, 10], "x": 10, "y": 1},
+ {"label": "[", "matrix": [1, 11], "x": 11, "y": 1},
+ {"label": "]", "matrix": [1, 12], "x": 12, "y": 1},
+ {"label": "#", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "a", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "s", "matrix": [2, 2], "x": 2, "y": 2},
+ {"label": "d", "matrix": [2, 3], "x": 3, "y": 2},
+ {"label": "f", "matrix": [2, 4], "x": 4, "y": 2},
+ {"label": "g", "matrix": [2, 5], "x": 5, "y": 2},
+ {"label": "h", "matrix": [2, 6], "x": 6, "y": 2},
+ {"label": "j", "matrix": [2, 7], "x": 7, "y": 2},
+ {"label": "k", "matrix": [2, 8], "x": 8, "y": 2},
+ {"label": "l", "matrix": [2, 9], "x": 9, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10, "y": 2},
+ {"label": "'", "matrix": [2, 11], "x": 11, "y": 2},
+ {"label": "Enter", "matrix": [2, 12], "x": 12, "y": 2},
+ {"label": "Left Shift", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "z", "matrix": [3, 2], "x": 2, "y": 3},
+ {"label": "x", "matrix": [3, 3], "x": 3, "y": 3},
+ {"label": "c", "matrix": [3, 4], "x": 4, "y": 3},
+ {"label": "v", "matrix": [3, 5], "x": 5, "y": 3},
+ {"label": "b", "matrix": [3, 6], "x": 6, "y": 3},
+ {"label": "n", "matrix": [3, 7], "x": 7, "y": 3},
+ {"label": "m", "matrix": [3, 8], "x": 8, "y": 3},
+ {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
+ {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
+ {"label": "Up", "matrix": [3, 11], "x": 11, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Menu", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Lower", "matrix": [4, 2], "x": 2, "y": 4},
+ {"label": "Alt", "matrix": [4, 3], "x": 3, "y": 4},
+ {"label": "Raise", "matrix": [4, 4], "x": 4, "y": 4},
+ {"label": "Space", "matrix": [4, 5], "x": 5, "y": 4},
+ {"label": "Space", "matrix": [4, 6], "x": 6, "y": 4},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4},
+ {"label": "Alt Gr", "matrix": [4, 8], "x": 8, "y": 4},
+ {"label": "Right Shift", "matrix": [4, 9], "x": 9, "y": 4},
+ {"label": "Left", "matrix": [4, 10], "x": 10, "y": 4},
+ {"label": "Down", "matrix": [4, 11], "x": 11, "y": 4},
+ {"label": "Right", "matrix": [4, 12], "x": 12, "y": 4}
+ ]
+ }
+ }
}
diff --git a/keyboards/mlego/m65/rev1/mcuconf.h b/keyboards/mlego/m65/rev1/mcuconf.h
index 6ba4f72b40..a8e4fbb319 100644
--- a/keyboards/mlego/m65/rev1/mcuconf.h
+++ b/keyboards/mlego/m65/rev1/mcuconf.h
@@ -1,23 +1,5 @@
-/* Copyright 2021-2022 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/m65/rev1/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
- */
+// Copyright 2020-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/rev1/rules.mk b/keyboards/mlego/m65/rev1/rules.mk
index fa351eadba..48c755b14e 100644
--- a/keyboards/mlego/m65/rev1/rules.mk
+++ b/keyboards/mlego/m65/rev1/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable encoder
+#intentionally blanck
diff --git a/keyboards/mlego/m65/rev2/board.h b/keyboards/mlego/m65/rev2/board.h
index e0d0865776..15ec270599 100644
--- a/keyboards/mlego/m65/rev2/board.h
+++ b/keyboards/mlego/m65/rev2/board.h
@@ -1,18 +1,5 @@
-/* Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include_next <board.h>
diff --git a/keyboards/mlego/m65/rev2/config.h b/keyboards/mlego/m65/rev2/config.h
index 666d296ede..32f7b4eca3 100644
--- a/keyboards/mlego/m65/rev2/config.h
+++ b/keyboards/mlego/m65/rev2/config.h
@@ -1,23 +1,10 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2020-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define RGBLIGHT_LAYERS
+#define LED_RSE_PIN B13
+#define LED_LWR_PIN B12
#define EEPROM_PAGE_SIZE
#define FEE_PAGE_SIZE 0x800
diff --git a/keyboards/mlego/m65/rev2/info.json b/keyboards/mlego/m65/rev2/info.json
index 8d822ae4e7..e8575e23e8 100644
--- a/keyboards/mlego/m65/rev2/info.json
+++ b/keyboards/mlego/m65/rev2/info.json
@@ -1,42 +1,133 @@
{
- "usb": {
- "pid": "0x6061",
- "device_version": "0.0.2"
- },
- "matrix_pins": {
- "cols": ["A10", "A15", "B3", "B4", "B5", "B9", "B8", "B7", "B6", "C15", "A0", "A7", "B10"],
- "rows": ["B11", "B0", "B1", "A2", "A3"]
- },
+ "manufacturer": "Alin Elena",
+ "keyboard_name": "mlego/m65 rev2",
+ "maintainer": "alin elena",
+ "bootloader": "stm32duino",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "A8", "pin_b": "A9"}
]
},
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": true,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"indicators": {
"caps_lock": "B2",
- "num_lock": "B12",
- "scroll_lock": "B13"
+ "on_state": 0
},
+ "matrix_pins": {
+ "cols": ["A10", "A15", "B3", "B4", "B5", "B9", "B8", "B7", "B6", "C15", "A0", "A7", "B10"],
+ "rows": ["B11", "B0", "B1", "A2", "A3"]
+ },
+ "processor": "STM32F103",
"rgblight": {
- "saturation_steps": 8,
- "led_count": 20,
"animations": {
+ "alternating": true,
"breathing": true,
+ "christmas": true,
+ "knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
+ "rgb_test": true,
"snake": true,
- "knight": true,
- "christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
- }
+ },
+ "hue_steps": 8,
+ "layers": {
+ "enabled": true
+ },
+ "led_count": 20,
+ "saturation_steps": 8
+ },
+ "url": "https://gitlab.com/m-lego/m65",
+ "usb": {
+ "device_version": "0.0.2",
+ "pid": "0x6061",
+ "vid": "0xBABA"
},
"ws2812": {
"pin": "B15"
},
- "processor": "STM32F103", // GD32F303CCT6
- "bootloader": "stm32duino"
+ "layouts": {
+ "LAYOUT_ortho_5x13": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Backspace", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "q", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "w", "matrix": [1, 2], "x": 2, "y": 1},
+ {"label": "e", "matrix": [1, 3], "x": 3, "y": 1},
+ {"label": "r", "matrix": [1, 4], "x": 4, "y": 1},
+ {"label": "t", "matrix": [1, 5], "x": 5, "y": 1},
+ {"label": "y", "matrix": [1, 6], "x": 6, "y": 1},
+ {"label": "u", "matrix": [1, 7], "x": 7, "y": 1},
+ {"label": "i", "matrix": [1, 8], "x": 8, "y": 1},
+ {"label": "o", "matrix": [1, 9], "x": 9, "y": 1},
+ {"label": "p", "matrix": [1, 10], "x": 10, "y": 1},
+ {"label": "[", "matrix": [1, 11], "x": 11, "y": 1},
+ {"label": "]", "matrix": [1, 12], "x": 12, "y": 1},
+ {"label": "#", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "a", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "s", "matrix": [2, 2], "x": 2, "y": 2},
+ {"label": "d", "matrix": [2, 3], "x": 3, "y": 2},
+ {"label": "f", "matrix": [2, 4], "x": 4, "y": 2},
+ {"label": "g", "matrix": [2, 5], "x": 5, "y": 2},
+ {"label": "h", "matrix": [2, 6], "x": 6, "y": 2},
+ {"label": "j", "matrix": [2, 7], "x": 7, "y": 2},
+ {"label": "k", "matrix": [2, 8], "x": 8, "y": 2},
+ {"label": "l", "matrix": [2, 9], "x": 9, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10, "y": 2},
+ {"label": "'", "matrix": [2, 11], "x": 11, "y": 2},
+ {"label": "Enter", "matrix": [2, 12], "x": 12, "y": 2},
+ {"label": "Left Shift", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "z", "matrix": [3, 2], "x": 2, "y": 3},
+ {"label": "x", "matrix": [3, 3], "x": 3, "y": 3},
+ {"label": "c", "matrix": [3, 4], "x": 4, "y": 3},
+ {"label": "v", "matrix": [3, 5], "x": 5, "y": 3},
+ {"label": "b", "matrix": [3, 6], "x": 6, "y": 3},
+ {"label": "n", "matrix": [3, 7], "x": 7, "y": 3},
+ {"label": "m", "matrix": [3, 8], "x": 8, "y": 3},
+ {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
+ {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
+ {"label": "Up", "matrix": [3, 11], "x": 11, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Menu", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Lower", "matrix": [4, 2], "x": 2, "y": 4},
+ {"label": "Alt", "matrix": [4, 3], "x": 3, "y": 4},
+ {"label": "Raise", "matrix": [4, 4], "x": 4, "y": 4},
+ {"label": "Space", "matrix": [4, 5], "x": 5, "y": 4},
+ {"label": "Space", "matrix": [4, 6], "x": 6, "y": 4},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4},
+ {"label": "Alt Gr", "matrix": [4, 8], "x": 8, "y": 4},
+ {"label": "Right Shift", "matrix": [4, 9], "x": 9, "y": 4},
+ {"label": "Left", "matrix": [4, 10], "x": 10, "y": 4},
+ {"label": "Down", "matrix": [4, 11], "x": 11, "y": 4},
+ {"label": "Right", "matrix": [4, 12], "x": 12, "y": 4}
+ ]
+ }
+ }
}
diff --git a/keyboards/mlego/m65/rev2/mcuconf.h b/keyboards/mlego/m65/rev2/mcuconf.h
index 6ba4f72b40..a8e4fbb319 100644
--- a/keyboards/mlego/m65/rev2/mcuconf.h
+++ b/keyboards/mlego/m65/rev2/mcuconf.h
@@ -1,23 +1,5 @@
-/* Copyright 2021-2022 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/m65/rev1/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
- */
+// Copyright 2020-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/rev2/rules.mk b/keyboards/mlego/m65/rev2/rules.mk
index 51070f9718..9a795b953e 100644
--- a/keyboards/mlego/m65/rev2/rules.mk
+++ b/keyboards/mlego/m65/rev2/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = yes # Console for debug
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable encoder
+#blank purpose
diff --git a/keyboards/mlego/m65/rev3/config.h b/keyboards/mlego/m65/rev3/config.h
index 847dd11823..1b351c540a 100644
--- a/keyboards/mlego/m65/rev3/config.h
+++ b/keyboards/mlego/m65/rev3/config.h
@@ -1,20 +1,7 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2021-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define RGBLIGHT_LAYERS
+#define LED_RSE_PIN B13
+#define LED_LWR_PIN B12
diff --git a/keyboards/mlego/m65/rev3/halconf.h b/keyboards/mlego/m65/rev3/halconf.h
index 89815e23b7..decadcb011 100644
--- a/keyboards/mlego/m65/rev3/halconf.h
+++ b/keyboards/mlego/m65/rev3/halconf.h
@@ -1,23 +1,5 @@
-/* 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/zvecr/zv48/f401/halconf.h -r platforms/chibios/common/configs/halconf.h`
- */
+// Copyright 2020-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/rev3/info.json b/keyboards/mlego/m65/rev3/info.json
index 4f9b866565..d48d52d9d9 100644
--- a/keyboards/mlego/m65/rev3/info.json
+++ b/keyboards/mlego/m65/rev3/info.json
@@ -1,43 +1,134 @@
{
- "usb": {
- "pid": "0x6062",
- "device_version": "0.0.1"
- },
- "matrix_pins": {
- "cols": ["A10", "A15", "B3", "B4", "B5", "B9", "B8", "B7", "A1", "A2", "A3", "A4", "B1"],
- "rows": ["B10", "A5", "A6", "A7", "B0"]
- },
+ "manufacturer": "Alin Elena",
+ "keyboard_name": "mlego/m65 rev3",
+ "maintainer": "alin elena",
+ "board": "BLACKPILL_STM32_F401",
+ "bootloader": "tinyuf2",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "A0", "pin_b": "B6"}
]
},
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
"indicators": {
"caps_lock": "C13",
- "num_lock": "B12",
- "scroll_lock": "B13"
+ "on_state": 0
+ },
+ "matrix_pins": {
+ "cols": ["A10", "A15", "B3", "B4", "B5", "B9", "B8", "B7", "A1", "A2", "A3", "A4", "B1"],
+ "rows": ["B10", "A5", "A6", "A7", "B0"]
},
+ "processor": "STM32F401",
"rgblight": {
- "saturation_steps": 8,
- "led_count": 20,
"animations": {
+ "alternating": true,
"breathing": true,
+ "christmas": true,
+ "knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
+ "rgb_test": true,
"snake": true,
- "knight": true,
- "christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
- }
+ },
+ "hue_steps": 8,
+ "layers": {
+ "enabled": true
+ },
+ "led_count": 20,
+ "saturation_steps": 8
+ },
+ "url": "https://gitlab.com/m-lego/m65",
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6062",
+ "vid": "0xBABA"
},
"ws2812": {
"pin": "B15"
},
- "processor": "STM32F401",
- "bootloader": "tinyuf2",
- "board": "BLACKPILL_STM32_F401"
+ "layouts": {
+ "LAYOUT_ortho_5x13": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Backspace", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "q", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "w", "matrix": [1, 2], "x": 2, "y": 1},
+ {"label": "e", "matrix": [1, 3], "x": 3, "y": 1},
+ {"label": "r", "matrix": [1, 4], "x": 4, "y": 1},
+ {"label": "t", "matrix": [1, 5], "x": 5, "y": 1},
+ {"label": "y", "matrix": [1, 6], "x": 6, "y": 1},
+ {"label": "u", "matrix": [1, 7], "x": 7, "y": 1},
+ {"label": "i", "matrix": [1, 8], "x": 8, "y": 1},
+ {"label": "o", "matrix": [1, 9], "x": 9, "y": 1},
+ {"label": "p", "matrix": [1, 10], "x": 10, "y": 1},
+ {"label": "[", "matrix": [1, 11], "x": 11, "y": 1},
+ {"label": "]", "matrix": [1, 12], "x": 12, "y": 1},
+ {"label": "#", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "a", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "s", "matrix": [2, 2], "x": 2, "y": 2},
+ {"label": "d", "matrix": [2, 3], "x": 3, "y": 2},
+ {"label": "f", "matrix": [2, 4], "x": 4, "y": 2},
+ {"label": "g", "matrix": [2, 5], "x": 5, "y": 2},
+ {"label": "h", "matrix": [2, 6], "x": 6, "y": 2},
+ {"label": "j", "matrix": [2, 7], "x": 7, "y": 2},
+ {"label": "k", "matrix": [2, 8], "x": 8, "y": 2},
+ {"label": "l", "matrix": [2, 9], "x": 9, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10, "y": 2},
+ {"label": "'", "matrix": [2, 11], "x": 11, "y": 2},
+ {"label": "Enter", "matrix": [2, 12], "x": 12, "y": 2},
+ {"label": "Left Shift", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "z", "matrix": [3, 2], "x": 2, "y": 3},
+ {"label": "x", "matrix": [3, 3], "x": 3, "y": 3},
+ {"label": "c", "matrix": [3, 4], "x": 4, "y": 3},
+ {"label": "v", "matrix": [3, 5], "x": 5, "y": 3},
+ {"label": "b", "matrix": [3, 6], "x": 6, "y": 3},
+ {"label": "n", "matrix": [3, 7], "x": 7, "y": 3},
+ {"label": "m", "matrix": [3, 8], "x": 8, "y": 3},
+ {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
+ {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
+ {"label": "Up", "matrix": [3, 11], "x": 11, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Menu", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Lower", "matrix": [4, 2], "x": 2, "y": 4},
+ {"label": "Alt", "matrix": [4, 3], "x": 3, "y": 4},
+ {"label": "Raise", "matrix": [4, 4], "x": 4, "y": 4},
+ {"label": "Space", "matrix": [4, 5], "x": 5, "y": 4},
+ {"label": "Space", "matrix": [4, 6], "x": 6, "y": 4},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4},
+ {"label": "Alt Gr", "matrix": [4, 8], "x": 8, "y": 4},
+ {"label": "Right Shift", "matrix": [4, 9], "x": 9, "y": 4},
+ {"label": "Left", "matrix": [4, 10], "x": 10, "y": 4},
+ {"label": "Down", "matrix": [4, 11], "x": 11, "y": 4},
+ {"label": "Right", "matrix": [4, 12], "x": 12, "y": 4}
+ ]
+ }
+ }
}
diff --git a/keyboards/mlego/m65/rev3/mcuconf.h b/keyboards/mlego/m65/rev3/mcuconf.h
index 4d90ec07ea..05c6656170 100644
--- a/keyboards/mlego/m65/rev3/mcuconf.h
+++ b/keyboards/mlego/m65/rev3/mcuconf.h
@@ -1,23 +1,5 @@
-/* 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/zvecr/zv48/f401/mcuconf.h -r platforms/chibios/BLACKPILL_STM32_F401/configs/mcuconf.h`
- */
+// Copyright 2020-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/rev3/rules.mk b/keyboards/mlego/m65/rev3/rules.mk
index fa351eadba..8b4c953989 100644
--- a/keyboards/mlego/m65/rev3/rules.mk
+++ b/keyboards/mlego/m65/rev3/rules.mk
@@ -1,13 +1 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable encoder
+#blank on purpose
diff --git a/keyboards/mlego/m65/rev4/config.h b/keyboards/mlego/m65/rev4/config.h
index d0475aabaf..181ebc565a 100644
--- a/keyboards/mlego/m65/rev4/config.h
+++ b/keyboards/mlego/m65/rev4/config.h
@@ -1,28 +1,14 @@
-/*
-Copyright 2021-2022 Alin M Elena <alinm.elena@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
+// Copyright 2021-2023 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
-#define RGBLIGHT_LAYERS
+#define LED_RSE_PIN B13
+#define LED_LWR_PIN B12
#ifdef OLED_ENABLE
-# define OLED_DISPLAY_128X32
-#define I2C1_SCL_PIN B9
-#define I2C1_SDA_PIN B8
-#define OLED_BRIGHTNESS 128
-#define OLED_FONT_H "keyboards/mlego/m65/lib/glcdfont.c"
+# define I2C1_SCL_PIN B9
+# define I2C1_SDA_PIN B8
+# define OLED_BRIGHTNESS 128
+# define OLED_FONT_H "keyboards/mlego/m65/lib/glcdfont.c"
#endif
diff --git a/keyboards/mlego/m65/rev4/halconf.h b/keyboards/mlego/m65/rev4/halconf.h
index c1a060ad71..99f8ae4bf1 100644
--- a/keyboards/mlego/m65/rev4/halconf.h
+++ b/keyboards/mlego/m65/rev4/halconf.h
@@ -1,23 +1,5 @@
-/* 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/zvecr/zv48/f401/halconf.h -r platforms/chibios/common/configs/halconf.h`
- */
+// Copyright 2021-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/rev4/info.json b/keyboards/mlego/m65/rev4/info.json
index a97c734ff8..56fed15317 100644
--- a/keyboards/mlego/m65/rev4/info.json
+++ b/keyboards/mlego/m65/rev4/info.json
@@ -1,43 +1,136 @@
{
- "usb": {
- "pid": "0x6062",
- "device_version": "0.0.2"
- },
- "matrix_pins": {
- "cols": ["B14", "A8", "A10", "A15", "B3", "B4", "B5", "B7", "A1", "A2", "A3", "A4", "B1"],
- "rows": ["B10", "A5", "A6", "A7", "B0"]
- },
+ "manufacturer": "Alin Elena",
+ "keyboard_name": "mlego/m65 rev4",
+ "maintainer": "alin elena",
+ "board": "BLACKPILL_STM32_F401",
+ "bootloader": "tinyuf2",
"diode_direction": "COL2ROW",
"encoder": {
"rotary": [
{"pin_a": "A0", "pin_b": "B6"}
]
},
+ "features": {
+ "audio": false,
+ "backlight": false,
+ "bootmagic": true,
+ "command": false,
+ "console": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "oled": true,
+ "rgblight": true,
+ "wpm": true
+ },
"indicators": {
"caps_lock": "C13",
- "num_lock": "B12",
- "scroll_lock": "B13"
+ "on_state": 0
+ },
+ "matrix_pins": {
+ "cols": ["B14", "A8", "A10", "A15", "B3", "B4", "B5", "B7", "A1", "A2", "A3", "A4", "B1"],
+ "rows": ["B10", "A5", "A6", "A7", "B0"]
},
+ "processor": "STM32F401",
"rgblight": {
- "saturation_steps": 8,
- "led_count": 20,
"animations": {
+ "alternating": true,
"breathing": true,
+ "christmas": true,
+ "knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
+ "rgb_test": true,
"snake": true,
- "knight": true,
- "christmas": true,
"static_gradient": true,
- "rgb_test": true,
- "alternating": true,
"twinkle": true
- }
+ },
+ "hue_steps": 8,
+ "layers": {
+ "enabled": true
+ },
+ "led_count": 20,
+ "saturation_steps": 8
+ },
+ "url": "https://gitlab.com/m-lego/m65",
+ "usb": {
+ "device_version": "0.0.2",
+ "pid": "0x6062",
+ "vid": "0xBABA"
},
"ws2812": {
"pin": "B15"
},
- "processor": "STM32F401",
- "bootloader": "tinyuf2",
- "board": "BLACKPILL_STM32_F401"
+ "layouts": {
+ "LAYOUT_ortho_5x13": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "Backspace", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "q", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "w", "matrix": [1, 2], "x": 2, "y": 1},
+ {"label": "e", "matrix": [1, 3], "x": 3, "y": 1},
+ {"label": "r", "matrix": [1, 4], "x": 4, "y": 1},
+ {"label": "t", "matrix": [1, 5], "x": 5, "y": 1},
+ {"label": "y", "matrix": [1, 6], "x": 6, "y": 1},
+ {"label": "u", "matrix": [1, 7], "x": 7, "y": 1},
+ {"label": "i", "matrix": [1, 8], "x": 8, "y": 1},
+ {"label": "o", "matrix": [1, 9], "x": 9, "y": 1},
+ {"label": "p", "matrix": [1, 10], "x": 10, "y": 1},
+ {"label": "[", "matrix": [1, 11], "x": 11, "y": 1},
+ {"label": "]", "matrix": [1, 12], "x": 12, "y": 1},
+ {"label": "#", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "a", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "s", "matrix": [2, 2], "x": 2, "y": 2},
+ {"label": "d", "matrix": [2, 3], "x": 3, "y": 2},
+ {"label": "f", "matrix": [2, 4], "x": 4, "y": 2},
+ {"label": "g", "matrix": [2, 5], "x": 5, "y": 2},
+ {"label": "h", "matrix": [2, 6], "x": 6, "y": 2},
+ {"label": "j", "matrix": [2, 7], "x": 7, "y": 2},
+ {"label": "k", "matrix": [2, 8], "x": 8, "y": 2},
+ {"label": "l", "matrix": [2, 9], "x": 9, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10, "y": 2},
+ {"label": "'", "matrix": [2, 11], "x": 11, "y": 2},
+ {"label": "Enter", "matrix": [2, 12], "x": 12, "y": 2},
+ {"label": "Left Shift", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "\\", "matrix": [3, 1], "x": 1, "y": 3},
+ {"label": "z", "matrix": [3, 2], "x": 2, "y": 3},
+ {"label": "x", "matrix": [3, 3], "x": 3, "y": 3},
+ {"label": "c", "matrix": [3, 4], "x": 4, "y": 3},
+ {"label": "v", "matrix": [3, 5], "x": 5, "y": 3},
+ {"label": "b", "matrix": [3, 6], "x": 6, "y": 3},
+ {"label": "n", "matrix": [3, 7], "x": 7, "y": 3},
+ {"label": "m", "matrix": [3, 8], "x": 8, "y": 3},
+ {"label": ",", "matrix": [3, 9], "x": 9, "y": 3},
+ {"label": ".", "matrix": [3, 10], "x": 10, "y": 3},
+ {"label": "Up", "matrix": [3, 11], "x": 11, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Menu", "matrix": [4, 1], "x": 1, "y": 4},
+ {"label": "Lower", "matrix": [4, 2], "x": 2, "y": 4},
+ {"label": "Alt", "matrix": [4, 3], "x": 3, "y": 4},
+ {"label": "Raise", "matrix": [4, 4], "x": 4, "y": 4},
+ {"label": "Space", "matrix": [4, 5], "x": 5, "y": 4},
+ {"label": "Space", "matrix": [4, 6], "x": 6, "y": 4},
+ {"label": "Space", "matrix": [4, 7], "x": 7, "y": 4},
+ {"label": "Alt Gr", "matrix": [4, 8], "x": 8, "y": 4},
+ {"label": "Right Shift", "matrix": [4, 9], "x": 9, "y": 4},
+ {"label": "Left", "matrix": [4, 10], "x": 10, "y": 4},
+ {"label": "Down", "matrix": [4, 11], "x": 11, "y": 4},
+ {"label": "Right", "matrix": [4, 12], "x": 12, "y": 4}
+ ]
+ }
+ }
}
diff --git a/keyboards/mlego/m65/rev4/mcuconf.h b/keyboards/mlego/m65/rev4/mcuconf.h
index ba1cd32fd3..abae5f94bd 100644
--- a/keyboards/mlego/m65/rev4/mcuconf.h
+++ b/keyboards/mlego/m65/rev4/mcuconf.h
@@ -1,23 +1,5 @@
-/* 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 <http://www.gnu.org/licenses/>.
- */
-
-/*
- * This file was auto-generated by:
- * `qmk chibios-confmigrate -i keyboards/zvecr/zv48/f401/mcuconf.h -r platforms/chibios/BLACKPILL_STM32_F401/configs/mcuconf.h`
- */
+// Copyright 2021-2022 alin m elena (@alinelena)
+// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
diff --git a/keyboards/mlego/m65/rev4/rules.mk b/keyboards/mlego/m65/rev4/rules.mk
index 3e44c80fe0..e69de29bb2 100644
--- a/keyboards/mlego/m65/rev4/rules.mk
+++ b/keyboards/mlego/m65/rev4/rules.mk
@@ -1,15 +0,0 @@
-# Build Options
-# change yes to no to disable
-#
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
-MOUSEKEY_ENABLE = yes # Mouse keys
-EXTRAKEY_ENABLE = yes # Audio control and System control
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-NKRO_ENABLE = yes # Enable N-Key Rollover
-BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-AUDIO_ENABLE = no # Audio output
-ENCODER_ENABLE = yes # Enable encoder
-OLED_ENABLE = yes # Enable OLED
-WPM_ENABLE = yes # Enable WPM Counter