forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[Keymap] gipsy-king's layout for cornelius (qmk#14602)
Co-authored-by: Benjamin Große <ste3ls@gmail.com>
- Loading branch information
Showing
2 changed files
with
141 additions
and
0 deletions.
There are no files selected for viewing
102 changes: 102 additions & 0 deletions
102
keyboards/foostan/cornelius/keymaps/gipsy-king/keymap.c
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
/* Copyright 2021 gipsy-king | ||
* | ||
* 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/>. | ||
*/ | ||
#include QMK_KEYBOARD_H | ||
|
||
// Raise layer or enter on tap | ||
#define RAISE LT(1, KC_ENT) | ||
// Xmonad layer with LGUI always on | ||
#define MOD4 LM(2, MOD_LGUI) | ||
// Oneshot | ||
#define ONESHOT OSL(3) | ||
// Mic-mute-tap or Fn layer (F20 is mic-mute on thinkpads) | ||
#define FNLAY LT(3, KC_F20) | ||
|
||
enum custom_keycodes { | ||
EMAIL = SAFE_RANGE, | ||
EMAIL_W, | ||
}; | ||
|
||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||
/* Qwerty | ||
* .-----------------------------------------------------------------------------------. | ||
* | Tab | Q | W | E | R | T | Y | U | I | O | P |Backsp| | ||
* |------+------+------+------+------+------|------+------+------+------+------+------| | ||
* | Esc | A | S | D | F | G | H | J | K | L | ; | ' | | ||
* |------+------+------+------+------+------|------+------+------+------+------+------| | ||
* | - | Z | X | C | V | B | N | M | , | . | / | = | | ||
* |------+------+------+------+------+------+------+------+------+------+------+------| | ||
* | LCTR | LGUI | LALT | MOD4 | ^( | Space|Ent/Ra| ^) | RALT | MUTE | RGUI | RCTR | | ||
* '-----------------------------------------------------------------------------------' | ||
*/ | ||
[0] = LAYOUT( | ||
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_MINS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_EQL, | ||
KC_LCTL,KC_LALT,KC_LGUI,MOD4, KC_LSPO,KC_SPC, RAISE, KC_RSPC,KC_RALT,KC_RGUI,FNLAY, KC_RCTL | ||
), | ||
/* Raise | ||
* .-----------------------------------------------------------------------------------. | ||
* | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | \ | | ||
* |------+------+------+------+------+------|------+------+------+------+------+------| | ||
* | ~ | { | PgUp | PgDn | End | Home | <- | \/ | /\ | -> | } | | | | ||
* |------+------+------+------+------+------|------+------+------+------+------+------| | ||
* | [ | ! | @ | # | $ | % | ^ | & | * | ( | ) | ] | | ||
* |------+------+------+------+------+------+------+------+------+------+------+------| | ||
* | | | | | | | | | | | | | | ||
* '-----------------------------------------------------------------------------------' | ||
*/ | ||
[1] = LAYOUT( | ||
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, | ||
KC_TILD,KC_LCBR,KC_PGUP,KC_PGDN,KC_END, KC_HOME,KC_LEFT,KC_DOWN,KC_UP, KC_RGHT,KC_RCBR,KC_PIPE, | ||
KC_LBRC,KC_EXLM,KC_AT, KC_HASH,KC_DLR, KC_PERC,KC_CIRC,KC_AMPR,KC_ASTR,KC_LPRN,KC_RPRN,KC_RBRC, | ||
_______,_______,_______,_______,_______,_______,_______,_______,_______,ONESHOT,_______,_______ | ||
), | ||
/* XMONAD | ||
* Top row: Quit, Workspace shortcuts, Run | ||
* Middle row: Float, HJKL | ||
* Bottom row: Shift, Close, Border, Keyboard reset | ||
* Thumbs: Estra shifts, Space, Enter, Shifts | ||
*/ | ||
[2] = LAYOUT( | ||
KC_Q, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_P, KC_MUTE, | ||
KC_LSFT,_______,_______,_______,_______,KC_T, KC_H, KC_J, KC_K, KC_L, _______,_______, | ||
KC_LSFT,_______,_______,KC_C, _______,KC_B, _______,_______,_______,_______,_______,_______, | ||
_______,_______,_______,KC_LSFT,KC_LSFT,KC_SPC, KC_ENT, KC_LSFT,_______,_______,KC_VOLD,KC_VOLU | ||
), | ||
/* Fn | ||
* Some macros, Keyboard-reset, mouse and audio. | ||
*/ | ||
[3] = LAYOUT( | ||
_______,_______,EMAIL_W,EMAIL, _______,_______,_______,_______,_______,_______,_______,RESET, | ||
_______,_______,_______,_______,_______,_______,KC_MS_L,KC_MS_D,KC_MS_U,KC_MS_R,_______,_______, | ||
_______,_______,_______,_______,_______,_______,KC_BTN1,KC_MUTE,KC_VOLD,KC_VOLU,KC_BRID,KC_BRIU, | ||
_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______ | ||
) | ||
}; | ||
|
||
bool process_record_user(uint16_t keycode, keyrecord_t *record) { | ||
if (record->event.pressed) { | ||
switch (keycode) { | ||
case EMAIL: | ||
SEND_STRING("ste3ls@gmail.com"); | ||
break; | ||
case EMAIL_W: | ||
SEND_STRING("benjamin@midokura.com"); | ||
break; | ||
} | ||
} | ||
return true; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Gipsy-King's Cornelius layout | ||
|
||
Common typing only needs a base and a symbols layer. Layer changes are on the | ||
thumbs *including* shift and non-english variants. | ||
|
||
The importance of having shift on your thumbs is that you don't need to press | ||
some letters with pinky OR ring, depending on shift. | ||
|
||
## Base QWERTY layer | ||
|
||
* Tab, Backspace, Space, Ctrl/Alt/Mod are similar to a generic keyboard. | ||
* Esc is like when you remap CapsLock to Esc on a generic keyboard (vim). | ||
* Enter is on right thumb and raises Symbol layer on hold, because you rarely | ||
hold. | ||
* Shifts are on both thumbs! | ||
* Leftmost thumb changes to Xmonad window management layer. | ||
* Rightmost thumb is Right-Alt which is for `us-intl-altgr` layout (althoug I | ||
use kmonad to universally map international characters on all keyboards). | ||
* `-` and `=` are on the lower pinkies. | ||
* `F20` is mic-mute on my thinkpad laptop. | ||
|
||
## Symbol layer (Raise) | ||
|
||
* Top row is numbers, bottom row are their symbols. Most people do it the other | ||
way 'round. | ||
* Middle row has curly brackets, and some navigation and arrows. | ||
* Square brackets are on the lower pinkies. | ||
* ```~\|`` are places aroung top/outer corners. | ||
|
||
## Xmonad layer (Window management) | ||
|
||
I use Xmonad to completely manage windows with just my keyboard. This layer | ||
accommodates most shortcuts. | ||
|
||
## Fn layer | ||
|
||
Lastly, some macros, mousekeys (not used, really), some media keys, and the | ||
function-keys (I use them maybe once in a decade). | ||
|