qmk-keychron-q3-colemak-dh/keyboards/lets_split/keymaps/mekberg/keymap.c
Endemoniada 7677e8adde [Keymap] Add Endemoniada keymaps (#6875)
* Add dz60 keymap

* Add my TADA68 layout

* Fix descriptions and formatting

* Formatting fixes

* Add readme file

* Formatting

* move caps lock to correct key, add F-keys to both layers

* Add readme for dz60

* First draft of custom Let's Split layout

* Some more keys

* Finalized keymap

* Added a bunch of custom shortcuts to make layout easier to read

* Add PERMISSIVE_HOLD option to modtap behavior

* Add lock and sleep shortcuts, formatting

* Minor fixes and adjustments

* Add PERMISSIVE_HOLD option, add sleep/lock shortcuts, minor fixes

* Add sleep/lock shortcuts, minor fixes

* fixups

* Major simplification of lets_split layout into more standard raise/lower/special layers

* Remove layer songs, add to readme

* Formatting

* Switch a few keys around for reachability

* Add windows/mac specific layers

* simplify layers

* Update README

* Fix legends

* Invert numpad and put Del in upper right corner

* Disable arrow keys on Raise, add build instructions

* Move dz60 keymap to its own branch

* Remove redundant configuration

* Change volume and sleep keycodes to standard

* Removing empty rules.mk

* Changing layer defines to enum

* Adding comment to explain reason for swapping KC_TRNS and KC_NO fillers
2019-10-16 10:48:00 -07:00

229 lines
14 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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
)
};