aboutsummaryrefslogtreecommitdiff
path: root/keyboards
diff options
context:
space:
mode:
authorAlin Marin Elena <alin@elena.space>2022-01-13 17:16:59 +0000
committerGitHub <noreply@github.com>2022-01-13 09:16:59 -0800
commitd1eac293542a622ad2d35b490340ca8baf2997f0 (patch)
tree05f3b7f291155cf94f580c03110ea15cc9ceeb88 /keyboards
parent2c8098ea8839d242a5037821d6ba0255637cd15e (diff)
downloadqmk_firmware-d1eac293542a622ad2d35b490340ca8baf2997f0.tar.gz
qmk_firmware-d1eac293542a622ad2d35b490340ca8baf2997f0.zip
[Keyboard] remove duplicate m65 (#15831)
Diffstat (limited to 'keyboards')
-rw-r--r--keyboards/m65/config.h33
-rw-r--r--keyboards/m65/info.json81
-rw-r--r--keyboards/m65/keymaps/default/config.h20
-rw-r--r--keyboards/m65/keymaps/default/keymap.c113
-rw-r--r--keyboards/m65/keymaps/default/readme.md13
-rw-r--r--keyboards/m65/keymaps/dk/config.h20
-rw-r--r--keyboards/m65/keymaps/dk/keymap.c114
-rw-r--r--keyboards/m65/keymaps/dk/readme.md13
-rw-r--r--keyboards/m65/keymaps/uk/config.h20
-rw-r--r--keyboards/m65/keymaps/uk/keymap.c114
-rw-r--r--keyboards/m65/keymaps/uk/readme.md13
-rw-r--r--keyboards/m65/m65.c19
-rw-r--r--keyboards/m65/m65.h34
-rw-r--r--keyboards/m65/readme.md22
-rw-r--r--keyboards/m65/rev1/chconf.h29
-rw-r--r--keyboards/m65/rev1/config.h32
-rw-r--r--keyboards/m65/rev1/mcuconf.h27
-rw-r--r--keyboards/m65/rev1/readme.md0
-rw-r--r--keyboards/m65/rev1/rules.mk18
19 files changed, 0 insertions, 735 deletions
diff --git a/keyboards/m65/config.h b/keyboards/m65/config.h
deleted file mode 100644
index 49db1720a..000000000
--- a/keyboards/m65/config.h
+++ /dev/null
@@ -1,33 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "config_common.h"
21
22#define VENDOR_ID 0xBABA
23#define MANUFACTURER Alin Elena
24#define PRODUCT m65
25
26#define MATRIX_ROWS 5
27#define MATRIX_COLS 13
28
29#define DIODE_DIRECTION COL2ROW
30#define DEBOUNCE 5
31
32#define LOCKING_SUPPORT_ENABLE
33#define LOCKING_RESYNC_ENABLE
diff --git a/keyboards/m65/info.json b/keyboards/m65/info.json
deleted file mode 100644
index 966a94946..000000000
--- a/keyboards/m65/info.json
+++ /dev/null
@@ -1,81 +0,0 @@
1{
2 "keyboard_name": "M65",
3 "keyboard_folder": "m65",
4 "url": "https://alin.elena.space/blog/keeblego/",
5 "maintainer": "alinelena",
6 "layouts": {
7 "LAYOUT_ortho_5x13": {
8 "layout": [
9 {"x": 0, "y": 0},
10 {"x": 1, "y": 0},
11 {"x": 2, "y": 0},
12 {"x": 3, "y": 0},
13 {"x": 4, "y": 0},
14 {"x": 5, "y": 0},
15 {"x": 6, "y": 0},
16 {"x": 7, "y": 0},
17 {"x": 8, "y": 0},
18 {"x": 9, "y": 0},
19 {"x": 10, "y": 0},
20 {"x": 11, "y": 0},
21 {"x": 12, "y": 0},
22
23 {"x": 0, "y": 1},
24 {"x": 1, "y": 1},
25 {"x": 2, "y": 1},
26 {"x": 3, "y": 1},
27 {"x": 4, "y": 1},
28 {"x": 5, "y": 1},
29 {"x": 6, "y": 1},
30 {"x": 7, "y": 1},
31 {"x": 8, "y": 1},
32 {"x": 9, "y": 1},
33 {"x": 10, "y": 1},
34 {"x": 11, "y": 1},
35 {"x": 12, "y": 1},
36
37 {"x": 0, "y": 2},
38 {"x": 1, "y": 2},
39 {"x": 2, "y": 2},
40 {"x": 3, "y": 2},
41 {"x": 4, "y": 2},
42 {"x": 5, "y": 2},
43 {"x": 6, "y": 2},
44 {"x": 7, "y": 2},
45 {"x": 8, "y": 2},
46 {"x": 9, "y": 2},
47 {"x": 10, "y": 2},
48 {"x": 11, "y": 2},
49 {"x": 12, "y": 2},
50
51 {"x": 0, "y": 3},
52 {"x": 1, "y": 3},
53 {"x": 2, "y": 3},
54 {"x": 3, "y": 3},
55 {"x": 4, "y": 3},
56 {"x": 5, "y": 3},
57 {"x": 6, "y": 3},
58 {"x": 7, "y": 3},
59 {"x": 8, "y": 3},
60 {"x": 9, "y": 3},
61 {"x": 10, "y": 3},
62 {"x": 11, "y": 3},
63 {"x": 12, "y": 3},
64
65 {"x": 0, "y": 4},
66 {"x": 1, "y": 4},
67 {"x": 2, "y": 4},
68 {"x": 3, "y": 4},
69 {"x": 4, "y": 4},
70 {"x": 5, "y": 4},
71 {"x": 6, "y": 4},
72 {"x": 7, "y": 4},
73 {"x": 8, "y": 4},
74 {"x": 9, "y": 4},
75 {"x": 10, "y": 4},
76 {"x": 11, "y": 4}
77 {"x": 12, "y": 4}
78 ]
79 }
80 }
81}
diff --git a/keyboards/m65/keymaps/default/config.h b/keyboards/m65/keymaps/default/config.h
deleted file mode 100644
index aabd6a2be..000000000
--- a/keyboards/m65/keymaps/default/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define TAPPING_TOGGLE 2
diff --git a/keyboards/m65/keymaps/default/keymap.c b/keyboards/m65/keymaps/default/keymap.c
deleted file mode 100644
index 13093408b..000000000
--- a/keyboards/m65/keymaps/default/keymap.c
+++ /dev/null
@@ -1,113 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19
20enum layer_names { _QW = 0, _LWR, _RSE, _ADJ };
21
22// clang-format off
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24
25 [_QW] = LAYOUT_ortho_5x13(
26 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 ,
27 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 ,
28 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 ,
29 KC_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 ,
30 KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
31
32 [_LWR] = LAYOUT_ortho_5x13(
33 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 ,
34 KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
35 KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
36 KC_TRNS, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS ,
37 KC_TRNS, KC_BTN4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R),
38
39 [_RSE] = LAYOUT_ortho_5x13(
40 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 ,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
42 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
43 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS ,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R),
45
46 [_ADJ] = LAYOUT_ortho_5x13(
47 KC_TRNS, KC_TRNS, A(KC_F2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
48 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
49 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
50 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
51 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
52};
53// clang-format on
54
55// let us assume we start with both layers off
56bool toggle_lwr = false;
57bool toggle_rse = false;
58
59static inline void led_lwr(const bool on) {
60#ifdef LED_NUM_LOCK_PIN
61 writePin(LED_NUM_LOCK_PIN, on);
62#endif
63}
64
65static inline void led_rse(const bool on) {
66#ifdef LED_SCROLL_LOCK_PIN
67 writePin(LED_SCROLL_LOCK_PIN, on);
68#endif
69}
70
71static inline void led_caps(const bool on) {
72#ifdef LED_CAPS_LOCK_PIN
73 writePin(LED_CAPS_LOCK_PIN, on);
74#endif
75}
76
77bool led_update_user(led_t led_state) {
78 // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
79 return false;
80}
81
82void matrix_scan_user(void) {
83 led_lwr(toggle_lwr);
84 led_rse(toggle_rse);
85 led_t led_state = host_keyboard_led_state();
86 led_caps(!led_state.caps_lock);
87 if (layer_state_is(_ADJ)) {
88 led_lwr(true);
89 led_rse(true);
90 }
91}
92
93bool process_record_user(uint16_t keycode, keyrecord_t *record) {
94 switch (keycode) {
95 case (TT(_LWR)):
96 if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
97 // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
98 toggle_lwr = !layer_state_is(_LWR);
99 }
100 return true;
101 break;
102 case (TT(_RSE)):
103 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
104 toggle_rse = !layer_state_is(_RSE);
105 }
106 return true;
107 break;
108 default:
109 return true;
110 }
111}
112
113layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LWR, _RSE, _ADJ); }
diff --git a/keyboards/m65/keymaps/default/readme.md b/keyboards/m65/keymaps/default/readme.md
deleted file mode 100644
index ae7134223..000000000
--- a/keyboards/m65/keymaps/default/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
1![M65 Layout Image](https://i.imgur.com/Z2O8yhGh.png)
2
3# Default M65 Layout
4
5This is the default layout for M65. For the most part it's a straightforward and easy to follow layout inspired by ISO with a UK
6turn. The only unusual key is the key in the upper left, which sends Escape normally, but Grave when in layer 1 aka LWR. Similarly
7number 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,
8KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, M_EXTDISP, KC_SYSTEM_SLEEP, KC_SYSTEM_WAKE, KC_PSCREEN, KC_DEL, KC_EQL in layer 2 aka
9RSE one gets F1-F12 mouse emulation can be used in layer 1 and 2.
10
11flashing is done by LWR+RSE+r
12
13full layout below see in keymap.c
diff --git a/keyboards/m65/keymaps/dk/config.h b/keyboards/m65/keymaps/dk/config.h
deleted file mode 100644
index aabd6a2be..000000000
--- a/keyboards/m65/keymaps/dk/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define TAPPING_TOGGLE 2
diff --git a/keyboards/m65/keymaps/dk/keymap.c b/keyboards/m65/keymaps/dk/keymap.c
deleted file mode 100644
index 4a26f4eed..000000000
--- a/keyboards/m65/keymaps/dk/keymap.c
+++ /dev/null
@@ -1,114 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19#include "keymap_danish.h"
20
21enum layer_names { _QW = 0, _LWR, _RSE, _ADJ };
22
23// clang-format off
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 [_QW] = LAYOUT_ortho_5x13(
27 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 ,
28 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 ,
29 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 ,
30 KC_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 ,
31 KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
32
33 [_LWR] = LAYOUT_ortho_5x13(
34 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 ,
35 KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
36 KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
37 KC_TRNS, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS ,
38 KC_TRNS, KC_BTN4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R),
39
40 [_RSE] = LAYOUT_ortho_5x13(
41 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 ,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
43 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS ,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R),
46
47 [_ADJ] = LAYOUT_ortho_5x13(
48 KC_TRNS, KC_TRNS, A(KC_F2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
49 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
50 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
51 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
52 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
53};
54// clang-format on
55
56// let us assume we start with both layers off
57bool toggle_lwr = false;
58bool toggle_rse = false;
59
60static inline void led_lwr(const bool on) {
61#ifdef LED_NUM_LOCK_PIN
62 writePin(LED_NUM_LOCK_PIN, on);
63#endif
64}
65
66static inline void led_rse(const bool on) {
67#ifdef LED_SCROLL_LOCK_PIN
68 writePin(LED_SCROLL_LOCK_PIN, on);
69#endif
70}
71
72static inline void led_caps(const bool on) {
73#ifdef LED_CAPS_LOCK_PIN
74 writePin(LED_CAPS_LOCK_PIN, on);
75#endif
76}
77
78bool led_update_user(led_t led_state) {
79 // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
80 return false;
81}
82
83void matrix_scan_user(void) {
84 led_lwr(toggle_lwr);
85 led_rse(toggle_rse);
86 led_t led_state = host_keyboard_led_state();
87 led_caps(!led_state.caps_lock);
88 if (layer_state_is(_ADJ)) {
89 led_lwr(true);
90 led_rse(true);
91 }
92}
93
94bool process_record_user(uint16_t keycode, keyrecord_t *record) {
95 switch (keycode) {
96 case (TT(_LWR)):
97 if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
98 // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
99 toggle_lwr = !layer_state_is(_LWR);
100 }
101 return true;
102 break;
103 case (TT(_RSE)):
104 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
105 toggle_rse = !layer_state_is(_RSE);
106 }
107 return true;
108 break;
109 default:
110 return true;
111 }
112}
113
114layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LWR, _RSE, _ADJ); }
diff --git a/keyboards/m65/keymaps/dk/readme.md b/keyboards/m65/keymaps/dk/readme.md
deleted file mode 100644
index 06fed3bda..000000000
--- a/keyboards/m65/keymaps/dk/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
1![M65 Layout Image](https://i.imgur.com/RQqsM4gh.png)
2
3# Default M65 Layout
4
5This 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
6turn. The only unusual key is the key in the upper left, which sends Escape normally, but Grave when in layer 1 aka LWR. Similarly
7number 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,
8KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, M_EXTDISP, KC_SYSTEM_SLEEP, KC_SYSTEM_WAKE, KC_PSCREEN, KC_DEL, DK_ACUT in layer 2 aka
9RSE one gets F1-F12 mouse emulation can be used in layer 1 and 2.
10
11flashing is done by LWR+RSE+r
12
13full layout below see in keymap.c
diff --git a/keyboards/m65/keymaps/uk/config.h b/keyboards/m65/keymaps/uk/config.h
deleted file mode 100644
index aabd6a2be..000000000
--- a/keyboards/m65/keymaps/uk/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define TAPPING_TOGGLE 2
diff --git a/keyboards/m65/keymaps/uk/keymap.c b/keyboards/m65/keymaps/uk/keymap.c
deleted file mode 100644
index 0f426f614..000000000
--- a/keyboards/m65/keymaps/uk/keymap.c
+++ /dev/null
@@ -1,114 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#include QMK_KEYBOARD_H
19#include "keymap_uk.h"
20
21enum layer_names { _QW = 0, _LWR, _RSE, _ADJ };
22
23// clang-format off
24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
25
26 [_QW] = LAYOUT_ortho_5x13(
27 KC_ESC, UK_1 , UK_2 , UK_3 , UK_4 , UK_5 , UK_6 , UK_7 , UK_8 , UK_9 , UK_0 , UK_MINS, KC_BSPC ,
28 KC_TAB, UK_Q , UK_W , UK_E , UK_R , UK_T , UK_Y , UK_U , UK_I , UK_O , UK_P , UK_LBRC, UK_RBRC ,
29 UK_HASH, UK_A , UK_S , UK_D , UK_F , UK_G , UK_H , UK_J , UK_K , UK_L , UK_SCLN, UK_QUOT, KC_ENT ,
30 KC_LSPO, UK_BSLS, UK_Z , UK_X , UK_C , UK_V , UK_B , UK_N , UK_M , UK_COMM, UK_DOT , KC_UP , UK_SLSH ,
31 KC_LCTL, KC_LGUI, TT(_LWR), KC_LALT, TT(_RSE), KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RSPC, KC_LEFT, KC_DOWN, KC_RGHT),
32
33 [_LWR] = LAYOUT_ortho_5x13(
34 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 , UK_EQL ,
35 KC_BTN3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
36 KC_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
37 KC_TRNS, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS ,
38 KC_TRNS, KC_BTN4, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R),
39
40 [_RSE] = LAYOUT_ortho_5x13(
41 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 ,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
43 KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
44 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_U, KC_TRNS ,
45 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_WH_L, KC_WH_D, KC_WH_R),
46
47 [_ADJ] = LAYOUT_ortho_5x13(
48 KC_TRNS, KC_TRNS, A(KC_F2), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
49 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, RESET , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
50 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
51 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
52 KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
53};
54// clang-format on
55
56// let us assume we start with both layers off
57bool toggle_lwr = false;
58bool toggle_rse = false;
59
60static inline void led_lwr(const bool on) {
61#ifdef LED_NUM_LOCK_PIN
62 writePin(LED_NUM_LOCK_PIN, on);
63#endif
64}
65
66static inline void led_rse(const bool on) {
67#ifdef LED_SCROLL_LOCK_PIN
68 writePin(LED_SCROLL_LOCK_PIN, on);
69#endif
70}
71
72static inline void led_caps(const bool on) {
73#ifdef LED_CAPS_LOCK_PIN
74 writePin(LED_CAPS_LOCK_PIN, on);
75#endif
76}
77
78bool led_update_user(led_t led_state) {
79 // Disable the default LED update code, so that lock LEDs could be reused to show layer status.
80 return false;
81}
82
83void matrix_scan_user(void) {
84 led_lwr(toggle_lwr);
85 led_rse(toggle_rse);
86 led_t led_state = host_keyboard_led_state();
87 led_caps(!led_state.caps_lock);
88 if (layer_state_is(_ADJ)) {
89 led_lwr(true);
90 led_rse(true);
91 }
92}
93
94bool process_record_user(uint16_t keycode, keyrecord_t* record) {
95 switch (keycode) {
96 case (TT(_LWR)):
97 if (!record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
98 // This runs before the TT() handler toggles the layer state, so the current layer state is the opposite of the final one after toggle.
99 toggle_lwr = !layer_state_is(_LWR);
100 }
101 return true;
102 break;
103 case (TT(_RSE)):
104 if (record->event.pressed && record->tap.count == TAPPING_TOGGLE) {
105 toggle_rse = !layer_state_is(_RSE);
106 }
107 return true;
108 break;
109 default:
110 return true;
111 }
112}
113
114layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _LWR, _RSE, _ADJ); }
diff --git a/keyboards/m65/keymaps/uk/readme.md b/keyboards/m65/keymaps/uk/readme.md
deleted file mode 100644
index bc29d2390..000000000
--- a/keyboards/m65/keymaps/uk/readme.md
+++ /dev/null
@@ -1,13 +0,0 @@
1# Default M65 Layout
2
3![M65 Layout Image](https://i.imgur.com/KZFnAU5h.png)
4
5This is the default layout for M65. For the most part it's a straightforward and easy to follow layout inspired by ISO with a UK
6turn. The only unusual key is the key in the upper left, which sends Escape normally, but Grave when in layer 1 aka LWR. Similarly
7number 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,
8KC_MEDIA_PLAY_PAUSE, KC_MEDIA_NEXT_TRACK, M_EXTDISP, KC_SYSTEM_SLEEP, KC_SYSTEM_WAKE, KC_PSCREEN, KC_DEL, KC_EQL in layer 2 aka
9RSE one gets F1-F12 mouse emulation can be used in layer 1 and 2.
10
11flashing is done by LWR+RSE+r
12
13full layout below see in keymap.c
diff --git a/keyboards/m65/m65.c b/keyboards/m65/m65.c
deleted file mode 100644
index 35e2b4122..000000000
--- a/keyboards/m65/m65.c
+++ /dev/null
@@ -1,19 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18
19#include "m65.h"
diff --git a/keyboards/m65/m65.h b/keyboards/m65/m65.h
deleted file mode 100644
index 50065c9f8..000000000
--- a/keyboards/m65/m65.h
+++ /dev/null
@@ -1,34 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#include "quantum.h"
21
22#define LAYOUT_ortho_5x13( \
23 K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, \
24 K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, \
25 K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, \
26 K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, \
27 K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 \
28) { \
29 { K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012 }, \
30 { K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112 }, \
31 { K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212 }, \
32 { K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312 }, \
33 { K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412 } \
34}
diff --git a/keyboards/m65/readme.md b/keyboards/m65/readme.md
deleted file mode 100644
index 9493a3fff..000000000
--- a/keyboards/m65/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
1# M65
2
3![M65](https://i.imgur.com/gXuecush.jpg)
4
5A (13x5) ortholinear keyboard that can be hand wired or using a pcb.
6
7* Keyboard Maintainer: [Alin Elena](https://github.com/alinelena) ([@drFaustroll on GitLab](https://gitlab.com/drFaustroll))
8* Hardware Supported: custom pcb [see](https://gitlab.com/drFaustroll/m65) STM/APM32F103C8T6, aka Black Pill
9* Hardware Availability: [custom how to](https://alin.elena.space/blog/keeblego/)
10
11
12Make example for this keyboard (after setting up your build environment):
13
14 make m65/rev1:default
15
16Flashing example for this keyboard:
17
18 make m65/rev1:default:flash
19
20To enter flashing mode, press Lower+Raise+R.
21
22See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/m65/rev1/chconf.h b/keyboards/m65/rev1/chconf.h
deleted file mode 100644
index 8c43fb269..000000000
--- a/keyboards/m65/rev1/chconf.h
+++ /dev/null
@@ -1,29 +0,0 @@
1/* Copyright 2021 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/m65/rev1/chconf.h -r platforms/chibios/common/configs/chconf.h`
20 */
21
22#pragma once
23
24#define CH_CFG_ST_TIMEDELTA 0
25
26#define CH_CFG_USE_CONDVARS_TIMEOUT FALSE
27
28#include_next <chconf.h>
29
diff --git a/keyboards/m65/rev1/config.h b/keyboards/m65/rev1/config.h
deleted file mode 100644
index 090210f25..000000000
--- a/keyboards/m65/rev1/config.h
+++ /dev/null
@@ -1,32 +0,0 @@
1/*
2Copyright 2021 Alin M Elena <alinm.elena@gmail.com>
3
4This program is free software: you can redistribute it and/or modify
5it under the terms of the GNU General Public License as published by
6the Free Software Foundation, either version 2 of the License, or
7(at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/
17
18#pragma once
19
20#define DEVICE_VER 0x0001
21#define PRODUCT_ID 0x6060
22
23#define LED_NUM_LOCK_PIN B12
24#define LED_SCROLL_LOCK_PIN B13
25#define LED_CAPS_LOCK_PIN C13
26
27// 0 1 2 3 4
28#define MATRIX_ROW_PINS { B11, B0, B1, A2, A3 }
29// 0 1 2 3 4 5 6 7 8 9 10 11 12
30#define MATRIX_COL_PINS {A10, A15, B3, B4, B5, B9, B8, B7, B6, C15, A0, A7, B10 }
31
32#define UNUSED_PINS
diff --git a/keyboards/m65/rev1/mcuconf.h b/keyboards/m65/rev1/mcuconf.h
deleted file mode 100644
index 20df276a5..000000000
--- a/keyboards/m65/rev1/mcuconf.h
+++ /dev/null
@@ -1,27 +0,0 @@
1/* Copyright 2021 QMK
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16
17/*
18 * This file was auto-generated by:
19 * `qmk chibios-confmigrate -i keyboards/m65/rev1/mcuconf.h -r platforms/chibios/STM32_F103_STM32DUINO/configs/mcuconf.h`
20 */
21
22#pragma once
23
24#include_next <mcuconf.h>
25
26#undef STM32_SPI_USE_SPI2
27#define STM32_SPI_USE_SPI2 FALSE
diff --git a/keyboards/m65/rev1/readme.md b/keyboards/m65/rev1/readme.md
deleted file mode 100644
index e69de29bb..000000000
--- a/keyboards/m65/rev1/readme.md
+++ /dev/null
diff --git a/keyboards/m65/rev1/rules.mk b/keyboards/m65/rev1/rules.mk
deleted file mode 100644
index 333b20640..000000000
--- a/keyboards/m65/rev1/rules.mk
+++ /dev/null
@@ -1,18 +0,0 @@
1# MCU name
2MCU = STM32F103
3
4# Bootloader selection
5BOOTLOADER = stm32duino
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
11MOUSEKEY_ENABLE = yes # Mouse keys
12EXTRAKEY_ENABLE = yes # Audio control and System control
13CONSOLE_ENABLE = yes # Console for debug
14COMMAND_ENABLE = yes # Commands for debug and configuration
15NKRO_ENABLE = yes # Enable N-Key Rollover
16BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
17RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
18AUDIO_ENABLE = no # Audio output