aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortominabox1 <tom.campie@gmail.com>2020-08-25 14:47:16 -0500
committerGitHub <noreply@github.com>2020-08-25 12:47:16 -0700
commiteb84f134c18d51c8e88e69b2ddf7d2bad86530be (patch)
tree01fae0da117221c9d3828fac9d1847f461e51b0e
parentb3987d7b3a5627e8ae28d9c6eec687eb0ee76c2b (diff)
downloadqmk_firmware-eb84f134c18d51c8e88e69b2ddf7d2bad86530be.tar.gz
qmk_firmware-eb84f134c18d51c8e88e69b2ddf7d2bad86530be.zip
[Keyboard] _33 v2 (#9899)
* Initial prep for PR * Fixing jsons for revs * Remove old keymap ref in readme * Add Rev1 default layout * Fix extra comma in default r1 keymap * Changed default keymap for r1 to match new split bottom row macro name, updated via keymap readme, updated r1 json to match layout macro name, updated split space macro for r1 * Moved combo configs to default keymaps, removed unused bootloader selections * Update keyboards/underscore33/rev1/rules.mk * Update keyboards/underscore33/rev2/rules.mk * Refactor _33 folder structure * Add VIA keymap to rev1 * Rename macros and product_id as suggested
-rw-r--r--keyboards/underscore33/keymaps/default/readme.md5
-rw-r--r--keyboards/underscore33/readme.md10
-rw-r--r--keyboards/underscore33/rev1/config.h (renamed from keyboards/underscore33/config.h)19
-rw-r--r--keyboards/underscore33/rev1/info.json16
-rw-r--r--keyboards/underscore33/rev1/keymaps/default/config.h5
-rw-r--r--keyboards/underscore33/rev1/keymaps/default/keymap.c86
-rw-r--r--keyboards/underscore33/rev1/keymaps/default/readme.md3
-rw-r--r--keyboards/underscore33/rev1/keymaps/default/rules.mk1
-rw-r--r--keyboards/underscore33/rev1/keymaps/via/keymap.c46
-rw-r--r--keyboards/underscore33/rev1/keymaps/via/readme.md1
-rw-r--r--keyboards/underscore33/rev1/keymaps/via/rules.mk1
-rw-r--r--keyboards/underscore33/rev1/rev1.c16
-rw-r--r--keyboards/underscore33/rev1/rev1.h (renamed from keyboards/underscore33/underscore33.h)15
-rw-r--r--keyboards/underscore33/rev1/rules.mk22
-rw-r--r--keyboards/underscore33/rev2/config.h62
-rw-r--r--keyboards/underscore33/rev2/info.json (renamed from keyboards/underscore33/info.json)2
-rw-r--r--keyboards/underscore33/rev2/keymaps/default/config.h5
-rw-r--r--keyboards/underscore33/rev2/keymaps/default/keymap.c (renamed from keyboards/underscore33/keymaps/default/keymap.c)48
-rw-r--r--keyboards/underscore33/rev2/keymaps/default/readme.md3
-rw-r--r--keyboards/underscore33/rev2/keymaps/default/rules.mk1
-rw-r--r--keyboards/underscore33/rev2/keymaps/via/keymap.c46
-rw-r--r--keyboards/underscore33/rev2/keymaps/via/readme.md1
-rw-r--r--keyboards/underscore33/rev2/keymaps/via/rules.mk2
-rw-r--r--keyboards/underscore33/rev2/rev2.c16
-rw-r--r--keyboards/underscore33/rev2/rev2.h46
-rw-r--r--keyboards/underscore33/rev2/rules.mk23
-rw-r--r--keyboards/underscore33/rules.mk26
-rw-r--r--keyboards/underscore33/underscore33.c1
28 files changed, 488 insertions, 40 deletions
diff --git a/keyboards/underscore33/keymaps/default/readme.md b/keyboards/underscore33/keymaps/default/readme.md
deleted file mode 100644
index 7ef72915e..000000000
--- a/keyboards/underscore33/keymaps/default/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
1![_33 layout Image](https://i.imgur.com/1vxmk0F.png)
2
3# Default _33 Layout
4
5This is the recommended default layout. It is not a fully functional layout without backspace, tab, esc and so on. It is recommended to use combos to access the additional modifiers when using the large spacebar layout option, however combos are not enabled in the default firmware.
diff --git a/keyboards/underscore33/readme.md b/keyboards/underscore33/readme.md
index 153329d84..7cc2f9f41 100644
--- a/keyboards/underscore33/readme.md
+++ b/keyboards/underscore33/readme.md
@@ -2,14 +2,18 @@
2 2
3![_33](https://i.imgur.com/0Wuf8aT.png) 3![_33](https://i.imgur.com/0Wuf8aT.png)
4 4
5A little bitty 30% (10x4) ortholinear keyboard designed by tominabox1. The board supports an RGB LED strip with DI on port B6. There is an error on the initial 25 PCBs that incorrectly indicates PF0 for the RGB. The appropriate port is commented out in config.h for proper LED support. 5A little bitty 30% (10x4) ortholinear keyboard designed by tominabox1. The R1 version of the board supports an RGB LED strip with DI on port B6. There is an error on the initial 25 PCBs that incorrectly indicates PF0 for the RGB. The R2 version is correctly labeled for RGB on D6. The appropriate port is commented out in config.h for proper LED support.
6 6
7* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1) 7* Keyboard Maintainer: [TJ Campie](https://github.com/tominabox1)
8* Hardware Supported: _33 PCB and Plate limited buy (Open source available ca. Apirl 2020) 8* Hardware Supported: [_33 r1 and r2 PCBs](https://github.com/tominabox1/_33-Keyboard)
9* Hardware Availability: [3D printed open sourced](https://github.com/tominabox1/_33-Keyboard) 9* Hardware Availability: [3D printed open sourced](https://github.com/tominabox1/_33-Keyboard)
10 10
11Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
12 12
13 make underscore33:default 13 make underscore33/rev2:default
14
15Flashing example for this keyboard:
16
17 make underscore33/rev2:default:flash
14 18
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). 19See 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/underscore33/config.h b/keyboards/underscore33/rev1/config.h
index 5733f30d0..8bdb802bd 100644
--- a/keyboards/underscore33/config.h
+++ b/keyboards/underscore33/rev1/config.h
@@ -1,10 +1,25 @@
1/* Copyright 2020 tominabox1
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 */
1#pragma once 16#pragma once
2 17
3#include "config_common.h" 18#include "config_common.h"
4 19
5/* USB Device descriptor parameter */ 20/* USB Device descriptor parameter */
6#define VENDOR_ID 0xFEED 21#define VENDOR_ID 0x7431
7#define PRODUCT_ID 0x6A50 22#define PRODUCT_ID 0x3301 // _33 rev1
8#define DEVICE_VER 0x0001 23#define DEVICE_VER 0x0001
9#define MANUFACTURER tominabox1 24#define MANUFACTURER tominabox1
10#define PRODUCT underscore33 25#define PRODUCT underscore33
diff --git a/keyboards/underscore33/rev1/info.json b/keyboards/underscore33/rev1/info.json
new file mode 100644
index 000000000..9460a6f8c
--- /dev/null
+++ b/keyboards/underscore33/rev1/info.json
@@ -0,0 +1,16 @@
1{
2 "keyboard_name": "underscore33",
3 "url": "",
4 "maintainer": "tominabox1",
5 "width": 10,
6 "height": 4,
7 "layouts": {
8 "LAYOUT_33_big_space": {
9 "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0},{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":";", "x":9, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":5, "y":2}, {"label":"M", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"?", "x":9, "y":2}, {"label":"", "x":0.65, "y":3, "w":1.25}, {"label":"", "x":1.9, "y":3, "w":6.25}, {"label":"", "x":8.15, "y":3, "w":1.25}]
10 },
11
12 "LAYOUT_33_tri_split": {
13 "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0}, {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":";", "x":9, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":5, "y":2}, {"label":"M", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"?", "x":9, "y":2}, {"label":"", "x":0.65, "y":3, "w":1.25}, {"label":"", "x":1.9, "y":3, "w":2.25}, {"label":"", "x":4.15, "y":3, "w":1.75}, {"label":"", "x":5.9, "y":3, "w":2.25}, {"label":"", "x":8.15, "y":3, "w":1.25}]
14 }
15 }
16}
diff --git a/keyboards/underscore33/rev1/keymaps/default/config.h b/keyboards/underscore33/rev1/keymaps/default/config.h
new file mode 100644
index 000000000..5708a439a
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/default/config.h
@@ -0,0 +1,5 @@
1#pragma once
2
3/* Combos */
4#define COMBO_COUNT 5
5#define COMBO_TERM 50
diff --git a/keyboards/underscore33/rev1/keymaps/default/keymap.c b/keyboards/underscore33/rev1/keymaps/default/keymap.c
new file mode 100644
index 000000000..148e840fa
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/default/keymap.c
@@ -0,0 +1,86 @@
1/* Copyright 2020 tominabox1
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#include QMK_KEYBOARD_H
17
18enum layers{
19 _BASE,
20 _NUM_SYM,
21 _NAV
22};
23
24enum custom_keycodes{
25 RGBRST = SAFE_RANGE,
26};
27
28#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC)
29#define KC_NAV_ENT LT(_NAV, KC_ENT)
30#define KC_GA LGUI_T(KC_A)
31#define KC_AS LALT_T(KC_S)
32#define KC_CD LCTL_T(KC_D)
33#define KC_SF LSFT_T(KC_F)
34#define KC_SJ RSFT_T(KC_J)
35#define KC_CK RCTL_T(KC_K)
36#define KC_AL RALT_T(KC_L)
37#define KC_GSCLN RGUI_T(KC_SCLN)
38
39enum combo_events {
40 COMBO_BSPC,
41 COMBO_NUMBAK,
42 COMBO_TAB,
43 COMBO_ESC,
44 COMBO_DEL,
45};
46
47const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
48 [_BASE] = LAYOUT_33_split_space(
49 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
50 KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_GSCLN,
51 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
52 KC_LCTL, KC_NAV_ENT, KC_RGUI, KC_NUM_SPC, KC_RCTL
53 ),
54
55 [_NUM_SYM] = LAYOUT_33_split_space(
56 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
57 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_EQUAL, KC_MINS,
58 KC_BSLS, KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_RPRN, KC_RBRC, KC_RCBR, KC_DOT, KC_GRV,
59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
60 ),
61
62 [_NAV] = LAYOUT_33_split_space(
63 RESET, RGBRST, AG_NORM, AG_SWAP, DEBUG, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN,
64 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,
65 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS,
66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
67 ),
68};
69
70
71#ifdef COMBO_ENABLE
72const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
73const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
74const uint16_t PROGMEM combo_tab[] = {KC_Q, KC_W, COMBO_END};
75const uint16_t PROGMEM combo_esc[] = {KC_E, KC_W, COMBO_END};
76const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
77
78combo_t key_combos[COMBO_COUNT] = {
79 [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC),
80 [COMBO_NUMBAK] = COMBO(combo_numbak,KC_BSPC),
81 [COMBO_TAB] = COMBO(combo_tab,KC_TAB),
82 [COMBO_ESC] = COMBO(combo_esc,KC_ESC),
83 [COMBO_DEL] = COMBO(combo_del,KC_DEL),
84
85};
86#endif
diff --git a/keyboards/underscore33/rev1/keymaps/default/readme.md b/keyboards/underscore33/rev1/keymaps/default/readme.md
new file mode 100644
index 000000000..908b3e04a
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/default/readme.md
@@ -0,0 +1,3 @@
1# Default _33 Rev1 Layout
2
3This is the recommended default layout.
diff --git a/keyboards/underscore33/rev1/keymaps/default/rules.mk b/keyboards/underscore33/rev1/keymaps/default/rules.mk
new file mode 100644
index 000000000..ab1e43818
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/default/rules.mk
@@ -0,0 +1 @@
COMBO_ENABLE = yes
diff --git a/keyboards/underscore33/rev1/keymaps/via/keymap.c b/keyboards/underscore33/rev1/keymaps/via/keymap.c
new file mode 100644
index 000000000..03e209fd1
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2020 tominabox1
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#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_33_split_space(
20 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
21 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
22 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
23 KC_LCTL, KC_LALT, KC_SPACE, KC_RGUI, KC_RALT
24 ),
25
26 [1] = LAYOUT_33_split_space(
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
31 ),
32
33 [2] = LAYOUT_33_split_space(
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
38 ),
39 [3] = LAYOUT_33_split_space(
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 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
44 ),
45
46};
diff --git a/keyboards/underscore33/rev1/keymaps/via/readme.md b/keyboards/underscore33/rev1/keymaps/via/readme.md
new file mode 100644
index 000000000..a63a8342e
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/via/readme.md
@@ -0,0 +1 @@
# VIA _33 Rev1 Layout
diff --git a/keyboards/underscore33/rev1/keymaps/via/rules.mk b/keyboards/underscore33/rev1/keymaps/via/rules.mk
new file mode 100644
index 000000000..1e5b99807
--- /dev/null
+++ b/keyboards/underscore33/rev1/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes
diff --git a/keyboards/underscore33/rev1/rev1.c b/keyboards/underscore33/rev1/rev1.c
new file mode 100644
index 000000000..4f763dbb4
--- /dev/null
+++ b/keyboards/underscore33/rev1/rev1.c
@@ -0,0 +1,16 @@
1/* Copyright 2020 tominabox1
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#include "rev1.h"
diff --git a/keyboards/underscore33/underscore33.h b/keyboards/underscore33/rev1/rev1.h
index 5c774cfa8..12cc7d9fd 100644
--- a/keyboards/underscore33/underscore33.h
+++ b/keyboards/underscore33/rev1/rev1.h
@@ -1,3 +1,18 @@
1/* Copyright 2020 tominabox1
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 */
1#pragma once 16#pragma once
2 17
3#include "quantum.h" 18#include "quantum.h"
diff --git a/keyboards/underscore33/rev1/rules.mk b/keyboards/underscore33/rev1/rules.mk
new file mode 100644
index 000000000..32981133b
--- /dev/null
+++ b/keyboards/underscore33/rev1/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 = lite # Virtual DIP switch configuration
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
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
diff --git a/keyboards/underscore33/rev2/config.h b/keyboards/underscore33/rev2/config.h
new file mode 100644
index 000000000..0e965de23
--- /dev/null
+++ b/keyboards/underscore33/rev2/config.h
@@ -0,0 +1,62 @@
1/* Copyright 2020 tominabox1
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#pragma once
17
18#include "config_common.h"
19
20/* USB Device descriptor parameter */
21#define VENDOR_ID 0x7431
22#define PRODUCT_ID 0x3302 // _33 rev2
23#define DEVICE_VER 0x0002
24#define MANUFACTURER tominabox1
25#define PRODUCT underscore33
26
27/* key matrix size */
28#define MATRIX_ROWS 4
29#define MATRIX_COLS 10
30
31/*
32 * Keyboard Matrix Assignments
33 *
34 * Change this to how you wired your keyboard
35 * COLS: AVR pins used for columns, left to right
36 * ROWS: AVR pins used for rows, top to bottom
37 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
38 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
39 *
40 */
41
42#define MATRIX_ROW_PINS { C4, B0, B1, B2 }
43#define MATRIX_COL_PINS { C5, C6, C7, B7, B6, B5, B4, B3, C2, D0 }
44#define UNUSED_PINS
45
46/* COL2ROW, ROW2COL*/
47#define DIODE_DIRECTION ROW2COL
48
49/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
50#define DEBOUNCE 5
51
52/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
53#define LOCKING_SUPPORT_ENABLE
54/* Locking resynchronize hack */
55#define LOCKING_RESYNC_ENABLE
56
57#ifdef RGBLIGHT_ENABLE
58#define RGB_DI_PIN D6
59 #define RGBLED_NUM 12
60 #define RGBLIGHT_ANIMATIONS
61#endif
62
diff --git a/keyboards/underscore33/info.json b/keyboards/underscore33/rev2/info.json
index 4e97a6380..567270ec7 100644
--- a/keyboards/underscore33/info.json
+++ b/keyboards/underscore33/rev2/info.json
@@ -10,7 +10,7 @@
10 }, 10 },
11 11
12 "LAYOUT_33_split_space": { 12 "LAYOUT_33_split_space": {
13 "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0},{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":";", "x":9, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":5, "y":2}, {"label":"M", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"?", "x":9, "y":2}, {"label":"", "x":0.65, "y":3, "w":1.25}, {"label":"", "x":1.9, "y":3, "w":2.25}, {"label":"", "x":4.15, "y":3, "w":1.75}, {"label":"", "x":5.9, "y":3, "w":2.25}, {"label":"", "x":8.15, "y":3, "w":1.25}] 13 "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":5, "y":0}, {"label":"U", "x":6, "y":0}, {"label":"I", "x":7, "y":0}, {"label":"O", "x":8, "y":0}, {"label":"P", "x":9, "y":0},{"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"H", "x":5, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"K", "x":7, "y":1}, {"label":"L", "x":8, "y":1}, {"label":";", "x":9, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":5, "y":2}, {"label":"M", "x":6, "y":2}, {"label":"<", "x":7, "y":2}, {"label":">", "x":8, "y":2}, {"label":"?", "x":9, "y":2}, {"label":"", "x":0.65, "y":3, "w":1}, {"label":"", "x":1.65, "y":3, "w":1.25}, {"label":"", "x":2.9, "y":3, "w":2.25}, {"label":"", "x":5.15, "y":3, "w":2}, {"label":"", "x":7.15, "y":3, "w":1.25}, {"label":"", "x":8.4, "y":3, "w":1}]
14 } 14 }
15 } 15 }
16} 16}
diff --git a/keyboards/underscore33/rev2/keymaps/default/config.h b/keyboards/underscore33/rev2/keymaps/default/config.h
new file mode 100644
index 000000000..5708a439a
--- /dev/null
+++ b/keyboards/underscore33/rev2/keymaps/default/config.h
@@ -0,0 +1,5 @@
1#pragma once
2
3/* Combos */
4#define COMBO_COUNT 5
5#define COMBO_TERM 50
diff --git a/keyboards/underscore33/keymaps/default/keymap.c b/keyboards/underscore33/rev2/keymaps/default/keymap.c
index 8fab8623a..32a6f4863 100644
--- a/keyboards/underscore33/keymaps/default/keymap.c
+++ b/keyboards/underscore33/rev2/keymaps/default/keymap.c
@@ -1,3 +1,18 @@
1/* Copyright 2020 tominabox1
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 */
1#include QMK_KEYBOARD_H 16#include QMK_KEYBOARD_H
2 17
3enum layers{ 18enum layers{
@@ -11,6 +26,7 @@ enum custom_keycodes{
11}; 26};
12 27
13#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC) 28#define KC_NUM_SPC LT(_NUM_SYM, KC_SPC)
29#define KC_NAV_ENT LT(_NAV, KC_ENT)
14#define KC_GA LGUI_T(KC_A) 30#define KC_GA LGUI_T(KC_A)
15#define KC_AS LALT_T(KC_S) 31#define KC_AS LALT_T(KC_S)
16#define KC_CD LCTL_T(KC_D) 32#define KC_CD LCTL_T(KC_D)
@@ -20,25 +36,51 @@ enum custom_keycodes{
20#define KC_AL RALT_T(KC_L) 36#define KC_AL RALT_T(KC_L)
21#define KC_GSCLN RGUI_T(KC_SCLN) 37#define KC_GSCLN RGUI_T(KC_SCLN)
22 38
39enum combo_events {
40 COMBO_BSPC,
41 COMBO_NUMBAK,
42 COMBO_TAB,
43 COMBO_ESC,
44 COMBO_DEL,
45};
46
23const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 47const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
24 [_BASE] = LAYOUT_33_split_space( 48 [_BASE] = LAYOUT_33_split_space(
25 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, 49 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
26 KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_GSCLN, 50 KC_GA, KC_AS, KC_CD, KC_SF, KC_G, KC_H, KC_SJ, KC_CK, KC_AL, KC_GSCLN,
27 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, 51 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
28 KC_LCTL, KC_LALT, KC_NUM_SPC, MO(_NAV), KC_RGUI 52 KC_LCTL, KC_LALT, KC_NAV_ENT, KC_NUM_SPC, KC_RGUI, KC_RCTL
29 ), 53 ),
30 54
31 [_NUM_SYM] = LAYOUT_33_split_space( 55 [_NUM_SYM] = LAYOUT_33_split_space(
32 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, 56 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
33 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_EQUAL, KC_MINS, 57 KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_EQUAL, KC_MINS,
34 KC_BSLS, KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_RPRN, KC_RBRC, KC_RCBR, KC_DOT, KC_GRV, 58 KC_BSLS, KC_LCBR, KC_LBRC, KC_LPRN, KC_UNDS, KC_RPRN, KC_RBRC, KC_RCBR, KC_DOT, KC_GRV,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 59 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
36 ), 60 ),
37 61
38 [_NAV] = LAYOUT_33_split_space( 62 [_NAV] = LAYOUT_33_split_space(
39 RESET, RGBRST, AG_NORM, AG_SWAP, DEBUG, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN, 63 RESET, RGBRST, AG_NORM, AG_SWAP, DEBUG, KC_GRV, KC_PGDN, KC_UP, KC_PGUP, KC_SCLN,
40 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, 64 RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END,
41 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS, 65 RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_NO, KC_MINS, KC_RO, KC_COMM, KC_DOT, KC_BSLS,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS 66 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
43 ), 67 ),
44}; 68};
69
70
71#ifdef COMBO_ENABLE
72const uint16_t PROGMEM combo_bspc[] = {KC_O, KC_P, COMBO_END};
73const uint16_t PROGMEM combo_numbak[] = {KC_0, KC_9, COMBO_END};
74const uint16_t PROGMEM combo_tab[] = {KC_Q, KC_W, COMBO_END};
75const uint16_t PROGMEM combo_esc[] = {KC_E, KC_W, COMBO_END};
76const uint16_t PROGMEM combo_del[] = {KC_MINS, KC_EQL, COMBO_END};
77
78combo_t key_combos[COMBO_COUNT] = {
79 [COMBO_BSPC] = COMBO(combo_bspc,KC_BSPC),
80 [COMBO_NUMBAK] = COMBO(combo_numbak,KC_BSPC),
81 [COMBO_TAB] = COMBO(combo_tab,KC_TAB),
82 [COMBO_ESC] = COMBO(combo_esc,KC_ESC),
83 [COMBO_DEL] = COMBO(combo_del,KC_DEL),
84
85};
86#endif
diff --git a/keyboards/underscore33/rev2/keymaps/default/readme.md b/keyboards/underscore33/rev2/keymaps/default/readme.md
new file mode 100644
index 000000000..fb4859889
--- /dev/null
+++ b/keyboards/underscore33/rev2/keymaps/default/readme.md
@@ -0,0 +1,3 @@
1# Default _33 Rev2 Layout
2
3This is the recommended default layout.
diff --git a/keyboards/underscore33/rev2/keymaps/default/rules.mk b/keyboards/underscore33/rev2/keymaps/default/rules.mk
new file mode 100644
index 000000000..ab1e43818
--- /dev/null
+++ b/keyboards/underscore33/rev2/keymaps/default/rules.mk
@@ -0,0 +1 @@
COMBO_ENABLE = yes
diff --git a/keyboards/underscore33/rev2/keymaps/via/keymap.c b/keyboards/underscore33/rev2/keymaps/via/keymap.c
new file mode 100644
index 000000000..9464b0cdb
--- /dev/null
+++ b/keyboards/underscore33/rev2/keymaps/via/keymap.c
@@ -0,0 +1,46 @@
1/* Copyright 2020 tominabox1
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#include QMK_KEYBOARD_H
17
18const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 [0] = LAYOUT_33_split_space(
20 KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
21 KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
22 KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
23 KC_LCTL, KC_LALT, KC_SPACE, KC_SPACE, KC_RGUI, KC_RALT
24 ),
25
26 [1] = LAYOUT_33_split_space(
27 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0,
28 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
29 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
31 ),
32
33 [2] = LAYOUT_33_split_space(
34 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0,
35 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
37 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
38 ),
39 [3] = LAYOUT_33_split_space(
40 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0,
41 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
42 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
44 ),
45
46};
diff --git a/keyboards/underscore33/rev2/keymaps/via/readme.md b/keyboards/underscore33/rev2/keymaps/via/readme.md
new file mode 100644
index 000000000..7a6d4cf2f
--- /dev/null
+++ b/keyboards/underscore33/rev2/keymaps/via/readme.md
@@ -0,0 +1 @@
# VIA Layout
diff --git a/keyboards/underscore33/rev2/keymaps/via/rules.mk b/keyboards/underscore33/rev2/keymaps/via/rules.mk
new file mode 100644
index 000000000..16d33cd89
--- /dev/null
+++ b/keyboards/underscore33/rev2/keymaps/via/rules.mk
@@ -0,0 +1,2 @@
1VIA_ENABLE = yes
2
diff --git a/keyboards/underscore33/rev2/rev2.c b/keyboards/underscore33/rev2/rev2.c
new file mode 100644
index 000000000..e89b2938f
--- /dev/null
+++ b/keyboards/underscore33/rev2/rev2.c
@@ -0,0 +1,16 @@
1/* Copyright 2020 tominabox1
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#include "rev2.h"
diff --git a/keyboards/underscore33/rev2/rev2.h b/keyboards/underscore33/rev2/rev2.h
new file mode 100644
index 000000000..34e6e6b7a
--- /dev/null
+++ b/keyboards/underscore33/rev2/rev2.h
@@ -0,0 +1,46 @@
1/* Copyright 2020 tominabox1
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#pragma once
17
18#include "quantum.h"
19
20#define XXX KC_NO
21
22#define LAYOUT_33_big_space( \
23 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
24 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
25 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
26 K31, K34, K38 \
27) \
28{ \
29 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
30 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
31 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
32 { XXX, K31, XXX, XXX, K34, XXX, XXX, XXX, K38, XXX } \
33}
34
35#define LAYOUT_33_split_space( \
36 K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, \
37 K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, \
38 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, \
39 K31, K32, K33, K35, K37, K38 \
40) \
41{ \
42 { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09 }, \
43 { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19 }, \
44 { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29 }, \
45 { XXX, K31, K32, K33, XXX, K35, XXX, K37, K38, XXX } \
46}
diff --git a/keyboards/underscore33/rev2/rules.mk b/keyboards/underscore33/rev2/rules.mk
new file mode 100644
index 000000000..d226af58e
--- /dev/null
+++ b/keyboards/underscore33/rev2/rules.mk
@@ -0,0 +1,23 @@
1# MCU name
2MCU = atmega32u2
3
4# Bootloader selection
5BOOTLOADER = atmel-dfu
6
7# Build Options
8# change yes to no to disable
9#
10BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
11MOUSEKEY_ENABLE = no # 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
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23
diff --git a/keyboards/underscore33/rules.mk b/keyboards/underscore33/rules.mk
index a5c12fdad..b86f18e11 100644
--- a/keyboards/underscore33/rules.mk
+++ b/keyboards/underscore33/rules.mk
@@ -1,25 +1 @@
1# MCU name DEFAULT_FOLDER = underscore33/rev1
2MCU = atmega32u4
3
4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = atmel-dfu
13
14BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
15MOUSEKEY_ENABLE = yes # Mouse keys
16EXTRAKEY_ENABLE = yes # Audio control and System control
17CONSOLE_ENABLE = no # Console for debug
18COMMAND_ENABLE = no # Commands for debug and configuration
19# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
20SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
21# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
22NKRO_ENABLE = yes # USB Nkey Rollover
23BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
24RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
25TAP_DANCE_ENABLE = no
diff --git a/keyboards/underscore33/underscore33.c b/keyboards/underscore33/underscore33.c
deleted file mode 100644
index 9d690be9a..000000000
--- a/keyboards/underscore33/underscore33.c
+++ /dev/null
@@ -1 +0,0 @@
1#include "underscore33.h"