--- /dev/null
+#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
+)
+
+};
--- /dev/null
+#include QMK_KEYBOARD_H
+
+// Fillers to make layering more clear
+// The default names have been swapped to make the keymap more readable.
+#define XXXXXX KC_TRNS
+#define ______ KC_NO
+
+// ISO keycodes with Swedish layout names
+#define SE_PLUS KC_MINS // +
+#define SE_TCK KC_EQL // Fronttick (´)
+#define SE_DASH KC_SLSH // -
+#define SE_UML KC_RBRC // Umlaut (¨)
+#define SE_QUT KC_NUHS // Singlequote (')
+#define SE_AUML KC_QUOT // Ä
+#define SE_ARNG KC_LBRC // Å
+#define SE_OUML KC_SCLN // Ö
+#define SE_LT KC_NUBS // <
+
+// 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
+
+
+/*
+TADA68 ISO physical layout
+1u == 8chars
+,----------------------------------------------------------------------------------------------------------------------------------------------.
+| | | | | | | | | | | | | | 2u | |
+|----------------------------------------------------------------------------------------------------------------------------------------------|
+| 1,5u | | | | | | | | | | | | | 1,5u | |
+|--------------------------------------------------------------------------------------------------------------------------| |--------|
+| 1,75u | | | | | | | | | | | | | 1,25u | |
+|----------------------------------------------------------------------------------------------------------------------------------------------|
+| 1,25u | | | | | | | | | | | | 1,75u | | |
+|----------------------------------------------------------------------------------------------------------------------------------------------|
+| 1,25u | 1,25u | 1,25u | | | | | | | |
+`----------------------------------------------------------------------------------------------------------------------------------------------'
+*/
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT_iso(
+// ,----------------------------------------------------------------------------------------------------------------------------------------------.
+// | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | + | ´ | Backspace | Home |
+ KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SE_PLUS, SE_TCK, KC_BSPC, KC_HOME,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | Tab | Q | W | E | R | T | Y | U | I | O | P | Å | ¨ | | End |
+ LT(2,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, SE_ARNG, SE_UML, KC_END,
+// |--------------------------------------------------------------------------------------------------------------------------| |--------|
+// | LCtrl | A | S | D | F | G | H | J | K | L | Ö | Ä | ' | Enter | PgUp |
+ KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SE_OUML, SE_AUML, SE_QUT, KC_ENT, KC_PGUP,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | LShift | <> | Z | X | C | V | B | N | M | , | . | - | RShift | Up | PgDn |
+ KC_LSFT, SE_LT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SE_DASH, KC_RSFT, KC_UP, KC_PGDN,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | LCtrl | LAlt | Command | Space |Command | RAlt | Fn | Left | Down | Right |
+ KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_LGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
+// `----------------------------------------------------------------------------------------------------------------------------------------------'
+ ),
+
+ [1] = LAYOUT_iso(
+// ,----------------------------------------------------------------------------------------------------------------------------------------------.
+// | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | Ins |
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | | | Up | | | | | | | | | | | | Mute |
+ ______, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC__MUTE,
+// |--------------------------------------------------------------------------------------------------------------------------| Lock |--------|
+// | Caps Lock | Left | Down | Right | BLight | | | | | | | | | Screen | VolUp |
+ KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, BL_BRTG, ______, ______, ______, ______, ______, ______, ______, ______, MY_LOCK, KC_VOLU,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | | | | | Bl- |BLtoggle | Bl+ | | | | | | | Stop | VolDn |
+ ______, ______, ______, ______, BL_DEC, BL_TOGG, BL_INC, ______, ______, ______, ______, ______, ______, KC_MSTP, KC_VOLD,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | | | | Sleep | | | | Prev | Play | Fwd |
+ ______, ______, ______, KC_SLEP, ______, ______, XXXXXX, MY_PREV, MY_PLAY, MY_NEXT
+// `----------------------------------------------------------------------------------------------------------------------------------------------'
+ ),
+
+ [2] = LAYOUT_iso(
+// ,----------------------------------------------------------------------------------------------------------------------------------------------.
+// | Esc | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Delete | |
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, ______,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | | | Up | | | | | | | | | | | | Mute |
+ XXXXXX, ______, KC_UP, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC__MUTE,
+// |--------------------------------------------------------------------------------------------------------------------------| |--------|
+// | | Left | Down | Right | | | Left | Down | Up | Right | | | | | VolUp |
+ ______, KC_LEFT, KC_DOWN, KC_RGHT, ______, ______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, ______, ______, ______, ______, KC_VOLU,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | | | | | | | | | | | | | | Stop | VolDn |
+ ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, ______, KC_MSTP, KC_VOLD,
+// |----------------------------------------------------------------------------------------------------------------------------------------------|
+// | | | | | | | | Prev | Play | Fwd |
+ ______, ______, ______, ______, ______, ______, ______, MY_PREV, MY_PLAY, MY_NEXT
+// `----------------------------------------------------------------------------------------------------------------------------------------------'
+ )
+};