From 57789c64bd97e99afb470f04ff096c920e66bccd Mon Sep 17 00:00:00 2001 From: Bubblepoint Date: Tue, 26 Apr 2016 05:39:33 +0200 Subject: [PATCH 1/7] basic layout --- .../ergodox_ez/keymaps/adnw_k_o_y/keymap.c | 185 ++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c diff --git a/keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c b/keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c new file mode 100644 index 0000000000..a836dbc85b --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c @@ -0,0 +1,185 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_german.h" + +#define BASE 0 // default layer +#define SYMB 1 // symbols +#define MDIA 2 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | = | 1 | 2 | 3 | 4 | 5 | LEFT | | RIGHT| 6 | 7 | 8 | 9 | 0 | - | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | K | . | O | , | Y | L1 | | L1 | V | G | C | L | ß | Z | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | H | A | E | I | U |------| |------| D | T | R | N | S | F | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |X/Ctrl| Q | Ä | Ü | Ö | | | | B | P | W | M | J | RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| '" |AltShf| Left | Right| | Up | Down | [ | ] | ~L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Alt |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp|------| |------| Tab |Enter | + * | |ace | End | | PgDn | | | + * `--------------------' `----------------------' + */ +// If it accepts an argument (i.e, is a function), it doesn't need KC_. +// Otherwise, it needs KC_* +[BASE] = KEYMAP( // layer 0 : default + // left hand + KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LEFT, + KC_DELT, DE_K, DE_DOT, DE_O, DE_COMM,DE_Y, TG(SYMB), + KC_BSPC, DE_H, DE_A, DE_E, DE_I, DE_U, + KC_LSFT, CTL_T(DE_X), DE_Q, DE_AE, DE_UE, DE_OE, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, + TG(SYMB), DE_V, DE_G, DE_C, DE_L, DE_SS, DE_Z, + DE_D, DE_T, DE_R, DE_N, LT(MDIA, DE_S), GUI_T(KC_F), + MEH_T(KC_NO),KC_B, KC_P, KC_W, KC_M, CTL_T(KC_J), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, + KC_LALT, CTL_T(KC_ESC), + KC_PGUP, + KC_PGDN,KC_TAB, KC_ENT + ), +/* Keymap 1: Symbol Layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | ! | @ | { | } | | | | | | Up | 7 | 8 | 9 | * | F12 | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` |------| |------| Down | 4 | 5 | 6 | + | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | & | 1 | 2 | 3 | \ | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | | | | | . | 0 | = | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | | | + * | | |------| |------| | | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// SYMBOLS +[SYMB] = KEYMAP( + // left hand + KC_TRNS,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_TRNS, + KC_TRNS,KC_EXLM,KC_AT, KC_LCBR,KC_RCBR,KC_PIPE,KC_TRNS, + KC_TRNS,KC_HASH,KC_DLR, KC_LPRN,KC_RPRN,KC_GRV, + KC_TRNS,KC_PERC,KC_CIRC,KC_LBRC,KC_RBRC,KC_TILD,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_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_UP, KC_7, KC_8, KC_9, KC_ASTR, KC_F12, + KC_DOWN, KC_4, KC_5, KC_6, KC_PLUS, KC_TRNS, + KC_TRNS, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS, KC_TRNS, + KC_TRNS,KC_DOT, KC_0, KC_EQL, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS +), +/* Keymap 2: Media and mouse keys + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | | | | | | | | | | | | | | | | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | | | | MsUp | | | | | | | | | | | | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | | | | | | | | | | | | Prev | Next | | | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | | | | Lclk | Rclk | |VolUp |VolDn | Mute | | | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | | | | | | + * ,------|------|------| |------+------+------. + * | | | | | | |Brwser| + * | | |------| |------| |Back | + * | | | | | | | | + * `--------------------' `--------------------' + */ +// MEDIA AND MOUSE +[MDIA] = KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MS_U, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_MS_L, KC_MS_D, KC_MS_R, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, + 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_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_MPLY, + KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MNXT, KC_TRNS, KC_TRNS, + KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, + KC_TRNS, + KC_TRNS, KC_TRNS, KC_WBAK +), +}; + +const uint16_t PROGMEM fn_actions[] = { + [1] = ACTION_LAYER_TAP_TOGGLE(SYMB) // FN1 - Momentary Layer 1 (Symbols) +}; + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) +{ + // MACRODOWN only works in this function + switch(id) { + case 0: + if (record->event.pressed) { + register_code(KC_RSFT); + } else { + unregister_code(KC_RSFT); + } + break; + } + return MACRO_NONE; +}; + +// Runs just one time when the keyboard initializes. +void matrix_init_user(void) { + +}; + +// Runs constantly in the background, in a loop. +void matrix_scan_user(void) { + + uint8_t layer = biton32(layer_state); + + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + switch (layer) { + // TODO: Make this relevant to the ErgoDox EZ. + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + default: + // none + break; + } + +}; From 0181663771a459252f75b1e78a602c4e5c35dc72 Mon Sep 17 00:00:00 2001 From: Tobias Matt Date: Tue, 26 Apr 2016 08:41:17 +0200 Subject: [PATCH 2/7] organize in subfolder --- keyboard/ergodox_ez/keymaps/{adnw_k_o_y => adnw/k_o_y}/keymap.c | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename keyboard/ergodox_ez/keymaps/{adnw_k_o_y => adnw/k_o_y}/keymap.c (100%) diff --git a/keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c similarity index 100% rename from keyboard/ergodox_ez/keymaps/adnw_k_o_y/keymap.c rename to keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c From d280a59c8224ebc78a712d43278e3b937243c6a8 Mon Sep 17 00:00:00 2001 From: Tobias Matt Date: Tue, 26 Apr 2016 08:43:56 +0200 Subject: [PATCH 3/7] add hex file --- .../ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex | Bin 0 -> 51776 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex diff --git a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex new file mode 100644 index 0000000000000000000000000000000000000000..1e07f234c83aec9898b8fc8e1f5da8012b2cc7ba GIT binary patch literal 51776 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Ùt)G6d<~&D zpf`-Mjs`f$WWBp#4gT52NhY|eSz1RllQ)vSLss6$s;79OD88t)p@(m1CJysgQ65}Y z6mUaEg&u1_t{O~KOW*?9L&|Xxd|e@FE~L{M1Yz7B4w>>ooD_~L&1V>;qOaEha})&}*EjLt!cTGtwWVrrN-04lW zDbvmg3!_30UZdauO|v2&lCy6V6$CfdQNnf?w-%Pix-wibTnz9a0Wgj>*{7;$uG{&~ zt~t`aYL96{J_UCz|vq&h?Se+(j;8N%zHj{x< zswWui4H!wF#OXC;>>H8P@o9eFW+L9nz9(OAFx1&-h>8Z5JSHXhXVtNIlc;417ii#b z?`*E>{~G-B=L?+s&8Xl{$dZAnDzBi3M zHTdT}YRFyapKqTnJQ7hHWWXx4C7(W^MYuTDf-pSAXZ16PCf<01{4rZ+3=3I%k`Mt!V5H+dF&As1_uE+}jgPNNsU7^{8T`2au7JbJ%Y{bjf&e=W!07d?v1~ zH5mMJ9?xwjvJk%0N;}T3?I7AYLx?I%(X2e1IQ1l6b|>crQ|tvivP<9$nh6H*eaUn1 z&oDo`ph!y}&!j<7d2bXxs-MY%8+D5QK)Y)@a5wJV)920YYzP0`J&Df+J;CA* zNC2!E10OU8|NMqtw%vcx%x5$+NBVKN=ZzB;y0QA1;uY6WSME`;nkVdYPkRYc@Xwad zy2|V0O{kK3iK)P^xYT~wHTY*UJ!h*jsxRxxOb9ojI<)-gx{=>lgMYRLJ2Q*!Am2~* z)9n!W8-?mzbN;itFC3uWn!JVCc#X$P@A9k4XrrZWod2w^FKor-G)@3z zCxGYHX;?U0zWJ;?>-;@H@pQxRm-iL? zv+Pj=QR~AYL6;&A%J=GLA$R3a1^>+YfC~(+w~eASr&Y(j5&!?UyWLr!nf>)YGjzZw+@V1XiRW z-USA@dRCq(i5ac{;U_$WzaWmIc&vfn-}Aj*Jwq5stJX#d4nDOJWb{f2dfAmswDrPF z@dTcN#-~_A=AN!Fb?rg~|9rU-Vx3tQteZ{kqN`g+*O{oXnIsj^M5V~HP>}~kfV3u5 z8!U_g2LFum;*r#jDOw;SoOwZ+1>f1lpv<%?2>zMUFQzRgB~rBD2G1B&n9vz);W=(( zD9@2BNYU7!o)hFs4y~C)-bqlC68tm!FARvOLZK>iN{GT03_rN#tLv&iD>Z8I#c3^*{py!!C9XLpyy_k z0xw=En-cu9v&5Ul$hi#=joz(#Pwgc+Q#sqgKRaS;J;)4aMvs9~Z(zkik|$`mx`{c0 zf6ghCCJ@G{PrM8Vl0dmu4wpvACIPxoUyhC<9mAV(31~64%s$SVubV6&?0Saz95IX! zbt9N!jZjEs)Ce{&3H6u-iuZt{OD2pBQOE9o=51#{he^I7+-B;04W9{9VlipOL(?VV Tfj9sz5x*S&fXDpb|MUL=g+>Di literal 0 HcmV?d00001 From d4710d8d7af904b1092c907c2ff259b9e4fdd43d Mon Sep 17 00:00:00 2001 From: Tobias Matt Date: Thu, 28 Apr 2016 15:01:27 +0200 Subject: [PATCH 4/7] shift to thumb key --- keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c index a836dbc85b..2126ae11f7 100644 --- a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c +++ b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c @@ -25,8 +25,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | App | LGui | | Alt |Ctrl/Esc| * ,------|------|------| |------+--------+------. * | | | Home | | PgUp | | | - * | Space|Backsp|------| |------| Tab |Enter | - * | |ace | End | | PgDn | | | + * | Space|LShift|------| |------| Tab |Enter | + * | | | End | | PgDn | | | * `--------------------' `----------------------' */ // If it accepts an argument (i.e, is a function), it doesn't need KC_. @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, - KC_SPC,KC_BSPC,KC_END, + KC_SPC,KC_LSFT,KC_END, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), DE_V, DE_G, DE_C, DE_L, DE_SS, DE_Z, From a101d9ebcd01bbba7b9a9f380457e4108e30878c Mon Sep 17 00:00:00 2001 From: Tobias Matt Date: Thu, 28 Apr 2016 15:02:40 +0200 Subject: [PATCH 5/7] update hex file --- .../ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex | Bin 51776 -> 51776 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex index 1e07f234c83aec9898b8fc8e1f5da8012b2cc7ba..b61483a630a9c872035d588c539b60eef0e07741 100644 GIT binary patch delta 37 qcmX>wh55h~<_%Ao#9R#x42%p63=Bbpg@J*wiGhKm@#f!5uEzo4qziTc delta 37 qcmX>wh55h~<_%Ao#Ecvb42%p63=Bbpg@J*wiGhKs Date: Thu, 28 Apr 2016 15:09:34 +0200 Subject: [PATCH 6/7] switch shift and enter thumb key --- .../ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex | Bin 51776 -> 51776 bytes .../ergodox_ez/keymaps/adnw/k_o_y/keymap.c | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/k_o_y.hex index b61483a630a9c872035d588c539b60eef0e07741..95036fc44445dddd1848076754462c69eb7af1f4 100644 GIT binary patch delta 64 zcmX>wh55h~<_%Ao#EdKq42%p63=Ba8kZo*YU|{Mz`8U%KF;`Qdlo?Ri4Jd60#6YHt K$!1O#^J4&Dz7c=` delta 64 zcmX>wh55h~<_%Ao#9R#x42%p63=Bbpg@J*wiGhKm@#No3Kg5iHTq84}up3Yss0@e< MEDbkvvX~zO0ARxrY5)KL diff --git a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c index 2126ae11f7..e33037b330 100644 --- a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c +++ b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/keymap.c @@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | App | LGui | | Alt |Ctrl/Esc| * ,------|------|------| |------+--------+------. * | | | Home | | PgUp | | | - * | Space|LShift|------| |------| Tab |Enter | + * | Space|Enter |------| |------| Tab |RShift| * | | | End | | PgDn | | | * `--------------------' `----------------------' */ @@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { LT(SYMB,KC_GRV),KC_QUOT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, ALT_T(KC_APP), KC_LGUI, KC_HOME, - KC_SPC,KC_LSFT,KC_END, + KC_SPC,KC_ENT ,KC_END, // right hand KC_RGHT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, TG(SYMB), DE_V, DE_G, DE_C, DE_L, DE_SS, DE_Z, @@ -49,7 +49,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_FN1, KC_LALT, CTL_T(KC_ESC), KC_PGUP, - KC_PGDN,KC_TAB, KC_ENT + KC_PGDN,KC_TAB, KC_RSFT ), /* Keymap 1: Symbol Layer * From 26e315a6bb026c2a722838c11ee4c101a80acc87 Mon Sep 17 00:00:00 2001 From: Tobias Matt Date: Sat, 14 May 2016 10:04:14 +0200 Subject: [PATCH 7/7] readme added --- keyboard/ergodox_ez/keymaps/adnw/k_o_y/readme.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/adnw/k_o_y/readme.md diff --git a/keyboard/ergodox_ez/keymaps/adnw/k_o_y/readme.md b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/readme.md new file mode 100644 index 0000000000..f0dd3815c1 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/adnw/k_o_y/readme.md @@ -0,0 +1,7 @@ +# Basic implementation for k.o,y variant of the adnw layout + +adnw is a layout optimised for usage with german and english language +k.o,y is a variant of this layout +http://www.adnw.de/index.php?n=Main.SeitlicheNachbaranschl%C3%A4ge + +The os must use the de_DE layout