summaryrefslogtreecommitdiff
path: root/keyboards/lets_split
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/lets_split')
-rw-r--r--keyboards/lets_split/keymaps/OLED_sample/keymap.c34
-rw-r--r--keyboards/lets_split/keymaps/default/rules.mk0
-rw-r--r--keyboards/lets_split/keymaps/halvves/config.h37
-rw-r--r--keyboards/lets_split/keymaps/halvves/keymap.c196
-rw-r--r--keyboards/lets_split/keymaps/halvves/rules.mk1
-rw-r--r--keyboards/lets_split/keymaps/khord/keymap.c4
-rw-r--r--keyboards/lets_split/keymaps/mekberg/README.md65
-rw-r--r--keyboards/lets_split/keymaps/mekberg/config.h34
-rw-r--r--keyboards/lets_split/keymaps/mekberg/keymap.c228
-rw-r--r--keyboards/lets_split/keymaps/zer09/config.h1
-rw-r--r--keyboards/lets_split/rev1/rev1.h3
-rw-r--r--keyboards/lets_split/rev1/rules.mk1
-rw-r--r--keyboards/lets_split/rev2/rev2.h4
-rw-r--r--keyboards/lets_split/rev2/rules.mk1
-rw-r--r--keyboards/lets_split/rules.mk47
-rw-r--r--keyboards/lets_split/sockets/config.h6
-rw-r--r--keyboards/lets_split/sockets/sockets.h5
17 files changed, 579 insertions, 88 deletions
diff --git a/keyboards/lets_split/keymaps/OLED_sample/keymap.c b/keyboards/lets_split/keymaps/OLED_sample/keymap.c
index 67a20971ce..0cf3503e43 100644
--- a/keyboards/lets_split/keymaps/OLED_sample/keymap.c
+++ b/keyboards/lets_split/keymaps/OLED_sample/keymap.c
@@ -37,15 +37,9 @@ enum custom_keycodes {
RGBLED_DECREASE_SAT,
RGBLED_INCREASE_VAL,
RGBLED_DECREASE_VAL,
+ M_SAMPLE
};
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
-
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@@ -278,6 +272,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
+ case M_SAMPLE:
+ if (record->event.pressed){
+ SEND_STRING("hello world");
+ }
+ return false;
}
return true;
}
@@ -328,27 +327,6 @@ void music_scale_user(void)
#endif
-/*
- * Macro definition
- */
-const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
-{
- if (!eeconfig_is_enabled()) {
- eeconfig_init();
- }
-
- switch (id) {
- case KC_SAMPLEMACRO:
- if (record->event.pressed){
- return MACRO (I(10), T(H), T(E), T(L), T(L), T(O), T(SPACE), T(W), T(O), T(R), T(L), T(D), END);
- }
-
- }
-
- return MACRO_NONE;
-}
-
-
void matrix_update(struct CharacterMatrix *dest,
const struct CharacterMatrix *source) {
if (memcmp(dest->display, source->display, sizeof(dest->display))) {
diff --git a/keyboards/lets_split/keymaps/default/rules.mk b/keyboards/lets_split/keymaps/default/rules.mk
deleted file mode 100644
index e69de29bb2..0000000000
--- a/keyboards/lets_split/keymaps/default/rules.mk
+++ /dev/null
diff --git a/keyboards/lets_split/keymaps/halvves/config.h b/keyboards/lets_split/keymaps/halvves/config.h
new file mode 100644
index 0000000000..70f6d13c7b
--- /dev/null
+++ b/keyboards/lets_split/keymaps/halvves/config.h
@@ -0,0 +1,37 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+/* Use I2C or Serial, not both */
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+// #define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
+
+// smooth mousekeys (copied from the ergo ez config)
+#define MOUSEKEY_INTERVAL 16
+#define MOUSEKEY_DELAY 0
+#define MOUSEKEY_TIME_TO_MAX 60
+#define MOUSEKEY_MAX_SPEED 7
+#define MOUSEKEY_WHEEL_DELAY 0
diff --git a/keyboards/lets_split/keymaps/halvves/keymap.c b/keyboards/lets_split/keymaps/halvves/keymap.c
new file mode 100644
index 0000000000..6fbd646519
--- /dev/null
+++ b/keyboards/lets_split/keymaps/halvves/keymap.c
@@ -0,0 +1,196 @@
+#include QMK_KEYBOARD_H
+
+enum layer_names {
+ _QWERTY,
+ _COLEMAK,
+ _DVORAK,
+ _LOWER,
+ _RAISE,
+ _UTIL,
+ _MOUSE,
+ _ADJUST,
+};
+
+enum custom_keycodes {
+ QWERTY = SAFE_RANGE,
+ COLEMAK,
+ DVORAK,
+};
+
+#define LOWER MO(_LOWER)
+#define RAISE MO(_RAISE)
+#define UTIL MO(_UTIL)
+#define MOUSE MO(_MOUSE)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/* Qwerty
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Util | Ctrl | Alt | GUI |Lower | Space |Raise | Mouse| Mouse| | Util |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_QWERTY] = LAYOUT_ortho_4x12(
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
+ KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ UTIL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, MOUSE, MOUSE, XXXXXXX, UTIL
+),
+
+/* Colemak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | R | S | T | D | H | N | E | I | O | ' |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Util | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Mouse| Mouse| | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_COLEMAK] = LAYOUT_ortho_4x12(
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
+ KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ UTIL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, MOUSE, MOUSE, XXXXXXX, XXXXXXX
+),
+
+/* Dvorak
+ * ,-----------------------------------------------------------------------------------.
+ * | Tab | ' | , | . | P | Y | F | G | C | R | L | Bksp |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Esc | A | O | E | U | I | D | H | T | N | S | / |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | Util | Ctrl | Alt | GUI |Lower |Space |Space |Raise | Mouse| Mouse| | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_DVORAK] = LAYOUT_ortho_4x12(
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC,
+ KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT ,
+ UTIL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, MOUSE, MOUSE, XXXXXXX, XXXXXXX
+),
+
+/* Lower
+ * ,-----------------------------------------------------------------------------------.
+ * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_LOWER] = LAYOUT_ortho_4x12(
+ KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Raise
+ * ,-----------------------------------------------------------------------------------.
+ * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | Next | Vol- | Vol+ | Play |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_RAISE] = LAYOUT_ortho_4x12(
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+),
+
+/* Util
+ * ,-----------------------------------------------------------------------------------.
+ * | | | | | | Reset|Reset | | | | | |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | | | | | LEFT | DOWN | UP | RGHT | | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_UTIL] = LAYOUT_ortho_4x12(
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RESET, RESET, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX, XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/* Mouse
+ * ,-----------------------------------------------------------------------------------.
+ * | | | M Up | | | | | | |L Clk |R Clk | W Up |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | |M Left|M Down|M Rght| | | | | | | |W Down|
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_MOUSE] = LAYOUT_ortho_4x12(
+ XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN2, KC_WH_U,
+ XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_WH_D,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/* Adjust (Lower + Raise)
+ * ,-----------------------------------------------------------------------------------.
+ * | | Reset| | | | | | | | | | Del |
+ * |------+------+------+------+------+-------------+------+------+------+------+------|
+ * | | | |Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
+ * |------+------+------+------+------+------|------+------+------+------+------+------|
+ * | | | | | | | | | | | | |
+ * |------+------+------+------+------+------+------+------+------+------+------+------|
+ * | | | | | | | | | | | |
+ * `-----------------------------------------------------------------------------------'
+ */
+[_ADJUST] = LAYOUT_ortho_4x12(
+ _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
+ _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+)
+
+
+};
+
+layer_state_t layer_state_set_user(layer_state_t state) {
+ return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
+}
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case QWERTY:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_QWERTY);
+ }
+ return false;
+ case COLEMAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_COLEMAK);
+ }
+ return false;
+ case DVORAK:
+ if (record->event.pressed) {
+ set_single_persistent_default_layer(_DVORAK);
+ }
+ return false;
+ }
+ return true;
+}
diff --git a/keyboards/lets_split/keymaps/halvves/rules.mk b/keyboards/lets_split/keymaps/halvves/rules.mk
new file mode 100644
index 0000000000..6c605daecf
--- /dev/null
+++ b/keyboards/lets_split/keymaps/halvves/rules.mk
@@ -0,0 +1 @@
+MOUSEKEY_ENABLE = yes
diff --git a/keyboards/lets_split/keymaps/khord/keymap.c b/keyboards/lets_split/keymaps/khord/keymap.c
index 4209efabed..60b2973947 100644
--- a/keyboards/lets_split/keymaps/khord/keymap.c
+++ b/keyboards/lets_split/keymaps/khord/keymap.c
@@ -1,6 +1,5 @@
#include QMK_KEYBOARD_H
-
extern keymap_config_t keymap_config;
#define _QWERTY 0
@@ -25,7 +24,6 @@ enum {
// Dylan's additions
#define C_A_DEL LALT(LCTL(KC_DEL))
#define C_A_INS LALT(LCTL(KC_INS))
-//#define MAC_LOK S(LCTL(KC_PWR))
#define MAC_LOK LCTL(LGUI(KC_Q))
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -81,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, \
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, \
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGDN, KC_PGUP, _______, \
- _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_BTN2, KC_BTN3, KC_BTN4 \
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY \
),
/* Adjust (Lower + Raise)
diff --git a/keyboards/lets_split/keymaps/mekberg/README.md b/keyboards/lets_split/keymaps/mekberg/README.md
new file mode 100644
index 0000000000..5202ec8366
--- /dev/null
+++ b/keyboards/lets_split/keymaps/mekberg/README.md
@@ -0,0 +1,65 @@
+# Let's Mekberg!
+
+This is my take on a Swedish 40% layout in a split format. The priority is to have the most highly used keys opposite the modifier to make chording simpler. In other words, if the layer modifier is on the left half, the most used keys should be bound on the right half.
+
+## Layers
+
+### Default
+
+The default layer has normal alpha layout with the addition of Swedish letters, causing Enter to move down one key and backspace to take the place of the right space. The enter key also doubles as Shift when held.
+
+2nd row left modifier has been bound to both Ctrl and Tab with modtap (hold for Ctrl, tap for Tab).
+
+Delete is available on all non-default layers, positioned on the upper right corner key.
+
+### Raise
+
+The raised layer has all the symbols and special characters predefined. As much as possible, there should be no need to use additional modifiers.
+
+Arrow keys have been disabled on this layer to avoid accidental misclicks when pressing the Raise key.
+
+#### macOS / Windows variants
+
+Because macOS and Windows expect quite different keycodes to produce the same special characters (for example '{' or '|'), there are two different layers, one for each OS. To toggle either macOS (default) and Windows layouts within the RAISE layer, press SPECIAL + W for Windows or SPECIAL + M for macOS.
+
+### Lower
+
+The lower layer focuses on numbers, with a numpad-like layout on the right and F-keys in a homerow-centric layout on the left.
+
+### Special
+
+The special layer has Reset and EEP Reset keys on the left half, along with media and volume controls. On the right half it has movement keys starting in the IJKL cluster. Additionally, custom macOS Sleep and Lock Screen keys can be found on the right half on this layer.
+
+## Configuration
+
+### PERMISSIVE_HOLD
+
+This option is used because otherwise modtap functions would fail to trigger. This increases reliability for me.
+
+### USE_SERIAL
+
+N/A
+
+### EE_HANDS
+
+Prepared for EEPROM settings and different keymaps depending on USB port connected, but default master side remains left regardless.
+
+## Building
+
+Clean the build environment:
+
+```shell
+make clean
+```
+
+Build and flash left side:
+
+```shell
+make lets_split/rev2:mekberg:avrdude-split-left
+```
+
+Then do the same for the right side:
+
+```shell
+make lets_split/rev2:mekberg:avrdude-split-right
+```
diff --git a/keyboards/lets_split/keymaps/mekberg/config.h b/keyboards/lets_split/keymaps/mekberg/config.h
new file mode 100644
index 0000000000..5523ecb5a3
--- /dev/null
+++ b/keyboards/lets_split/keymaps/mekberg/config.h
@@ -0,0 +1,34 @@
+/*
+This is the c configuration file for the keymap
+
+Copyright 2012 Jun Wako <wakojun@gmail.com>
+Copyright 2015 Jack Humbert
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#pragma once
+
+// Define some configuration for modtap behavior
+// #define TAPPING_TERM 150
+#define PERMISSIVE_HOLD
+
+/* Use I2C or Serial, not both */
+#define USE_SERIAL
+// #define USE_I2C
+
+/* Select hand configuration */
+//#define MASTER_LEFT
+// #define MASTER_RIGHT
+#define EE_HANDS
diff --git a/keyboards/lets_split/keymaps/mekberg/keymap.c b/keyboards/lets_split/keymaps/mekberg/keymap.c
new file mode 100644
index 0000000000..e530623f1d
--- /dev/null
+++ b/keyboards/lets_split/keymaps/mekberg/keymap.c
@@ -0,0 +1,228 @@
+#include QMK_KEYBOARD_H
+
+/*
+Let's Split physical layout
+1u == 8chars
+* == Homing keys
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | | | | | | | | | | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | * | | | | * | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | | | | | | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | | | | | | | | | |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+
+// Layers
+enum layer_names {
+ _DEFAULT,
+ _DEFAULT_MAC,
+ _DEFAULT_WIN,
+ _RAISE_MAC,
+ _RAISE_WIN,
+ _LOWER,
+ _SPECIAL,
+};
+
+#define TO_MAC TO(_DEFAULT)
+#define TO_WIN TO(_DEFAULT_WIN)
+
+#define RAISE_M MO(_RAISE_MAC)
+#define RAISE_W MO(_RAISE_WIN)
+#define LOWER MO(_LOWER)
+#define SPECIAL MO(_SPECIAL)
+
+// Modifiers
+#define SFTENT KC_SFTENT // Enter => Shift when held
+#define CTLTAB LCTL_T(KC_TAB) // Tab => Ctrl when held
+
+// ISO keycodes with Swedish layout names
+#define SE_PLUS KC_MINS // +
+#define SE_QSTM S(SE_PLUS) // Question mark
+#define SE_TCK KC_EQL // Fronttick (´)
+#define SE_BTCK S(SE_TCK) // Backtick (`)
+#define SE_UML KC_RBRC // Umlaut (¨)
+#define SE_TAK S(SE_UML) // Caret (^)
+#define SE_TILD RALT(SE_UML) // Tilde (~)
+#define SE_QUT KC_NUHS // Singlequote (')
+#define SE_DQUT S(KC_2) // Doublequote (")
+#define SE_AST S(SE_QUT) // Asterisk
+#define SE_AUML KC_QUOT // Ä
+#define SE_ARNG KC_LBRC // Å
+#define SE_OUML KC_SCLN // Ö
+#define SE_LT KC_NUBS // <
+#define SE_GT S(SE_LT) // >
+#define SE_DASH KC_SLSH // -
+#define SE_USCR S(SE_DASH) // _
+#define SE_AT RALT(KC_2) // @
+#define SE_EXCL S(KC_1) // !
+#define SE_HASH S(KC_3) // #
+#define SE_USD RALT(KC_4) // $
+#define SE_PCNT S(KC_5) // %
+#define SE_AMP S(KC_6) // &
+#define SE_EQLS S(KC_0) // =
+
+// Apple-specific layout keys
+#define AP_SLS S(KC_7) // /
+#define AP_PIPE LALT(KC_7) // |
+#define AP_BSLS A(AP_SLS) // Backslash
+#define AP_LCBR A(AP_LPAR) // {
+#define AP_RCBR A(AP_RPAR) // }
+#define AP_LBR A(KC_8) // [
+#define AP_RBR A(KC_9) // ]
+#define AP_LPAR S(KC_8) // (
+#define AP_RPAR S(KC_9) // )
+
+// Windows-specific layout keys
+#define MS_SLS S(KC_7) // /
+#define MS_PIPE RALT(SE_LT) // |
+#define MS_BSLS RALT(SE_PLUS) // Backslash
+#define MS_LCBR RALT(KC_7) // {
+#define MS_RCBR RALT(KC_0) // }
+#define MS_LBR RALT(KC_8) // [
+#define MS_RBR RALT(KC_9) // ]
+#define MS_LPAR S(KC_8) // (
+#define MS_RPAR S(KC_9) // )
+
+// My common shortcuts
+#define MY_PREV KC_MRWD // Media: Previous
+#define MY_NEXT KC_MFFD // Media: Next
+#define MY_PLAY KC_MPLY // Media: Play/Pause
+#define MY_LOCK C(A(KC_L)) // Mac: Lock
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+/*
+DEFAULT
+ Main layout for alphas and modifiers
+ Tab => Ctrl when held
+ Esc => MOVEMENT layer when held
+ Enter => Shift when held
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | Esc | Q | W | E | R | T | | Y | U | I | O | P | Å |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ |Ctrl/Tab| A | S | D | F *| G | | H |* J | K | L | Ö | Ä |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | Shift | Z | X | C | V | B | | N | M | , | . | - | Enter |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | SPECIAL| Ctrl | Alt | Cmd | LOWER | Space | | Backspc| RAISE | Left | Down | Up | Right |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+[_DEFAULT] = LAYOUT_ortho_4x12(
+ KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG,
+ CTLTAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OUML, SE_AUML,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SE_DASH, SFTENT,
+ SPECIAL, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_BSPC, RAISE_M, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+),
+
+/*
+DEFAULT - Windows
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | | | | | | | | | | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | * | | | | * | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | | | | | | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | | | | | RAISE | | | | |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+[_DEFAULT_WIN] = LAYOUT_ortho_4x12(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, RAISE_W, _______, _______, _______, _______
+),
+
+/*
+RAISE - Mac
+ This layer focuses on symbols and special characters.
+
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | | ! | ? | { | } | & | | ^ | | | ` | ´ | | Del |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | # | $ | ( | ) *| " | | ~ |* / | \ | ¨ | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | @ | % | [ | ] | ' | | | < | > | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | | | | |XXXXXXXX| | | | |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+[_RAISE_MAC] = LAYOUT_ortho_4x12(
+ _______, SE_EXCL, SE_QSTM, AP_LCBR, AP_RCBR, SE_AMP, SE_TAK, AP_PIPE, SE_BTCK, SE_TCK, _______, KC_DEL,
+ _______, SE_HASH, SE_USD, AP_LPAR, AP_RPAR, SE_DQUT, SE_TILD, AP_SLS, AP_BSLS, SE_UML, _______, _______,
+ _______, SE_AT, SE_PCNT, AP_LBR, AP_RBR, SE_QUT, _______, SE_LT, SE_GT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/*
+RAISE - Windows
+ This layer focuses on symbols and special characters.
+
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | | ! | ? | { | } | & | | ^ | | | ` | ´ | | Del |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | # | $ | ( | ) *| " | | ~ |* / | \ | ¨ | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | @ | % | [ | ] | ' | | | < | > | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | | | | | |XXXXXXXX| | | | |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+[_RAISE_WIN] = LAYOUT_ortho_4x12(
+ _______, SE_EXCL, SE_QSTM, MS_LCBR, MS_RCBR, SE_AMP, SE_TAK, MS_PIPE, SE_BTCK, SE_TCK, _______, KC_DEL,
+ _______, SE_HASH, SE_USD, MS_LPAR, MS_RPAR, SE_DQUT, SE_TILD, MS_SLS, MS_BSLS, SE_UML, _______, _______,
+ _______, SE_AT, SE_PCNT, MS_LBR, MS_RBR, SE_QUT, _______, SE_LT, SE_GT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
+),
+
+/*
+LOWER
+ This layer focuses on numbers and math.
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | | F1 | F2 | F3 | F4 | | | * | 7 | 8 | 9 | - | Del |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | F5 | F6 | F7 | F8 *| | | / |* 4 | 5 | 6 | + | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | F9 | F10 | F11 | F12 | | | / | 1 | 2 | 3 | = | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | |XXXXXXXX| | | | | 0 | . | | |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+[_LOWER] = LAYOUT_ortho_4x12(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, SE_AST, KC_7, KC_8, KC_9, SE_DASH, KC_DEL,
+ _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, AP_SLS, KC_4, KC_5, KC_6, SE_PLUS, _______,
+ _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, MS_SLS, KC_1, KC_2, KC_3, SE_EQLS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, KC_0, KC_DOT, _______, _______
+),
+
+/*
+SPECIAL
+ This layer focuses on special functions, media controls and movement keys.
+ LEFT RIGHT
+ ,-----------------------------------------------------. ,-----------------------------------------------------.
+ | Reset | | WIN | VolUp | | | | Ins | Home | Up | End | PgUp | Del |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ |EEPReset| | Prev | VolDn | Next *| | | |* Left | Down | Right | PgDn | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ | | | | Mute | | | | Lock | MAC | | | | |
+ |--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
+ |XXXXXXXX| | | | | Play | | | | | | | Sleep |
+ `-----------------------------------------------------´ `-----------------------------------------------------'
+*/
+[_SPECIAL] = LAYOUT_ortho_4x12(
+ RESET, _______, TO_WIN, KC_VOLU, _______, _______, KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_DEL,
+ EEP_RST, _______, MY_PREV, KC_VOLD, MY_NEXT, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______,
+ _______, _______, _______, KC_MUTE, _______, _______, MY_LOCK, TO_MAC, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, MY_PLAY, _______, _______, _______, _______, _______, KC_SLEP
+)
+
+};
diff --git a/keyboards/lets_split/keymaps/zer09/config.h b/keyboards/lets_split/keymaps/zer09/config.h
index 14be4ccc59..3990c3dc5b 100644
--- a/keyboards/lets_split/keymaps/zer09/config.h
+++ b/keyboards/lets_split/keymaps/zer09/config.h
@@ -35,7 +35,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define MATRIX_ROW_PINS { C6, D7, E6, B4, B5 }
#define MATRIX_COL_PINS { F7, B1, B3, B2, B6 }
-#define CATERINA_BOOTLOADER
#define USB_MAX_POWER_CONSUMPTION 50
/* Use I2C or Serial, not both */
diff --git a/keyboards/lets_split/rev1/rev1.h b/keyboards/lets_split/rev1/rev1.h
index a43d4a25ba..6a65954f22 100644
--- a/keyboards/lets_split/rev1/rev1.h
+++ b/keyboards/lets_split/rev1/rev1.h
@@ -2,11 +2,8 @@
#include "lets_split.h"
-//void promicro_bootloader_jmp(bool program);
#include "quantum.h"
-//void promicro_bootloader_jmp(bool program);
-
#define LAYOUT( \
L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05, \
L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15, \
diff --git a/keyboards/lets_split/rev1/rules.mk b/keyboards/lets_split/rev1/rules.mk
index f845616741..e69de29bb2 100644
--- a/keyboards/lets_split/rev1/rules.mk
+++ b/keyboards/lets_split/rev1/rules.mk
@@ -1 +0,0 @@
-BACKLIGHT_ENABLE = no \ No newline at end of file
diff --git a/keyboards/lets_split/rev2/rev2.h b/keyboards/lets_split/rev2/rev2.h
index 34e64e89f1..a1a3f00a0e 100644
--- a/keyboards/lets_split/rev2/rev2.h
+++ b/keyboards/lets_split/rev2/rev2.h
@@ -2,10 +2,8 @@
#include "lets_split.h"
-//void promicro_bootloader_jmp(bool program);
#include "quantum.h"
-
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
@@ -14,8 +12,6 @@
#endif
#endif
-//void promicro_bootloader_jmp(bool program);
-
#ifndef FLIP_HALF
// Standard Keymap
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)
diff --git a/keyboards/lets_split/rev2/rules.mk b/keyboards/lets_split/rev2/rules.mk
index 7b30c0beff..e69de29bb2 100644
--- a/keyboards/lets_split/rev2/rules.mk
+++ b/keyboards/lets_split/rev2/rules.mk
@@ -1 +0,0 @@
-BACKLIGHT_ENABLE = no
diff --git a/keyboards/lets_split/rules.mk b/keyboards/lets_split/rules.mk
index f9d1a0dadb..98736310c6 100644
--- a/keyboards/lets_split/rules.mk
+++ b/keyboards/lets_split/rules.mk
@@ -1,47 +1,16 @@
# MCU name
MCU = atmega32u4
-# Processor frequency.
-# This will define a symbol, F_CPU, in all source code files equal to the
-# processor frequency in Hz. You can then use this symbol in your source code to
-# calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-# automatically to create a 32-bit value in your source code.
-#
-# This will be an integer division of F_USB below, as it is sourced by
-# F_USB after it has run through any CPU prescalers. Note that this value
-# does not *change* the processor frequency - it should merely be updated to
-# reflect the processor speed set externally so that the code can use accurate
-# software delays.
-F_CPU = 16000000
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
-ARCH = AVR8
-
-# Input clock frequency.
-# This will define a symbol, F_USB, in all source code files equal to the
-# input clock frequency (before any prescaling is performed) in Hz. This value may
-# differ from F_CPU if prescaling is used on the latter, and is required as the
-# raw input clock is fed directly to the PLL sections of the AVR for high speed
-# clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-# at the end, this will be done automatically to create a 32-bit value in your
-# source code.
-#
-# If no clock division is performed on the input clock inside the AVR (via the
-# CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
-F_USB = $(F_CPU)
-
-# Bootloader
-# This definition is optional, and if your keyboard supports multiple bootloaders of
-# different sizes, comment this out, and the correct address will be loaded
-# automatically (+60). See bootloader.mk for all options.
+# Bootloader selection
+# Teensy halfkay
+# Pro Micro caterina
+# Atmel DFU atmel-dfu
+# LUFA DFU lufa-dfu
+# QMK DFU qmk-dfu
+# ATmega32A bootloadHID
+# ATmega328P USBasp
BOOTLOADER = caterina
-# Interrupt driven control endpoint task(+60)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
# Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
diff --git a/keyboards/lets_split/sockets/config.h b/keyboards/lets_split/sockets/config.h
index 2d3e68610e..e8459494be 100644
--- a/keyboards/lets_split/sockets/config.h
+++ b/keyboards/lets_split/sockets/config.h
@@ -19,8 +19,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once
/* USB Device descriptor parameter */
-#define VENDOR_ID 0xBEE5
-#define PRODUCT_ID 0xFEED
+#define VENDOR_ID 0xFEED
+#define PRODUCT_ID 0x0BEE
#define DEVICE_VER 0x0001
#define MANUFACTURER Duckle29
#define PRODUCT Lets Split Sockets
@@ -88,4 +88,4 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define NO_ACTION_FUNCTION
#define DISABLE_LEADER
-#endif // USE_Link_Time_Optimization \ No newline at end of file
+#endif // USE_Link_Time_Optimization
diff --git a/keyboards/lets_split/sockets/sockets.h b/keyboards/lets_split/sockets/sockets.h
index a79770bac6..a1a3f00a0e 100644
--- a/keyboards/lets_split/sockets/sockets.h
+++ b/keyboards/lets_split/sockets/sockets.h
@@ -1,12 +1,9 @@
#pragma once
-#define DISABLE_JTAG // The keyboard uses PF4 and PF7, which are used by JTAG.
#include "lets_split.h"
-//void promicro_bootloader_jmp(bool program);
#include "quantum.h"
-
#ifdef USE_I2C
#include <stddef.h>
#ifdef __AVR__
@@ -15,8 +12,6 @@
#endif
#endif
-//void promicro_bootloader_jmp(bool program);
-
#ifndef FLIP_HALF
// Standard Keymap
// (TRRS jack on the left half is to the right, TRRS jack on the right half is to the left)