aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/splitreus62/config.h77
-rw-r--r--keyboards/splitreus62/info.json12
-rw-r--r--keyboards/splitreus62/keymaps/default/keymap.c50
-rw-r--r--keyboards/splitreus62/readme.md13
-rw-r--r--keyboards/splitreus62/rules.mk35
-rw-r--r--keyboards/splitreus62/splitreus62.c1
-rw-r--r--keyboards/splitreus62/splitreus62.h26
7 files changed, 214 insertions, 0 deletions
diff --git a/keyboards/splitreus62/config.h b/keyboards/splitreus62/config.h
new file mode 100644
index 000000000..51b4af717
--- /dev/null
+++ b/keyboards/splitreus62/config.h
@@ -0,0 +1,77 @@
1/*
2Copyright 2012 Jun Wako <wakojun@gmail.com>
3Copyright 2015 Jack Humbert
4
5This program is free software: you can redistribute it and/or modify
6it under the terms of the GNU General Public License as published by
7the Free Software Foundation, either version 2 of the License, or
8(at your option) any later version.
9
10This program is distributed in the hope that it will be useful,
11but WITHOUT ANY WARRANTY; without even the implied warranty of
12MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13GNU General Public License for more details.
14
15You should have received a copy of the GNU General Public License
16along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#pragma once
20
21#include "config_common.h"
22
23/* USB Device descriptor parameter */
24#define VENDOR_ID 0xBEEF
25#define PRODUCT_ID 0xFED0
26#define DEVICE_VER 0x0001
27#define MANUFACTURER NaCly
28#define PRODUCT Splitreus62
29#define DESCRIPTION Like you axed an atreus62
30
31/* key matrix size */
32// Rows are doubled-up
33#define MATRIX_ROWS 12
34#define MATRIX_COLS 6
35
36// wiring of each half
37#define MATRIX_ROW_PINS { D3, D2, D1, D4, C6, D7 }
38#define MATRIX_COL_PINS { E6, B4, B5, B6, B2, B3 }
39
40#define DIODE_DIRECTION ROW2COL
41
42#define SPLIT_HAND_PIN F4
43
44/* Set 0 if debouncing isn't needed */
45#define DEBOUNCE 5
46
47/* serial.c configuration for split keyboard */
48#define SOFT_SERIAL_PIN D0
49
50/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
51#define LOCKING_SUPPORT_ENABLE
52/* Locking resynchronize hack */
53#define LOCKING_RESYNC_ENABLE
54
55/* ws2812 RGB LED */
56#define RGB_DI_PIN B1
57
58#define RGBLED_NUM 12 // Number of LEDs
59
60#define RGBLED_SPLIT { 6, 6 }
61/*
62 * Feature disable options
63 * These options are also useful to firmware size reduction.
64 */
65
66/* disable debug print */
67// #define NO_DEBUG
68
69/* disable print */
70// #define NO_PRINT
71
72/* disable action features */
73//#define NO_ACTION_LAYER
74//#define NO_ACTION_TAPPING
75//#define NO_ACTION_ONESHOT
76//#define NO_ACTION_MACRO
77//#define NO_ACTION_FUNCTION
diff --git a/keyboards/splitreus62/info.json b/keyboards/splitreus62/info.json
new file mode 100644
index 000000000..b6f32b4d2
--- /dev/null
+++ b/keyboards/splitreus62/info.json
@@ -0,0 +1,12 @@
1{
2 "keyboard_name": "splitreus62",
3 "url": "",
4 "maintainer": "qmk",
5 "width": 15,
6 "height": 5.7,
7 "layouts": {
8 "LAYOUT": {
9 "layout": [{"x":0, "y":0.6}, {"x":1, "y":0.6}, {"x":2, "y":0.35}, {"x":3, "y":0}, {"x":4, "y":0.35}, {"x":5, "y":0.7}, {"x":9, "y":0.7}, {"x":10, "y":0.35}, {"x":11, "y":0}, {"x":12, "y":0.35}, {"x":13, "y":0.6}, {"x":14, "y":0.6}, {"x":0, "y":1.6}, {"x":1, "y":1.6}, {"x":2, "y":1.35}, {"x":3, "y":1}, {"x":4, "y":1.35}, {"x":5, "y":1.7}, {"x":9, "y":1.7}, {"x":10, "y":1.35}, {"x":11, "y":1}, {"x":12, "y":1.35}, {"x":13, "y":1.6}, {"x":14, "y":1.6}, {"x":0, "y":2.6}, {"x":1, "y":2.6}, {"x":2, "y":2.35}, {"x":3, "y":2}, {"x":4, "y":2.35}, {"x":5, "y":2.7}, {"x":9, "y":2.7}, {"x":10, "y":2.35}, {"x":11, "y":2}, {"x":12, "y":2.35}, {"x":13, "y":2.6}, {"x":14, "y":2.6}, {"x":0, "y":3.6}, {"x":1, "y":3.6}, {"x":2, "y":3.35}, {"x":3, "y":3}, {"x":4, "y":3.35}, {"x":5, "y":3.7}, {"x":9, "y":3.7}, {"x":10, "y":3.35}, {"x":11, "y":3}, {"x":12, "y":3.35}, {"x":13, "y":3.6}, {"x":14, "y":3.6}, {"x":0, "y":4.6}, {"x":1, "y":4.6}, {"x":2, "y":4.35}, {"x":3, "y":4}, {"x":4, "y":4.35}, {"x":5, "y":4.7}, {"x":6, "y":3.95, "h":1.5}, {"x":8, "y":3.95, "h":1.5}, {"x":9, "y":4.7}, {"x":10, "y":4.35}, {"x":11, "y":4}, {"x":12, "y":4.35}, {"x":13, "y":4.6}, {"x":14, "y":4.6}]
10 }
11 }
12 }
diff --git a/keyboards/splitreus62/keymaps/default/keymap.c b/keyboards/splitreus62/keymaps/default/keymap.c
new file mode 100644
index 000000000..0137b7e3d
--- /dev/null
+++ b/keyboards/splitreus62/keymaps/default/keymap.c
@@ -0,0 +1,50 @@
1/* Copyright 2019 NaCly
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(
20 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
21 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
22 KC_LCTL, KC_A, KC_S, KC_D, LT(1,KC_F), KC_G, KC_H, LT(2,KC_J), KC_K, KC_L, KC_SCLN, KC_QUOT,
23 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
24 KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, KC_EQL, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_HOME, KC_END, KC_ESC
25 ),
26 //Holding F
27 [1] = LAYOUT(
28 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
29 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
30 KC_LCTL, KC_NO, KC_NO, KC_NO, _______, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_NO,
31 KC_LSFT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RSFT,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_END, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
33 ),
34 //Holding J
35 [2] = LAYOUT(
36 KC_MUTE, KC_VOLD, KC_VOLU, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
37 KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
38 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, _______, KC_NO, KC_NO, KC_NO, KC_NO,
39 KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
40 KC_LCTL, KC_LGUI, KC_LALT, KC_NO, KC_NO, KC_NO, KC_NO, KC_ENT, KC_SPC, KC_NO, KC_NO, KC_NO, KC_NO, TG(3)
41 ),
42 //game layer
43 [3] = LAYOUT(
44 KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
45 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
46 KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, LT(2,KC_J), KC_K, KC_L, KC_SCLN, KC_QUOT,
47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
48 KC_LCTL, KC_NO, KC_LALT, KC_GRV, KC_SPC, KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_LBRC, KC_RBRC, KC_HOME, KC_END, TO(0)
49 )
50};
diff --git a/keyboards/splitreus62/readme.md b/keyboards/splitreus62/readme.md
new file mode 100644
index 000000000..34fda4753
--- /dev/null
+++ b/keyboards/splitreus62/readme.md
@@ -0,0 +1,13 @@
1# splitreus62
2
3A split version of the [Atreus62](https://github.com/profet23/atreus62) by Profet23, which itself is based on Phil Hagelberg's [Atreus](https://github.com/technomancy/atreus). You can copy keymaps from Atreus62 and use them with this keyboard.
4
5* Keyboard Maintainer: [NaCly](https://github.com/Na-Cly)
6* Hardware Supported: splitreus62 PCBs, Pro Micro
7* Hardware Availability: https://github.com/Na-Cly/splitreus62
8
9Make example for this keyboard (after setting up your build environment):
10
11 make splitreus62:default
12
13See 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/splitreus62/rules.mk b/keyboards/splitreus62/rules.mk
new file mode 100644
index 000000000..ad3095be4
--- /dev/null
+++ b/keyboards/splitreus62/rules.mk
@@ -0,0 +1,35 @@
1# MCU name
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 = caterina
13
14# Build Options
15# change yes to no to disable
16#
17BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug
21COMMAND_ENABLE = yes # Commands for debug and configuration
22# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
23SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI controls
29BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
30AUDIO_ENABLE = no # Audio output on port C6
31FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
32HD44780_ENABLE = no # Enable support for HD44780 based LCDs
33UNICODE_ENABLE = no # Unicode
34
35SPLIT_KEYBOARD = yes
diff --git a/keyboards/splitreus62/splitreus62.c b/keyboards/splitreus62/splitreus62.c
new file mode 100644
index 000000000..d6ea3f913
--- /dev/null
+++ b/keyboards/splitreus62/splitreus62.c
@@ -0,0 +1 @@
#include "splitreus62.h"
diff --git a/keyboards/splitreus62/splitreus62.h b/keyboards/splitreus62/splitreus62.h
new file mode 100644
index 000000000..bc6c2a913
--- /dev/null
+++ b/keyboards/splitreus62/splitreus62.h
@@ -0,0 +1,26 @@
1#pragma once
2
3#include "quantum.h"
4
5#define LAYOUT(\
6 L00, L01, L02, L03, L04, L05, R05, R04, R03, R02, R01, R00, \
7 L10, L11, L12, L13, L14, L15, R15, R14, R13, R12, R11, R10, \
8 L20, L21, L22, L23, L24, L25, R25, R24, R23, R22, R21, R20, \
9 L30, L31, L32, L33, L34, L35, R35, R34, R33, R32, R31, R30, \
10 L40, L41, L42, L43, L44, L45, L55, R55, R45, R44, R43, R42, R41, R40 \
11)\
12 {\
13 { L00, L01, L02, L03, L04, L05 }, \
14 { L10, L11, L12, L13, L14, L15 }, \
15 { L20, L21, L22, L23, L24, L25 }, \
16 { L30, L31, L32, L33, L34, L35 }, \
17 { L40, L41, L42, L43, L44, L45 }, \
18 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, L55 }, \
19\
20 { R00, R01, R02, R03, R04, R05 }, \
21 { R10, R11, R12, R13, R14, R15 }, \
22 { R20, R21, R22, R23, R24, R25 }, \
23 { R30, R31, R32, R33, R34, R35 }, \
24 { R40, R41, R42, R43, R44, R45 }, \
25 { KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, R55 } \
26}