diff options
author | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
---|---|---|
committer | Akshay <[email protected]> | 2022-04-10 12:13:40 +0100 |
commit | dc90387ce7d8ba7b607d9c48540bf6d8b560f14d (patch) | |
tree | 4ccb8fa5886b66fa9d480edef74236c27f035e16 /keyboards/catch22 |
Diffstat (limited to 'keyboards/catch22')
-rw-r--r-- | keyboards/catch22/catch22.c | 18 | ||||
-rw-r--r-- | keyboards/catch22/catch22.h | 33 | ||||
-rw-r--r-- | keyboards/catch22/config.h | 52 | ||||
-rw-r--r-- | keyboards/catch22/info.json | 8 | ||||
-rw-r--r-- | keyboards/catch22/keymaps/default/keymap.c | 21 | ||||
-rw-r--r-- | keyboards/catch22/readme.md | 17 | ||||
-rw-r--r-- | keyboards/catch22/rules.mk | 18 |
7 files changed, 167 insertions, 0 deletions
diff --git a/keyboards/catch22/catch22.c b/keyboards/catch22/catch22.c new file mode 100644 index 000000000..11a983936 --- /dev/null +++ b/keyboards/catch22/catch22.c | |||
@@ -0,0 +1,18 @@ | |||
1 | /* | ||
2 | Copyright 2018 QMK Community | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | |||
18 | #include "catch22.h" | ||
diff --git a/keyboards/catch22/catch22.h b/keyboards/catch22/catch22.h new file mode 100644 index 000000000..6eefb9cd5 --- /dev/null +++ b/keyboards/catch22/catch22.h | |||
@@ -0,0 +1,33 @@ | |||
1 | /* | ||
2 | Copyright 2018 QMK Community | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | #pragma once | ||
18 | |||
19 | #include "quantum.h" | ||
20 | |||
21 | #define LAYOUT( \ | ||
22 | K01, K02, K03, K04, \ | ||
23 | K11, K12, K13, K14, \ | ||
24 | K20, K21, K22, K23, K24, \ | ||
25 | K30, K31, K32, K33, K34, \ | ||
26 | K41, K42, K43, K44 \ | ||
27 | ) { \ | ||
28 | { KC_NO, K01, K02, K03, K04 }, \ | ||
29 | { KC_NO, K11, K12, K13, K14 }, \ | ||
30 | { K20, K21, K22, K23, K24 }, \ | ||
31 | { K30, K31, K32, K33, K34 }, \ | ||
32 | { KC_NO, K41, K42, K43, K44 }, \ | ||
33 | } | ||
diff --git a/keyboards/catch22/config.h b/keyboards/catch22/config.h new file mode 100644 index 000000000..5a3154dc4 --- /dev/null +++ b/keyboards/catch22/config.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* | ||
2 | Copyright 2018 QMK Contributors | ||
3 | |||
4 | This program is free software: you can redistribute it and/or modify | ||
5 | it under the terms of the GNU General Public License as published by | ||
6 | the Free Software Foundation, either version 2 of the License, or | ||
7 | (at your option) any later version. | ||
8 | |||
9 | This program is distributed in the hope that it will be useful, | ||
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
12 | GNU General Public License for more details. | ||
13 | |||
14 | You should have received a copy of the GNU General Public License | ||
15 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
16 | */ | ||
17 | #pragma once | ||
18 | |||
19 | #include "config_common.h" | ||
20 | |||
21 | /* USB Device descriptor parameter */ | ||
22 | #define VENDOR_ID 0xFEED | ||
23 | #define PRODUCT_ID 0xCA22 | ||
24 | #define DEVICE_VER 0x0001 | ||
25 | #define MANUFACTURER rockydbull | ||
26 | #define PRODUCT Catch22 Hotswap Macropad | ||
27 | |||
28 | /* key matrix size */ | ||
29 | #define MATRIX_ROWS 5 | ||
30 | #define MATRIX_COLS 5 | ||
31 | |||
32 | /* key matrix pins */ | ||
33 | #define MATRIX_ROW_PINS { B6, B2, B3, B1, F7 } | ||
34 | #define MATRIX_COL_PINS { B5, B4, E6, D7, C6 } | ||
35 | #define UNUSED_PINS { } | ||
36 | |||
37 | /* COL2ROW or ROW2COL */ | ||
38 | #define DIODE_DIRECTION COL2ROW | ||
39 | |||
40 | /* Set 0 if debouncing isn't needed */ | ||
41 | // #define DEBOUNCE 0 | ||
42 | |||
43 | /* key combination for command */ | ||
44 | #define IS_COMMAND() ( \ | ||
45 | false \ | ||
46 | ) | ||
47 | |||
48 | #ifdef RGBLIGHT_ENABLE | ||
49 | #define RGB_DI_PIN F6 | ||
50 | #define RGBLIGHT_ANIMATIONS | ||
51 | #define RGBLED_NUM 6 | ||
52 | #endif | ||
diff --git a/keyboards/catch22/info.json b/keyboards/catch22/info.json new file mode 100644 index 000000000..94e212853 --- /dev/null +++ b/keyboards/catch22/info.json | |||
@@ -0,0 +1,8 @@ | |||
1 | { | ||
2 | "keyboard_name": "catch22", | ||
3 | "layouts": { | ||
4 | "LAYOUT": { | ||
5 | "layout": [{"label":"A", "x":1, "y":0}, {"label":"B", "x":2, "y":0}, {"label":"C", "x":3, "y":0}, {"label":"D", "x":4, "y":0}, {"label":"E", "x":1, "y":1}, {"label":"F", "x":2, "y":1}, {"label":"G", "x":3, "y":1}, {"label":"H", "x":4, "y":1}, {"label":"I", "x":0, "y":2}, {"label":"J", "x":1, "y":2}, {"label":"K", "x":2, "y":2}, {"label":"L", "x":3, "y":2}, {"label":"M", "x":4, "y":2}, {"label":"1", "x":0, "y":3, "h":2}, {"label":"N", "x":1, "y":3}, {"label":"O", "x":2, "y":3}, {"label":"P", "x":3, "y":3}, {"label":"Q", "x":4, "y":3}, {"label":"R", "x":1, "y":4}, {"label":"S", "x":2, "y":4}, {"label":"T", "x":3, "y":4}, {"label":"U", "x":4, "y":4}] | ||
6 | } | ||
7 | } | ||
8 | } | ||
diff --git a/keyboards/catch22/keymaps/default/keymap.c b/keyboards/catch22/keymaps/default/keymap.c new file mode 100644 index 000000000..9985ef583 --- /dev/null +++ b/keyboards/catch22/keymaps/default/keymap.c | |||
@@ -0,0 +1,21 @@ | |||
1 | #include QMK_KEYBOARD_H | ||
2 | |||
3 | #define _BASE 0 | ||
4 | #define _FN 1 | ||
5 | |||
6 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
7 | [_BASE] = LAYOUT( /* Base */ | ||
8 | KC_NLCK, KC_PSLS, KC_PAST, KC_BSPC, | ||
9 | KC_P7, KC_P8, KC_P9, KC_PEQL, | ||
10 | MO(_FN), KC_P4, KC_P5, KC_P6, KC_PPLS, | ||
11 | KC_PENT, KC_P1, KC_P2, KC_P3, KC_PMNS, | ||
12 | KC_SPC, KC_P0, KC_PDOT, KC_TAB | ||
13 | ), | ||
14 | [_FN] = LAYOUT( | ||
15 | RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUI, | ||
16 | _______, _______, _______, _______, | ||
17 | _______, _______, _______, _______, _______, | ||
18 | KC_2, _______, _______, _______, _______, | ||
19 | _______, _______, _______, _______ | ||
20 | ), | ||
21 | }; | ||
diff --git a/keyboards/catch22/readme.md b/keyboards/catch22/readme.md new file mode 100644 index 000000000..8d4a22398 --- /dev/null +++ b/keyboards/catch22/readme.md | |||
@@ -0,0 +1,17 @@ | |||
1 | # Catch 22 Budget Hotswap Macropad | ||
2 | |||
3 | GB by /u/rockydbull run in July 2018, PCB designed with help from /u/Kilgarah. | ||
4 | |||
5 | Designed to be a budget project board to enjoy hotswapping/switch testing/macro making fun. The board is controlled by a pro micro clone made famous by other projects like the lets split, iris, and nyquist and allows for full QMK implementation. Each Catch22 kit will contain: | ||
6 | |||
7 | * 2 pcbs (one to solder to and one to be a base)(green color) | ||
8 | * 1 pcb material switch plate( green color) with cut out for pcb mount cherry stabilizers | ||
9 | * 40 throughhole diodes (22 for the pcb and the remaining as extras in case you lose one and to use to make the pro micro removeable without desoldering) | ||
10 | * 22 Kailh hotswap sockets | ||
11 | * 1 smd reset button | ||
12 | * 1 dip socket to mount between the pcb and pro micro if you choose to make it removeable without desoldering | ||
13 | * 5 (12mm) m2 standoffs | ||
14 | * 10 m2 screws | ||
15 | * Genuine Cherry pcb mount 2u stabilizer | ||
16 | * 4 rubber bumpons | ||
17 | * Pro Micro is included in kit | ||
diff --git a/keyboards/catch22/rules.mk b/keyboards/catch22/rules.mk new file mode 100644 index 000000000..b5f690c80 --- /dev/null +++ b/keyboards/catch22/rules.mk | |||
@@ -0,0 +1,18 @@ | |||
1 | # MCU name | ||
2 | MCU = atmega32u4 | ||
3 | |||
4 | # Bootloader selection | ||
5 | BOOTLOADER = caterina | ||
6 | |||
7 | # Build Options | ||
8 | # change yes to no to disable | ||
9 | # | ||
10 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite | ||
11 | MOUSEKEY_ENABLE = no # Mouse keys | ||
12 | EXTRAKEY_ENABLE = no # Audio control and System control | ||
13 | CONSOLE_ENABLE = yes # Console for debug | ||
14 | COMMAND_ENABLE = yes # Commands for debug and configuration | ||
15 | NKRO_ENABLE = no # Enable N-Key Rollover | ||
16 | BACKLIGHT_ENABLE = no # Custom backlighting code is used, so this should not be enabled | ||
17 | AUDIO_ENABLE = no # This can be enabled if a speaker is connected to the expansion port. Not compatible with RGBLIGHT below | ||
18 | RGBLIGHT_ENABLE = yes # This can be enabled if a ws2812 strip is connected to the expansion port. | ||