aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaneware <68452738+Laneware@users.noreply.github.com>2021-09-22 08:06:56 +1000
committerGitHub <noreply@github.com>2021-09-21 15:06:56 -0700
commit32a96be09321870e7d7d084c893dee599e47132b (patch)
tree17ce796ba7e46584e00f2cf9bee31a09bc6741ac
parent922fbea5589b320ff57ca261f402bb9e63325496 (diff)
downloadqmk_firmware-32a96be09321870e7d7d084c893dee599e47132b.tar.gz
qmk_firmware-32a96be09321870e7d7d084c893dee599e47132b.zip
[Keyboard] Macro-1 keyboard by Laneware Peripherals (#14472)
-rw-r--r--keyboards/macro1/config.h55
-rw-r--r--keyboards/macro1/info.json84
-rw-r--r--keyboards/macro1/keymaps/default/keymap.c64
-rw-r--r--keyboards/macro1/keymaps/macropad/keymap.c63
-rw-r--r--keyboards/macro1/keymaps/southpaw/keymap.c63
-rw-r--r--keyboards/macro1/keymaps/via/keymap.c103
-rw-r--r--keyboards/macro1/keymaps/via/rules.mk1
-rw-r--r--keyboards/macro1/macro1.c29
-rw-r--r--keyboards/macro1/macro1.h115
-rw-r--r--keyboards/macro1/readme.md22
-rw-r--r--keyboards/macro1/rules.mk22
11 files changed, 621 insertions, 0 deletions
diff --git a/keyboards/macro1/config.h b/keyboards/macro1/config.h
new file mode 100644
index 000000000..54203ef2b
--- /dev/null
+++ b/keyboards/macro1/config.h
@@ -0,0 +1,55 @@
1/* Copyright 2021 Laneware Peripherals
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#pragma once
18
19#include "config_common.h"
20
21/* USB Device descriptor parameter */
22#define VENDOR_ID 0x4C50 // "LP" = Laneware Peripherals
23#define PRODUCT_ID 0x9999
24#define DEVICE_VER 0x0001
25#define MANUFACTURER Laneware Peripherals
26#define PRODUCT MACRO-1
27
28/* key matrix size */
29#define MATRIX_ROWS 6
30#define MATRIX_COLS 4
31
32/* key matrix pins */
33#define MATRIX_ROW_PINS { E6, B7, D0, D1, D2, B3 }
34#define MATRIX_COL_PINS { D3, D4, D6, D7 }
35#define UNUSED_PINS
36
37/*ENCODER*/
38#define ENCODERS_PAD_A { F0 }
39#define ENCODERS_PAD_B { F1 }
40#define ENCODER_RESOLUTION 4
41
42/* COL2ROW or ROW2COL */
43#define DIODE_DIRECTION COL2ROW
44
45/* Set 0 if debouncing isn't needed */
46#define DEBOUNCE 5
47
48/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
49#define LOCKING_SUPPORT_ENABLE
50
51/* Locking resynchronize hack */
52#define LOCKING_RESYNC_ENABLE
53
54
55
diff --git a/keyboards/macro1/info.json b/keyboards/macro1/info.json
new file mode 100644
index 000000000..dbb7bafa7
--- /dev/null
+++ b/keyboards/macro1/info.json
@@ -0,0 +1,84 @@
1{
2 "keyboard_name": "MACRO1",
3 "url": "",
4 "maintainer": "qmk",
5 "layouts":{
6 "LAYOUT_numpad":{
7 "layout":[
8 {"label":"Mute", "x":0, "y":0},
9 {"label":"Play", "x":2, "y":0},
10 {"label":"Backspace", "x":3, "y":0},
11 {"label":"Numlock", "x":0, "y":1},
12 {"label":"/", "x":1, "y":1},
13 {"label":"*", "x":2, "y":1},
14 {"label":"-", "x":3, "y":1},
15 {"label":"7", "x":0, "y":2},
16 {"label":"8", "x":1, "y":2},
17 {"label":"9", "x":2, "y":2},
18 {"label":"+", "x":3, "y":2, "h":2},
19 {"label":"4", "x":0, "y":3},
20 {"label":"5", "x":1, "y":3},
21 {"label":"6", "x":2, "y":3},
22 {"label":"1", "x":0, "y":4},
23 {"label":"2", "x":1, "y":4},
24 {"label":"3", "x":2, "y":4},
25 {"label":"Enter", "x":3, "y":4, "h":2},
26 {"label":"0", "x":0, "y":5, "w":2},
27 {"label":".", "x":2, "y":5}
28 ]
29 },
30
31 "LAYOUT_southpaw":{
32 "layout":[
33 {"label":"Mute", "x":0, "y":0},
34 {"label":"Play", "x":2, "y":0},
35 {"label":"Backspace", "x":3, "y":0},
36 {"label":"Numlock", "x":0, "y":1},
37 {"label":"/", "x":1, "y":1},
38 {"label":"*", "x":2, "y":1},
39 {"label":"-", "x":3, "y":1},
40 {"label":"+", "x":0, "y":2, "h":2},
41 {"label":"7", "x":1, "y":2},
42 {"label":"8", "x":2, "y":2},
43 {"label":"9", "x":3, "y":2},
44 {"label":"4", "x":1, "y":3},
45 {"label":"5", "x":2, "y":3},
46 {"label":"6", "x":3, "y":3},
47 {"label":"Enter", "x":0, "y":4, "h":2},
48 {"label":"1", "x":1, "y":4},
49 {"label":"2", "x":2, "y":4},
50 {"label":"3", "x":3, "y":4},
51 {"label":".", "x":1, "y":5},
52 {"label":"0", "x":2, "y":5, "w":2}
53 ]
54 },
55
56 "LAYOUT_macropad":{
57 "layout":[
58 {"label":"Mute", "x":0, "y":0},
59 {"label":"F1", "x":2, "y":0},
60 {"label":"F2", "x":3, "y":0},
61 {"label":"F3", "x":0, "y":1},
62 {"label":"F4", "x":1, "y":1},
63 {"label":"F5", "x":2, "y":1},
64 {"label":"F6", "x":3, "y":1},
65 {"label":"F7", "x":0, "y":2},
66 {"label":"F8", "x":1, "y":2},
67 {"label":"F9", "x":2, "y":2},
68 {"label":"F10", "x":3, "y":2},
69 {"label":"F11", "x":0, "y":3},
70 {"label":"F12", "x":1, "y":3},
71 {"label":"F13", "x":2, "y":3},
72 {"label":"F14", "x":3, "y":3},
73 {"label":"F15", "x":0, "y":4},
74 {"label":"F16", "x":1, "y":4},
75 {"label":"F17", "x":2, "y":4},
76 {"label":"F18", "x":3, "y":4},
77 {"label":"F19", "x":0, "y":5},
78 {"label":"F20", "x":1, "y":5},
79 {"label":"F21", "x":2, "y":5},
80 {"label":"F22", "x":3, "y":5}
81 ]
82 }
83 }
84} \ No newline at end of file
diff --git a/keyboards/macro1/keymaps/default/keymap.c b/keyboards/macro1/keymaps/default/keymap.c
new file mode 100644
index 000000000..22cff4a71
--- /dev/null
+++ b/keyboards/macro1/keymaps/default/keymap.c
@@ -0,0 +1,64 @@
1 /* Copyright 2021 Laneware Peripherals
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#include QMK_KEYBOARD_H
18
19/*
20 * ┌───┐ ┌───┬───┐
21 * │K00│ │K02│K03│
22 * └───┘ └───┴───┘
23 * ┌───┬───┬───┬───┐
24 * │K10│K11│K12│K13│
25 * ├───┼───┼───┼───┤
26 * │K20│K21│K22│K23│
27 * ├───┼───┼───┤ │
28 * │K30│K31│K32│ │
29 * ├───┼───┼───┼───┤
30 * │K40│K41│K42│K43│
31 * ├───┴───┼───┤ │
32 * │K50 │K52│ │
33 * └───────┴───┴───┘
34 */
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38 [0] = LAYOUT_numpad(
39 KC_MUTE, KC_MPLY, KC_BSPC,
40 KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
41 KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
42 KC_KP_4, KC_KP_5, KC_KP_6,
43 KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
44 KC_KP_0, KC_KP_DOT),
45
46 [1] = LAYOUT_numpad(
47 KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS),
53
54 [2] = LAYOUT_numpad(
55 KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS), };
61
62
63
64
diff --git a/keyboards/macro1/keymaps/macropad/keymap.c b/keyboards/macro1/keymaps/macropad/keymap.c
new file mode 100644
index 000000000..68566fb53
--- /dev/null
+++ b/keyboards/macro1/keymaps/macropad/keymap.c
@@ -0,0 +1,63 @@
1 /* Copyright 2021 Laneware Peripherals
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#include QMK_KEYBOARD_H
18
19/*
20 * ┌───┐ ┌───┬───┐
21 * │K00│ │K01│K02│
22 * └───┘ └───┴───┘
23 * ┌───┬───┬───┬───┐
24 * │K10│K11│K12│K13│
25 * ├───┼───┼───┼───┤
26 * │K20│K21│K22│K23│
27 * ├───┼───┼───┼───┤
28 * │K30│K31│K32│K33│
29 * ├───┼───┼───┼───┤
30 * │K40│K41│K42│K43│
31 * ├───┼───┼───┼───┤
32 * │K50│K51│K52│K53│
33 * └───┴───┴───┴───┘
34 */
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38 [0] = LAYOUT_macropad(
39 KC_MUTE, KC_F1, KC_F2,
40 KC_F3, KC_F4, KC_F5, KC_F6,
41 KC_F7, KC_F8, KC_F9, KC_F10,
42 KC_F11, KC_F12, KC_F13, KC_F14,
43 KC_F15, KC_F16, KC_F17, KC_F18,
44 KC_F19, KC_F20, KC_F21, KC_F22),
45
46 [1] = LAYOUT_macropad(
47 KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
53
54 [2] = LAYOUT_macropad(
55 KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), };
61
62
63
diff --git a/keyboards/macro1/keymaps/southpaw/keymap.c b/keyboards/macro1/keymaps/southpaw/keymap.c
new file mode 100644
index 000000000..b8c6bfb33
--- /dev/null
+++ b/keyboards/macro1/keymaps/southpaw/keymap.c
@@ -0,0 +1,63 @@
1 /* Copyright 2021 Laneware Peripherals
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#include QMK_KEYBOARD_H
18
19/*
20 * ┌───┐ ┌───┬───┐
21 * │K00│ │K02│K03│
22 * └───┘ └───┴───┘
23 * ┌───┬───┬───┬───┐
24 * │K10│K11│K12│K13│
25 * ├───┼───┼───┼───┤
26 * │K20│K21│K22│K23│
27 * │ ├───┼───┼───┤
28 * │ │K31│K32│K33│
29 * ├───┼───┼───┼───┤
30 * │K40│K41│K42│K43│
31 * │ ├───┼───┴───┤
32 * │ │K51│K52 │
33 * └───┴───┴───────┘
34 */
35
36const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
37
38 [0] = LAYOUT_southpaw(
39 KC_MUTE, KC_MPLY, KC_BSPC,
40 KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
41 KC_KP_PLUS, KC_KP_7, KC_KP_8, KC_KP_9,
42 KC_KP_4, KC_KP_5, KC_KP_6,
43 KC_KP_ENTER, KC_KP_1, KC_KP_2, KC_KP_3,
44 KC_KP_DOT, KC_KP_0),
45
46 [1] = LAYOUT_southpaw(
47 KC_TRNS, KC_TRNS, KC_TRNS,
48 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
49 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
50 KC_TRNS, KC_TRNS, KC_TRNS,
51 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
52 KC_TRNS, KC_TRNS),
53
54 [2] = LAYOUT_southpaw(
55 KC_TRNS, KC_TRNS, KC_TRNS,
56 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
57 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
58 KC_TRNS, KC_TRNS, KC_TRNS,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
60 KC_TRNS, KC_TRNS), };
61
62
63
diff --git a/keyboards/macro1/keymaps/via/keymap.c b/keyboards/macro1/keymaps/via/keymap.c
new file mode 100644
index 000000000..f3e53a78e
--- /dev/null
+++ b/keyboards/macro1/keymaps/via/keymap.c
@@ -0,0 +1,103 @@
1 /* Copyright 2021 Laneware Peripherals
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#include QMK_KEYBOARD_H
18
19/*
20 * ┌───┐ ┌───┬───┐
21 * │K00│ │K02│K03│
22 * └───┘ └───┴───┘
23 * ┌───┬───┬───┬───┐
24 * │K10│K11│K12│K13│
25 * ├───┼───┼───┼───┤
26 * │K20│K21│K22│K23│
27 * ├───┼───┼───┤ │
28 * │K30│K31│K32│ │
29 * ├───┼───┼───┼───┤
30 * │K40│K41│K42│K43│
31 * ├───┴───┼───┤ │
32 * │K50 │K52│ │
33 * └───────┴───┴───┘
34 */
35
36 /*
37 * ┌───┐ ┌───┬───┐
38 * │K00│ │K02│K03│
39 * └───┘ └───┴───┘
40 * ┌───┬───┬───┬───┐
41 * │K10│K11│K12│K13│
42 * ├───┼───┼───┼───┤
43 * │K20│K21│K22│K23│
44 * │ ├───┼───┼───┤
45 * │ │K31│K32│K33│
46 * ├───┼───┼───┼───┤
47 * │K40│K41│K42│K43│
48 * │ ├───┼───┴───┤
49 * │ │K51│K52 │
50 * └───┴───┴───────┘
51 */
52
53/*
54 * ┌───┐ ┌───┬───┐
55 * │K00│ │K01│K02│
56 * └───┘ └───┴───┘
57 * ┌───┬───┬───┬───┐
58 * │K10│K11│K12│K13│
59 * ├───┼───┼───┼───┤
60 * │K20│K21│K22│K23│
61 * ├───┼───┼───┼───┤
62 * │K30│K31│K32│K33│
63 * ├───┼───┼───┼───┤
64 * │K40│K41│K42│K43│
65 * ├───┼───┼───┼───┤
66 * │K50│K51│K52│K53│
67 * └───┴───┴───┴───┘
68 */
69
70const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
71
72 [0] = LAYOUT_numpad(
73 KC_MUTE, KC_MPLY, KC_BSPC,
74 KC_CALC, KC_KP_SLASH, KC_KP_ASTERISK, KC_KP_MINUS,
75 KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_PLUS,
76 KC_KP_4, KC_KP_5, KC_KP_6,
77 KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
78 KC_KP_0, KC_KP_DOT),
79
80 [1] = LAYOUT_numpad(
81 KC_TRNS, KC_TRNS, KC_TRNS,
82 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
83 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
84 KC_TRNS, KC_TRNS, KC_TRNS,
85 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
86 KC_TRNS, KC_TRNS),
87
88 [2] = LAYOUT_numpad(
89 KC_TRNS, KC_TRNS, KC_TRNS,
90 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
91 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
92 KC_TRNS, KC_TRNS, KC_TRNS,
93 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
94 KC_TRNS, KC_TRNS),
95
96 [3] = LAYOUT_numpad(
97 KC_TRNS, KC_TRNS, KC_TRNS,
98 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
99 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
100 KC_TRNS, KC_TRNS, KC_TRNS,
101 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
102 KC_TRNS, KC_TRNS), };
103
diff --git a/keyboards/macro1/keymaps/via/rules.mk b/keyboards/macro1/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/macro1/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/macro1/macro1.c b/keyboards/macro1/macro1.c
new file mode 100644
index 000000000..b470ed523
--- /dev/null
+++ b/keyboards/macro1/macro1.c
@@ -0,0 +1,29 @@
1 /* Copyright 2021 Laneware Peripherals
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#include "macro1.h"
18
19bool encoder_update_user(uint8_t index, bool clockwise) {
20 if (index == 0) { /* First encoder */
21 if (clockwise) {
22 tap_code(KC_VOLU);
23 } else {
24 tap_code(KC_VOLD);
25 }
26 }
27 return false;
28}
29
diff --git a/keyboards/macro1/macro1.h b/keyboards/macro1/macro1.h
new file mode 100644
index 000000000..106625805
--- /dev/null
+++ b/keyboards/macro1/macro1.h
@@ -0,0 +1,115 @@
1 /* Copyright 2021 Laneware Peripherals
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#pragma once
18
19#include "quantum.h"
20
21/* KEYMAP_numpad
22 * ┌───┐ ┌───┬───┐
23 * │K00│ │K02│K03│
24 * └───┘ └───┴───┘
25 * ┌───┬───┬───┬───┐
26 * │K10│K11│K12│K13│
27 * ├───┼───┼───┼───┤
28 * │K20│K21│K22│K23│
29 * ├───┼───┼───┤ │
30 * │K30│K31│K32│ │
31 * ├───┼───┼───┼───┤
32 * │K40│K41│K42│K43│
33 * ├───┴───┼───┤ │
34 * │K50 │K52│ │
35 * └───────┴───┴───┘
36 */
37#define LAYOUT_numpad( \
38 K00, K02, K03, \
39 K10, K11, K12, K13, \
40 K20, K21, K22, K23, \
41 K30, K31, K32, \
42 K40, K41, K42, K43, \
43 K50, K52 \
44) { \
45 { K00, KC_NO, K02, K03 }, \
46 { K10, K11, K12, K13 }, \
47 { K20, K21, K22, K23 }, \
48 { K30, K31, K32, KC_NO }, \
49 { K40, K41, K42, K43 }, \
50 { K50, KC_NO, K52, KC_NO } \
51}
52
53/* KEYMAP_southpaw
54 * ┌───┐ ┌───┬───┐
55 * │K00│ │K02│K03│
56 * └───┘ └───┴───┘
57 * ┌───┬───┬───┬───┐
58 * │K10│K11│K12│K13│
59 * ├───┼───┼───┼───┤
60 * │K20│K21│K22│K23│
61 * │ ├───┼───┼───┤
62 * │ │K31│K32│K33│
63 * ├───┼───┼───┼───┤
64 * │K40│K41│K42│K43│
65 * │ ├───┼───┴───┤
66 * │ │K51│K52 │
67 * └───┴───┴───────┘
68 */
69#define LAYOUT_southpaw( \
70 K00, K02, K03, \
71 K10, K11, K12, K13, \
72 K20, K21, K22, K23, \
73 K31, K32, K33, \
74 K40, K41, K42, K43, \
75 K51, K52 \
76) { \
77 { K00, KC_NO, K02, K03 }, \
78 { K10, K11, K12, K13 }, \
79 { K20, K21, K22, K23 }, \
80 { KC_NO, K31, K32, K33 }, \
81 { K40, K41, K42, K43 }, \
82 { KC_NO, K51, K52, KC_NO } \
83}
84
85/* KEYMAP_macropad
86 * ┌───┐ ┌───┬───┐
87 * │K00│ │K01│K02│
88 * └───┘ └───┴───┘
89 * ┌───┬───┬───┬───┐
90 * │K10│K11│K12│K13│
91 * ├───┼───┼───┼───┤
92 * │K20│K21│K22│K23│
93 * ├───┼───┼───┼───┤
94 * │K30│K31│K32│K33│
95 * ├───┼───┼───┼───┤
96 * │K40│K41│K42│K43│
97 * ├───┼───┼───┼───┤
98 * │K50│K51│K52│K53│
99 * └───┴───┴───┴───┘
100 */
101#define LAYOUT_macropad( \
102 K00, K02, K03, \
103 K10, K11, K12, K13, \
104 K20, K21, K22, K23, \
105 K30, K31, K32, K33, \
106 K40, K41, K42, K43, \
107 K50, K51, K52, K53 \
108) { \
109 { K00, KC_NO, K02, K03 }, \
110 { K10, K11, K12, K13 }, \
111 { K20, K21, K22, K23 }, \
112 { K30, K31, K32, K33 }, \
113 { K40, K41, K42, K43 }, \
114 { K50, K51, K52, K53 } \
115}
diff --git a/keyboards/macro1/readme.md b/keyboards/macro1/readme.md
new file mode 100644
index 000000000..578a34e1c
--- /dev/null
+++ b/keyboards/macro1/readme.md
@@ -0,0 +1,22 @@
1# Macro-1
2
3![Macro-1](https://i.imgur.com/pnTgKuTh.jpeg)
4
5A versitile numpad/macropad (14x6) with a rotary encoder, made and sold by Laneware Peripherals.
6
7* Keyboard Maintainer: [Laneware Peripherals](https://github.com/laneware)
8* Hardware Supported: Macro-1
9* Hardware Availability: [Laneware Peripherals](https://lanewareperipherals.com/),
10
11Make example for this keyboard (after setting up your build environment):
12
13 make macro1:default
14
15See 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).
16
17## Bootloader
18
19Enter the bootloader in 3 ways:
20
21* **Bootmagic reset**: Hold down the encoder and plug in the keyboard
22* **Physical reset button**: Briefly press the button on the back of the PCB
diff --git a/keyboards/macro1/rules.mk b/keyboards/macro1/rules.mk
new file mode 100644
index 000000000..682227160
--- /dev/null
+++ b/keyboards/macro1/rules.mk
@@ -0,0 +1,22 @@
1# MCU name
2MCU = atmega32u4
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
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 = no # Console for debug
14COMMAND_ENABLE = no # Commands for debug and configuration
15# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
16SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
18NKRO_ENABLE = yes # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
21AUDIO_ENABLE = no # Audio output
22ENCODER_ENABLE = yes \ No newline at end of file