Merge pull request #118 from sboesebeck/master

created new layer for egosooters like counterstrike
master
Erez Zukerman 2016-01-31 10:54:59 -05:00
commit 1dbd6c2ba1
2 changed files with 163 additions and 29 deletions

View File

@ -6,12 +6,26 @@
#define BASE 0 // default layer
#define SYMB 1 // symbols
#define MDIA 2 // media keys
#define CRSR 3 // media keys
#define SMLY 3 // media keys
#define NUMB 4 // number keys
#define EGOS 5 // Egoshooter layer
#define M_CTRL_CMDV 1
#define M_CTRL_CMDC 2
#define M_MEH_SH_ACUT 3
#define M_DE_PLUS_CTRLALT 12
#define M_DE_CIRC_CTRLCMD 13
#define M_TOGGLE_5 14
#define SM_SMILE 4
#define SM_SMIRK 5
#define SM_FROWN 6
#define SM_CRY 7
#define SM_KISS 8
#define SM_HEART 9
#define SM_LAUGH 10
#define SM_SAD 11
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 0: Basic layer
@ -43,16 +57,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, DE_Q, DE_W, DE_E, DE_R, DE_T, KC_LGUI,
KC_LALT, DE_A, DE_S, DE_D, DE_F, DE_G,
KC_LSFT, CTL_T(DE_Y), DE_X, DE_C, DE_V, DE_B, KC_LALT,
LT(SYMB,KC_GRV), DE_LESS, LALT(KC_LSFT), KC_LEFT,KC_RGHT,
LT(SYMB,DE_LESS), M(M_DE_CIRC_CTRLCMD), M(M_DE_PLUS_CTRLALT), LALT(KC_LSFT), LGUI(KC_LSFT),
M(M_MEH_SH_ACUT), TG(2),
KC_HOME,
KC_BSPC,KC_DEL, KC_END,
KC_BSPC,KC_DEL, LT(SMLY,KC_END),
// right hand
M(M_CTRL_CMDC), DE_6, DE_7, DE_8, DE_9, DE_0, DE_SS,
KC_RGUI, DE_Z, DE_U, DE_I, DE_O, DE_P, DE_UE,
DE_H, DE_J, DE_K, DE_L, DE_OE, ALT_T(DE_AE),
KC_RALT, DE_N, DE_M, DE_COMM,DE_DOT, CTL_T(DE_MINS), KC_RSFT,
KC_UP, KC_DOWN,LGUI(KC_LSFT),DE_PLUS, LT(SYMB,DE_HASH),
KC_LEFT, KC_UP,KC_DOWN,KC_RIGHT, LT(SYMB,DE_HASH),
TG(4), ALL_T(DE_ACUT),
KC_PGUP,
KC_PGDN,KC_ENT, KC_SPC
@ -60,7 +74,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 1: Symbol Layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
* | | F1 | F2 | F3 | F4 | F5 | | | L5 | F6 | F7 | F8 | F9 | F10 | F11 |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | < | > | ! | ? | | | | | \ | [ | ] | | | # | F12 |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@ -90,7 +104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS,
KC_TRNS,KC_DEL,KC_TRNS,
// right hand
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
M(M_TOGGLE_5), KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, LALT(LSFT(KC_7)), LALT(KC_5), LALT(KC_6), LALT(KC_7), DE_HASH, KC_F12,
DE_SLSH, DE_LPRN, DE_RPRN, LALT(KC_8), LALT(KC_9), KC_TRNS,
KC_TRNS, DE_AMPR, KC_GRV, LSFT(KC_GRV), DE_DQOT, DE_QUOT, DE_QST,
@ -102,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap 2: Media and mouse keys
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | Mute | | | | | | Play |
* | | | | | | | | | Mute | | | | | | EGOS |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | Lclk | MsUp | Rclk | WlUp | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
@ -140,20 +154,20 @@ KEYMAP(
KC_TRNS,
KC_TRNS, KC_TRNS, KC_WBAK
),
// ADNW-KOY layer
/* Keymap 3: ADNW-Koy layer
* ADNW-Koy is a special layout designed to be ergonomic. Was created using software to determine the most ergonomic way to type German and English texts.
/* Keymap 3: Smiley layer
* making it easier to type smileys... tipp: on osx you can easily replace those smileys with the UTF-8 character using
* keyboard short commands...
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | | | | | | | - |
* | | | | | | | | | :-) | ;-) | :-D | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | K | . | O | , | Y | | | | V | G | C | L | ß | Z |
* | | | | | | | | | | :-{ | :-( | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | H | A | E | I | U |------| |------| D | T | R | N | S | F/L2 |
* | | | | | | |------| |------| <3 | :-* | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M |J/Ctrl| RShift |
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* |</L1| ^ |AltShf| Left | Right| | Up | Down | CMD-SHIFT | ´ | //L1 |
* | | | | | | | | | | | r|
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
@ -165,18 +179,18 @@ KEYMAP(
*/
KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_K, KC_DOT, KC_O, KC_COMM, KC_Z, KC_TRNS,
KC_TRNS, KC_H, KC_A, KC_E, KC_I, KC_U,
KC_TRNS, CTL_T(KC_X),KC_Q, DE_AE, DE_UE, DE_OE, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
// right hand
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
KC_TRNS, KC_V, KC_G, KC_C, KC_L, KC_MINS, KC_Y,
KC_D, KC_T, KC_R, KC_N, KC_S, LT(MDIA,KC_F),
KC_TRNS, KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_TRNS,
M(SM_SMILE), M(SM_SMIRK), M(SM_LAUGH), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, M(SM_FROWN), M(SM_SAD), M(SM_CRY), KC_TRNS, KC_TRNS, KC_TRNS,
M(SM_HEART), M(SM_KISS), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
@ -195,9 +209,50 @@ KEYMAP(
// right hand
KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
KC_TRNS, KC_UP, KC_7, KC_8, KC_9, LSFT(KC_RBRC), KC_F12,
KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, KC_TRNS,
KC_DOWN, KC_4, KC_5, KC_6, KC_RBRC, DE_MINS,
KC_TRNS, LSFT(KC_6), KC_1, KC_2, KC_3, LSFT(KC_7), KC_TRNS,
KC_0,KC_DOT, KC_0, KC_EQL, KC_TRNS,
KC_0,KC_DOT, KC_0, DE_EQL, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
),
/* Keymap 3: Egoshooter layer
*
* ,--------------------------------------------------. ,--------------------------------------------------.
* | | | | | | | | | L5 | | | | | | |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | SHIFT | | | | | |------| |------| | | | | | |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
* | | | | | | | | | | | | | | | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
* | CTRL | | | | | | | | | | |
* `----------------------------------' `----------------------------------'
* ,-------------. ,-------------.
* | F1 | F2 | | | |
* ,------|------|------| |------+--------+------.
* | | | F3 | | | | |
* | SPACE| CTRL|------| |------| | |
* | | | F4 | | | | |
* `--------------------' `----------------------'
*/
KEYMAP(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_F1, KC_F2,
KC_F3,
KC_SPC, KC_LCTL, KC_F4,
// right hand
M(M_TOGGLE_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS
@ -206,7 +261,7 @@ KEYMAP(
const uint16_t PROGMEM fn_actions[] = {
[1] = ACTION_LAYER_TAP_TOGGLE(SYMB), // FN1 - Momentary Layer 1 (Symbols)
[2] = ACTION_LAYER_TAP_TOGGLE(CRSR) // FN2 - Momentary Layer 2 (Cursors)
[2] = ACTION_LAYER_TAP_TOGGLE(SMLY) // FN2 - Momentary Layer 2 (Smiley)
};
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
@ -257,7 +312,80 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
}
}
break;
}
case M_DE_CIRC_CTRLCMD:
if (record->event.pressed) {
start = timer_read();
return MACRO(D(LCTRL),D(LGUI),END);
} else {
if (timer_elapsed(start) > 150){
return MACRO(U(LCTRL),U(LGUI),END);
} else {
return MACRO(U(LCTRL),U(LGUI),T(NUBS),END);
}
}
break;
case M_DE_PLUS_CTRLALT:
if (record->event.pressed) {
start = timer_read();
return MACRO(D(LCTRL),D(LALT),END);
} else {
if (timer_elapsed(start) > 150){
return MACRO(U(LCTRL),U(LALT),END);
} else {
return MACRO(U(LCTRL),U(LALT),T(RBRC),END);
}
}
break;
case SM_SMILE:
if (record->event.pressed) {
return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END);
}
break;
case SM_SMIRK:
if (record->event.pressed) {
return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(9),U(LSFT),END);
}
break;
case SM_CRY:
if (record->event.pressed) {
return MACRO(D(LSFT),T(COMM),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END);
}
break;
case SM_SAD:
if (record->event.pressed) {
return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(8),U(LSFT),END);
}
break;
case SM_HEART:
if (record->event.pressed) {
return MACRO(T(GRV),T(3),END);
}
break;
case SM_LAUGH:
if (record->event.pressed) {
return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(D),U(LSFT),END);
}
break;
case SM_KISS:
if (record->event.pressed) {
return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LSFT),T(RBRC),U(LSFT),END);
}
break;
case SM_FROWN:
if (record->event.pressed) {
return MACRO(D(LSFT),T(DOT),U(LSFT),T(SLSH),D(LALT),T(8),U(LALT),END);
}
break;
case M_TOGGLE_5:
if (record->event.pressed){
layer_state ^= (1<<5);
layer_state &= (1<<5);
}
break;
}
return MACRO_NONE;
};
@ -291,6 +419,11 @@ void * matrix_scan_user(void) {
ergodox_right_led_3_on();
//ergodox_board_led_on();
break;
case 5:
ergodox_right_led_1_on();
ergodox_right_led_2_on();
ergodox_right_led_3_on();
break;
default:
// none
break;

View File

@ -4,13 +4,14 @@ Dies ist nur ein kleiner Tweak der bestehenden firmware für das ErgoDox-EZ-Keyb
- Die Umlaute sollten an einigermassen sinnvollen Plätzen liegen
- der Umstieg sollte dadurch erleichtert werden, dass einige Tasten an ihren "normalen" Platz zurückgewandert sind. Z.B. ESC, Tab,...
- die Leertaste lässt sich jetzt mit beiden Daumen bedienen
- die Leertaste ist jetzt auf der rechten seite, neben Enter. Dafür hat der linke Daumen nun Backspace und Delete.
- die CMD- und Alt-Tasten sind in der Mitte einfach erreichbar.
- es gibt eine neue Layer für die Nutzung der Cursortasten, dort sind sie etwas einfacher angeordnet und sind z.B. auch für Spiele nutzbar
- es gibt eine neue Layer die für Spiele genutzt werden kann (egosooter wie Counter Strike). Dort liegen die wichtigsten Tasten auf der linken Seite, im Daumenblock z.B. space und ctrl sowie die F-Tasten 1-4. Diese Layer ist über die Symbollayer erreichbar.
- Die Symbollayer wurde dahingehend angepasst, dass die klammern, etc nun auf beiden hälften der Tastatur zu finden sind
- der Zehnerblock wurde in eine eigene Layer umgezogen
- die Meh und Hyper-Tasten wurden in die Daumenblöcke umgezogen
------------------------------
# ErgoDox EZ for OSX