aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/lets_split/config.h3
-rw-r--r--keyboards/lets_split/keymaps/default/keymap.c20
-rw-r--r--keyboards/lets_split/lets_split.h7
-rw-r--r--keyboards/lets_split/readme.md3
-rw-r--r--keyboards/lets_split/sockets/config.h94
-rw-r--r--keyboards/lets_split/sockets/rules.mk3
-rw-r--r--keyboards/lets_split/sockets/sockets.c39
-rw-r--r--keyboards/lets_split/sockets/sockets.h60
8 files changed, 218 insertions, 11 deletions
diff --git a/keyboards/lets_split/config.h b/keyboards/lets_split/config.h
index 591c656a2..6d7254242 100644
--- a/keyboards/lets_split/config.h
+++ b/keyboards/lets_split/config.h
@@ -27,5 +27,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
27#ifdef SUBPROJECT_rev2 27#ifdef SUBPROJECT_rev2
28 #include "rev2/config.h" 28 #include "rev2/config.h"
29#endif 29#endif
30#ifdef SUBPROJECT_sockets
31 #include "sockets/config.h"
32#endif
30 33
31#endif 34#endif
diff --git a/keyboards/lets_split/keymaps/default/keymap.c b/keyboards/lets_split/keymaps/default/keymap.c
index 42f81a0eb..3664f3108 100644
--- a/keyboards/lets_split/keymaps/default/keymap.c
+++ b/keyboards/lets_split/keymaps/default/keymap.c
@@ -32,20 +32,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 32
33/* Qwerty 33/* Qwerty
34 * ,-----------------------------------------------------------------------------------. 34 * ,-----------------------------------------------------------------------------------.
35 * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | 35 * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
36 * |------+------+------+------+------+-------------+------+------+------+------+------| 36 * |------+------+------+------+------+-------------+------+------+------+------+------|
37 * | Esc | A | S | D | F | G | H | J | K | L | ; | " | 37 * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
38 * |------+------+------+------+------+------|------+------+------+------+------+------| 38 * |------+------+------+------+------+------|------+------+------+------+------+------|
39 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | 39 * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
40 * |------+------+------+------+------+------+------+------+------+------+------+------| 40 * |------+------+------+------+------+------+------+------+------+------+------+------|
41 * |Adjust| Ctrl | Alt | GUI |Lower |Space |Space |Raise | Left | Down | Up |Right | 41 * | Ctrl | GUI | Alt |Adjust|Lower |Space |Space |Raise | Left | Down | Up |Right |
42 * `-----------------------------------------------------------------------------------' 42 * `-----------------------------------------------------------------------------------'
43 */ 43 */
44[_QWERTY] = KEYMAP( \ 44[_QWERTY] = KEYMAP( \
45 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \ 45 KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, \
46 KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, \ 46 KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, 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_ENT , \ 47 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT , \
48 ADJUST, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \ 48 KC_LCTRL,KC_LGUI, KC_LALT, ADJUST, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT \
49), 49),
50 50
51/* Colemak 51/* Colemak
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
86 86
87/* Lower 87/* Lower
88 * ,-----------------------------------------------------------------------------------. 88 * ,-----------------------------------------------------------------------------------.
89 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp | 89 * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
90 * |------+------+------+------+------+-------------+------+------+------+------+------| 90 * |------+------+------+------+------+-------------+------+------+------+------+------|
91 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | | 91 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
92 * |------+------+------+------+------+------|------+------+------+------+------+------| 92 * |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -96,7 +96,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
96 * `-----------------------------------------------------------------------------------' 96 * `-----------------------------------------------------------------------------------'
97 */ 97 */
98[_LOWER] = KEYMAP( \ 98[_LOWER] = KEYMAP( \
99 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ 99 KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, \
100 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \ 100 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, \
101 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \ 101 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______, \
102 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ 102 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
@@ -104,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
104 104
105/* Raise 105/* Raise
106 * ,-----------------------------------------------------------------------------------. 106 * ,-----------------------------------------------------------------------------------.
107 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | 107 * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
108 * |------+------+------+------+------+-------------+------+------+------+------+------| 108 * |------+------+------+------+------+-------------+------+------+------+------+------|
109 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ | 109 * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
110 * |------+------+------+------+------+------|------+------+------+------+------+------| 110 * |------+------+------+------+------+------|------+------+------+------+------+------|
@@ -114,7 +114,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
114 * `-----------------------------------------------------------------------------------' 114 * `-----------------------------------------------------------------------------------'
115 */ 115 */
116[_RAISE] = KEYMAP( \ 116[_RAISE] = KEYMAP( \
117 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \ 117 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, \
118 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \ 118 KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
119 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \ 119 _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, \
120 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \ 120 _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
diff --git a/keyboards/lets_split/lets_split.h b/keyboards/lets_split/lets_split.h
index c5e1fbe0e..1e2d1b9a6 100644
--- a/keyboards/lets_split/lets_split.h
+++ b/keyboards/lets_split/lets_split.h
@@ -3,12 +3,17 @@
3 3
4#include "quantum.h" 4#include "quantum.h"
5 5
6#include QMK_KEYBOARD_H
7
6#ifdef KEYBOARD_lets_split_rev1 8#ifdef KEYBOARD_lets_split_rev1
7 #include "rev1.h" 9 #include "rev1.h"
8#else 10#elif KEYBOARD_lets_split_rev2
9 #include "rev2.h" 11 #include "rev2.h"
12#else
13 #include "sockets.h"
10#endif 14#endif
11 15
16
12// Used to create a keymap using only KC_ prefixed keys 17// Used to create a keymap using only KC_ prefixed keys
13#define KC_KEYMAP( \ 18#define KC_KEYMAP( \
14 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \ 19 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
diff --git a/keyboards/lets_split/readme.md b/keyboards/lets_split/readme.md
index c9202de63..155f69f15 100644
--- a/keyboards/lets_split/readme.md
+++ b/keyboards/lets_split/readme.md
@@ -7,6 +7,7 @@ Split keyboard firmware for Arduino Pro Micro or other ATmega32u4
7based boards. 7based boards.
8 8
9**Hardware files for the Let's Split are now stored at http://qmk.fm/lets_split/** 9**Hardware files for the Let's Split are now stored at http://qmk.fm/lets_split/**
10**Hardware files for the sockets version can be found at https://github.com/dumle29/let-s-Split-v2/tree/socket-reverseable**
10 11
11## Build Guide 12## Build Guide
12 13
@@ -14,6 +15,8 @@ A build guide for putting together the Let's Split v2 can be found here: [An Ove
14 15
15There is additional information there about flashing and adding RGB underglow. 16There is additional information there about flashing and adding RGB underglow.
16 17
18A build guide for putting together the sockets version can be found here: *Guide will be made and linked here when the PCBs have been received and tested*
19
17## First Time Setup 20## First Time Setup
18 21
19Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using: 22Download or clone the `qmk_firmware` repo and navigate to its top level directory. Once your build environment is setup, you'll be able to generate the default .hex using:
diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h
new file mode 100644
index 000000000..438c68f42
--- /dev/null
+++ b/keyboards/lets_split/sockets/config.h
@@ -0,0 +1,94 @@
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#ifndef SOCKETS_CONFIG_H
20#define SOCKETS_CONFIG_H
21
22#include "../config.h"
23
24/* USB Device descriptor parameter */
25#define VENDOR_ID 0xBEE5
26#define PRODUCT_ID 0xFEED
27#define DEVICE_VER 0x0001
28#define MANUFACTURER Duckle29
29#define PRODUCT Lets Split Sockets
30#define DESCRIPTION A split keyboard for the cheapish makers
31
32/* key matrix size */
33// Rows are doubled-up
34#define MATRIX_ROWS 8
35#define MATRIX_COLS 6
36
37// wiring of each half
38#define MATRIX_ROW_PINS { B1, B5, E6, B4 }
39#define MATRIX_COL_PINS { F4, F7, D7, B3, B2, B6}
40// #define MATRIX_COL_PINS { B6, B2, B3, C6, F7, F4 } //uncomment this line and comment line above if you need to reverse left-to-right key order
41
42#define CATERINA_BOOTLOADER
43
44/* define if matrix has ghost */
45//#define MATRIX_HAS_GHOST
46
47/* number of backlight levels */
48// #define BACKLIGHT_LEVELS 3
49
50/* Set 0 if debouncing isn't needed */
51#define DEBOUNCING_DELAY 5
52
53/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
54#define LOCKING_SUPPORT_ENABLE
55/* Locking resynchronize hack */
56#define LOCKING_RESYNC_ENABLE
57
58/* key combination for command */
59#define IS_COMMAND() ( \
60 keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
61)
62
63/* ws2812 RGB LED */
64#define RGB_DI_PIN D4
65#define RGBLIGHT_TIMER
66#define RGBLED_NUM 12 // Number of LEDs
67#define ws2812_PORTREG PORTD
68#define ws2812_DDRREG DDRD
69
70/* Audio settings */
71#ifdef AUDIO_ENABLE
72 #define C6_AUDIO // Define this to enable the buzzer
73#endif
74
75/*
76 * Feature disable options
77 * These options are also useful to firmware size reduction.
78 */
79
80/* disable debug print */
81// #define NO_DEBUG
82
83/* disable print */
84// #define NO_PRINT
85
86/* disable action features */
87//#define NO_ACTION_LAYER
88//#define NO_ACTION_TAPPING
89//#define NO_ACTION_ONESHOT
90//#define NO_ACTION_MACRO
91//#define NO_ACTION_FUNCTION
92
93
94#endif
diff --git a/keyboards/lets_split/sockets/rules.mk b/keyboards/lets_split/sockets/rules.mk
new file mode 100644
index 000000000..a975e56f1
--- /dev/null
+++ b/keyboards/lets_split/sockets/rules.mk
@@ -0,0 +1,3 @@
1BACKLIGHT_ENABLE = no
2AUDIO_ENABLE = yes
3RGBLIGHT_ENABLE = no \ No newline at end of file
diff --git a/keyboards/lets_split/sockets/sockets.c b/keyboards/lets_split/sockets/sockets.c
new file mode 100644
index 000000000..88903f7f4
--- /dev/null
+++ b/keyboards/lets_split/sockets/sockets.c
@@ -0,0 +1,39 @@
1#include "lets_split.h"
2
3#ifdef AUDIO_ENABLE
4 float tone_startup[][2] = SONG(STARTUP_SOUND);
5 float tone_goodbye[][2] = SONG(GOODBYE_SOUND);
6#endif
7
8#ifdef SSD1306OLED
9void led_set_kb(uint8_t usb_led) {
10 // put your keyboard LED indicator (ex: Caps Lock LED) toggling code here
11 led_set_user(usb_led);
12}
13#endif
14
15void matrix_init_kb(void) {
16
17 #ifdef AUDIO_ENABLE
18 _delay_ms(20); // gets rid of tick
19 PLAY_SONG(tone_startup);
20 #endif
21
22 // // green led on
23 // DDRD |= (1<<5);
24 // PORTD &= ~(1<<5);
25
26 // // orange led on
27 // DDRB |= (1<<0);
28 // PORTB &= ~(1<<0);
29
30 matrix_init_user();
31};
32
33void shutdown_user(void) {
34 #ifdef AUDIO_ENABLE
35 PLAY_SONG(tone_goodbye);
36 _delay_ms(150);
37 stop_all_notes();
38 #endif
39}
diff --git a/keyboards/lets_split/sockets/sockets.h b/keyboards/lets_split/sockets/sockets.h
new file mode 100644
index 000000000..0c4e8e7de
--- /dev/null
+++ b/keyboards/lets_split/sockets/sockets.h
@@ -0,0 +1,60 @@
1#ifndef REV2_H
2#define REV2_H
3
4#include "../lets_split.h"
5
6//void promicro_bootloader_jmp(bool program);
7#include "quantum.h"
8
9
10#ifdef USE_I2C
11#include <stddef.h>
12#ifdef __AVR__
13 #include <avr/io.h>
14 #include <avr/interrupt.h>
15#endif
16#endif
17
18//void promicro_bootloader_jmp(bool program);
19
20#ifndef FLIP_HALF
21// Standard Keymap
22// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
23#define KEYMAP( \
24 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
25 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
26 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
27 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
28 ) \
29 { \
30 { L00, L01, L02, L03, L04, L05 }, \
31 { L10, L11, L12, L13, L14, L15 }, \
32 { L20, L21, L22, L23, L24, L25 }, \
33 { L30, L31, L32, L33, L34, L35 }, \
34 { R05, R04, R03, R02, R01, R00 }, \
35 { R15, R14, R13, R12, R11, R10 }, \
36 { R25, R24, R23, R22, R21, R20 }, \
37 { R35, R34, R33, R32, R31, R30 } \
38 }
39#else
40// Keymap with right side flipped
41// (TRRS jack on both halves are to the right)
42#define KEYMAP( \
43 L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
44 L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
45 L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25, \
46 L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35 \
47 ) \
48 { \
49 { L00, L01, L02, L03, L04, L05 }, \
50 { L10, L11, L12, L13, L14, L15 }, \
51 { L20, L21, L22, L23, L24, L25 }, \
52 { L30, L31, L32, L33, L34, L35 }, \
53 { R00, R01, R02, R03, R04, R05 }, \
54 { R10, R11, R12, R13, R14, R15 }, \
55 { R20, R21, R22, R23, R24, R25 }, \
56 { R30, R31, R32, R33, R34, R35 } \
57 }
58#endif
59
60#endif