aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsato-takashi <t@kashi.company>2021-08-12 23:43:01 +0900
committerGitHub <noreply@github.com>2021-08-12 07:43:01 -0700
commit1e9d91d4ef5db1a4497767b165303e39069459cb (patch)
tree804eb3b7d00a2e12bcda700aaad031a6db32818b
parentb61613ccb4429af99a8d91ef41f86173409553ee (diff)
downloadqmk_firmware-1e9d91d4ef5db1a4497767b165303e39069459cb.tar.gz
qmk_firmware-1e9d91d4ef5db1a4497767b165303e39069459cb.zip
[Keyboard] Add EndZone34 (#13847)
Co-authored-by: Drashna Jaelre <drashna@live.com>
-rw-r--r--keyboards/takashicompany/endzone34/config.h151
-rw-r--r--keyboards/takashicompany/endzone34/endzone34.c17
-rw-r--r--keyboards/takashicompany/endzone34/endzone34.h39
-rw-r--r--keyboards/takashicompany/endzone34/info.json183
-rw-r--r--keyboards/takashicompany/endzone34/keymaps/default/keymap.c112
-rw-r--r--keyboards/takashicompany/endzone34/keymaps/via/keymap.c43
-rw-r--r--keyboards/takashicompany/endzone34/keymaps/via/rules.mk1
-rw-r--r--keyboards/takashicompany/endzone34/readme.md20
-rw-r--r--keyboards/takashicompany/endzone34/rules.mk23
9 files changed, 589 insertions, 0 deletions
diff --git a/keyboards/takashicompany/endzone34/config.h b/keyboards/takashicompany/endzone34/config.h
new file mode 100644
index 000000000..ff6697623
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/config.h
@@ -0,0 +1,151 @@
1/*
2Copyright 2021 takashicompany
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/* USB Device descriptor parameter */
23#define VENDOR_ID 0x7463 // tc = takashicompany
24#define PRODUCT_ID 0x0006
25#define DEVICE_VER 0x0001
26#define MANUFACTURER takashicompany
27#define PRODUCT EndZone34
28
29/* key matrix size */
30#define MATRIX_ROWS 4
31#define MATRIX_COLS 10
32
33/*
34 * Keyboard Matrix Assignments
35 *
36 * Change this to how you wired your keyboard
37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
42 */
43#define MATRIX_ROW_PINS { B3, B2, B6, B5 }
44#define MATRIX_COL_PINS { F4, F5, F6, F7, B1, D4, C6, D7, E6, B4 }
45#define UNUSED_PINS
46
47/* COL2ROW, ROW2COL */
48#define DIODE_DIRECTION COL2ROW
49
50/*
51 * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN.
52 */
53#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
54
55//#define LED_NUM_LOCK_PIN B0
56//#define LED_CAPS_LOCK_PIN B1
57//#define LED_SCROLL_LOCK_PIN B2
58//#define LED_COMPOSE_PIN B3
59//#define LED_KANA_PIN B4
60
61//#define BACKLIGHT_PIN B7
62//#define BACKLIGHT_LEVELS 3
63//#define BACKLIGHT_BREATHING
64
65#define RGB_DI_PIN D3
66#ifdef RGB_DI_PIN
67 #define RGBLED_NUM 9
68 #define RGBLIGHT_HUE_STEP 8
69 #define RGBLIGHT_SAT_STEP 8
70 #define RGBLIGHT_VAL_STEP 8
71 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
72 #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
73/*== all animations enable ==*/
74#define RGBLIGHT_EFFECT_BREATHING
75#define RGBLIGHT_EFFECT_RAINBOW_MOOD
76#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
77#define RGBLIGHT_EFFECT_SNAKE
78#define RGBLIGHT_EFFECT_KNIGHT
79#define RGBLIGHT_EFFECT_CHRISTMAS
80#define RGBLIGHT_EFFECT_STATIC_GRADIENT
81#define RGBLIGHT_EFFECT_RGB_TEST
82#define RGBLIGHT_EFFECT_ALTERNATING
83#define RGBLIGHT_EFFECT_TWINKLE
84/*== customize breathing effect ==*/
85/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
86//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
87/*==== use exp() and sin() ====*/
88//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
89//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
90#endif
91
92/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
93#define DEBOUNCE 5
94
95/* define if matrix has ghost (lacks anti-ghosting diodes) */
96//#define MATRIX_HAS_GHOST
97
98/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
99#define LOCKING_SUPPORT_ENABLE
100/* Locking resynchronize hack */
101#define LOCKING_RESYNC_ENABLE
102
103/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
104 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
105 */
106//#define GRAVE_ESC_CTRL_OVERRIDE
107
108/*
109 * Force NKRO
110 *
111 * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved
112 * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the
113 * makefile for this to work.)
114 *
115 * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N)
116 * until the next keyboard reset.
117 *
118 * NKRO may prevent your keystrokes from being detected in the BIOS, but it is
119 * fully operational during normal computer usage.
120 *
121 * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N)
122 * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by
123 * bootmagic, NKRO mode will always be enabled until it is toggled again during a
124 * power-up.
125 *
126 */
127//#define FORCE_NKRO
128
129/*
130 * Feature disable options
131 * These options are also useful to firmware size reduction.
132 */
133
134/* disable debug print */
135//#define NO_DEBUG
136
137/* disable print */
138//#define NO_PRINT
139
140/* disable action features */
141//#define NO_ACTION_LAYER
142//#define NO_ACTION_TAPPING
143//#define NO_ACTION_ONESHOT
144
145/* disable these deprecated features by default */
146#define NO_ACTION_MACRO
147#define NO_ACTION_FUNCTION
148
149/* Bootmagic Lite key configuration */
150//#define BOOTMAGIC_LITE_ROW 0
151//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/takashicompany/endzone34/endzone34.c b/keyboards/takashicompany/endzone34/endzone34.c
new file mode 100644
index 000000000..5b3149054
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/endzone34.c
@@ -0,0 +1,17 @@
1/* Copyright 2021 takashicompany
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 "endzone34.h"
diff --git a/keyboards/takashicompany/endzone34/endzone34.h b/keyboards/takashicompany/endzone34/endzone34.h
new file mode 100644
index 000000000..f3e5c88b6
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/endzone34.h
@@ -0,0 +1,39 @@
1/* Copyright 2021 takashicompany
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/* This is a shortcut to help you visually see your layout.
22 *
23 * The first section contains all of the arguments representing the physical
24 * layout of the board and position of the keys.
25 *
26 * The second converts the arguments into a two-dimensional array which
27 * represents the switch matrix.
28 */
29#define LAYOUT( \
30 k01, k02, k03, k04, k05, k06, k07, k08, k09, k10, \
31 k11, k12, k13, k14, k15, k16, k17, k18, k19, k20, \
32 k21, k22, k23, k24, k25, k26, k27, k28, k29, k30, \
33 k31, k32, k33, k34 \
34) { \
35 { k01, k02, k03, k04, k05, k06, k07, k08, k09, k10 }, \
36 { k11, k12, k13, k14, k15, k16, k17, k18, k19, k20 }, \
37 { k21, k22, k23, k24, k25, k26, k27, k28, k29, k30 }, \
38 { KC_NO, KC_NO, KC_NO, k31, k32, k33, k34, KC_NO, KC_NO, KC_NO } \
39}
diff --git a/keyboards/takashicompany/endzone34/info.json b/keyboards/takashicompany/endzone34/info.json
new file mode 100644
index 000000000..41fcc1331
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/info.json
@@ -0,0 +1,183 @@
1{
2 "keyboard_name": "EndZone34",
3 "url": "https://github.com/takashicompany/endzone34",
4 "maintainer": "takashicompany",
5 "width": 12,
6 "height": 4,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [
10 {
11 "label": "W",
12 "x": 1,
13 "y": 0
14 },
15 {
16 "label": "E",
17 "x": 2,
18 "y": 0
19 },
20 {
21 "label": "R",
22 "x": 3,
23 "y": 0
24 },
25 {
26 "label": "T",
27 "x": 4,
28 "y": 0
29 },
30 {
31 "label": "Y",
32 "x": 7,
33 "y": 0
34 },
35 {
36 "label": "U",
37 "x": 8,
38 "y": 0
39 },
40 {
41 "label": "I",
42 "x": 9,
43 "y": 0
44 },
45 {
46 "label": "O",
47 "x": 10,
48 "y": 0
49 },
50 {
51 "label": "Q",
52 "x": 0,
53 "y": 0.5
54 },
55 {
56 "label": "P",
57 "x": 11,
58 "y": 0.5
59 },
60 {
61 "label": "S",
62 "x": 1,
63 "y": 1
64 },
65 {
66 "label": "D",
67 "x": 2,
68 "y": 1
69 },
70 {
71 "label": "F",
72 "x": 3,
73 "y": 1
74 },
75 {
76 "label": "G",
77 "x": 4,
78 "y": 1
79 },
80 {
81 "label": "H",
82 "x": 7,
83 "y": 1
84 },
85 {
86 "label": "J",
87 "x": 8,
88 "y": 1
89 },
90 {
91 "label": "K",
92 "x": 9,
93 "y": 1
94 },
95 {
96 "label": "L",
97 "x": 10,
98 "y": 1
99 },
100 {
101 "label": "A",
102 "x": 0,
103 "y": 1.5
104 },
105 {
106 "label": "Enter",
107 "x": 11,
108 "y": 1.5
109 },
110 {
111 "label": "X",
112 "x": 1,
113 "y": 2
114 },
115 {
116 "label": "C",
117 "x": 2,
118 "y": 2
119 },
120 {
121 "label": "V",
122 "x": 3,
123 "y": 2
124 },
125 {
126 "label": "B",
127 "x": 4,
128 "y": 2
129 },
130 {
131 "label": "N",
132 "x": 7,
133 "y": 2
134 },
135 {
136 "label": "M",
137 "x": 8,
138 "y": 2
139 },
140 {
141 "label": ",",
142 "x": 9,
143 "y": 2
144 },
145 {
146 "label": ".",
147 "x": 10,
148 "y": 2
149 },
150 {
151 "label": "Z",
152 "x": 0,
153 "y": 2.5
154 },
155 {
156 "label": "Back Space",
157 "x": 11,
158 "y": 2.5
159 },
160 {
161 "label": "&dArr;",
162 "x": 4,
163 "y": 3
164 },
165 {
166 "label": "Tab",
167 "x": 5,
168 "y": 3
169 },
170 {
171 "label": "Space",
172 "x": 6,
173 "y": 3
174 },
175 {
176 "label": "&uArr;",
177 "x": 7,
178 "y": 3
179 }
180 ]
181 }
182 }
183} \ No newline at end of file
diff --git a/keyboards/takashicompany/endzone34/keymaps/default/keymap.c b/keyboards/takashicompany/endzone34/keymaps/default/keymap.c
new file mode 100644
index 000000000..7317ab477
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/keymaps/default/keymap.c
@@ -0,0 +1,112 @@
1/* Copyright 2021 takashicompany
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
20 LAYOUT(
21 LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
22 KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT,
23 SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC,
24 ALT_T(KC_LANG2), SFT_T(KC_TAB), KC_SPC, LT(1, KC_LANG1)),
25
26 LAYOUT(
27 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
28 CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN,
29 KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
31
32 LAYOUT(
33 KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
34 KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
35 KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_TRNS, KC_LANG1, KC_NO, MO(3), KC_DEL,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
37
38 LAYOUT(
39 RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
40 RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
41 RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
43};
44
45oled_rotation_t oled_init_user(oled_rotation_t rotation) {
46 return OLED_ROTATION_270;
47}
48
49//Variable that stores the number of times the key was pressed
50static uint16_t press_count = 0;
51
52bool process_record_user(uint16_t keycode, keyrecord_t *record) {
53
54 // Increment the counter when a key is pressed
55 if (record->event.pressed) {
56 press_count++;
57 }
58
59 return true;
60}
61
62#ifdef OLED_DRIVER_ENABLE
63
64static void render_logo(void) {
65
66 static const char PROGMEM my_logo[] = {
67 0x00, 0x00, 0x00, 0xff, 0x01, 0x01, 0x39, 0x29, 0x29, 0x29, 0x29, 0x29, 0xe9, 0x0f, 0x00, 0x00,
68 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xf8, 0x08, 0xf8, 0x00, 0x00, 0x00, 0x00,
69 0x80, 0x80, 0x80, 0xbf, 0xa0, 0xa0, 0xa7, 0xa5, 0xa5, 0xa5, 0xa5, 0x25, 0x25, 0x3c, 0x00, 0x1f,
70 0x20, 0x3e, 0x02, 0x3e, 0x20, 0x1f, 0x20, 0x2e, 0x2a, 0x2e, 0x20, 0x1f, 0x00, 0x00, 0x00, 0x00,
71 0x87, 0x44, 0x24, 0x14, 0x0c, 0x00, 0xc0, 0xa0, 0x90, 0x88, 0x87, 0x00, 0xe0, 0x10, 0xd0, 0x50,
72 0xd0, 0x10, 0xe0, 0x10, 0xd0, 0x50, 0xd0, 0x10, 0xe0, 0x10, 0xd0, 0x50, 0x50, 0x10, 0xf0, 0x00,
73 0x07, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x07, 0x00, 0x03, 0x04, 0x05, 0x05,
74 0x05, 0x04, 0x03, 0x04, 0x07, 0x00, 0x07, 0x04, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x07, 0x00
75 };
76
77 oled_write_raw_P(my_logo, sizeof(my_logo));
78}
79
80void oled_task_user(void) {
81
82 render_logo();
83
84 oled_set_cursor(0, 5);
85
86 oled_write_ln_P(PSTR("Layer"), false);
87 uint8_t n = get_highest_layer(layer_state);
88 char layer_str[4];
89 layer_str[3] = '\0';
90 layer_str[2] = '0' + n % 10;
91 layer_str[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' ';
92 layer_str[0] = n / 10 ? '0' + n / 10 : ' ';
93
94 oled_write_ln(layer_str, false);
95
96 oled_write_ln_P(PSTR(" "), false);
97 oled_write_ln_P(PSTR(" "), false);
98
99 oled_write_ln_P(PSTR("Count"), false);
100 uint16_t m = press_count;
101 char count_str[6];
102 count_str[5] = '\0';
103 count_str[4] = '0' + m % 10;
104 count_str[3] = (m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' ';
105 count_str[2] = (m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' ';
106 count_str[1] = (m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' ';
107 count_str[0] = m / 10 ? '0' + m / 10 : ' ';
108
109 oled_write_ln(count_str, false);
110
111}
112#endif
diff --git a/keyboards/takashicompany/endzone34/keymaps/via/keymap.c b/keyboards/takashicompany/endzone34/keymaps/via/keymap.c
new file mode 100644
index 000000000..5dbc4e13c
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
1/* Copyright 2021 takashicompany
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
20 LAYOUT(
21 LT(2, KC_Q), KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
22 KC_A, KC_S, LT(2, KC_D), KC_F, KC_G, KC_H, KC_J, LT(2, KC_K), KC_L, KC_ENT,
23 SFT_T(KC_Z), GUI_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, CTL_T(KC_DOT), KC_BSPC,
24 ALT_T(KC_LANG2), SFT_T(KC_TAB), KC_SPC, LT(1, KC_LANG1)),
25
26 LAYOUT(
27 KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
28 CTL_T(KC_EQL), KC_LBRC, KC_SLSH, KC_MINS, KC_RO, KC_SCLN, KC_QUOT, KC_RBRC, KC_NUHS, KC_JYEN,
29 KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_LSFT, KC_SPC, KC_LANG1, KC_TRNS, KC_TRNS, KC_DEL,
30 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
31
32 LAYOUT(
33 KC_ESC, KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_UP, KC_NO, KC_NO,
34 KC_LCTL, KC_TRNS, KC_QUES, KC_EXLM, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO,
35 KC_LSFT, KC_LGUI, KC_LALT, KC_LANG2, KC_TRNS, KC_TRNS, KC_LANG1, KC_NO, MO(3), KC_DEL,
36 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
37
38 LAYOUT(
39 RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
40 RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, RGB_M_SN, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
41 RGB_M_K, RGB_M_X, RGB_M_G, RGB_M_T, RGB_M_T, KC_F11, KC_F12, KC_CAPS, KC_NO, KC_NO,
42 KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
43};
diff --git a/keyboards/takashicompany/endzone34/keymaps/via/rules.mk b/keyboards/takashicompany/endzone34/keymaps/via/rules.mk
new file mode 100644
index 000000000..036bd6d1c
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/keymaps/via/rules.mk
@@ -0,0 +1 @@
VIA_ENABLE = yes \ No newline at end of file
diff --git a/keyboards/takashicompany/endzone34/readme.md b/keyboards/takashicompany/endzone34/readme.md
new file mode 100644
index 000000000..c4844f7f6
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/readme.md
@@ -0,0 +1,20 @@
1# EndZone34
2
3![endzone34](https://github.com/takashicompany/endzone34/blob/master/images/main_qmk.jpg?raw=true)
4
5A simple yet fun to use 30% keyboard.
6Also supports MX sockets and OLED.
7
8* Keyboard Maintainer: [takashicompany](https://github.com/takashicompany)
9* Hardware Supported: EndZone34 PCB, Pro Micro
10* Hardware Availability: https://github.com/takashicompany/endzone34
11
12Make example for this keyboard (after setting up your build environment):
13
14 make takashicompany/endzone34:default
15
16Flashing example for this keyboard:
17
18 make takashicompany/endzone34:default:flash
19
20See 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/takashicompany/endzone34/rules.mk b/keyboards/takashicompany/endzone34/rules.mk
new file mode 100644
index 000000000..9a4130536
--- /dev/null
+++ b/keyboards/takashicompany/endzone34/rules.mk
@@ -0,0 +1,23 @@
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 = no # USB Nkey Rollover
19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
20RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
21BLUETOOTH_ENABLE = no # Enable Bluetooth
22AUDIO_ENABLE = no # Audio output
23OLED_DRIVER_ENABLE = yes