From 56104858fc7d525315ac9f22f7ffa267df1a77ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Dec 2015 00:49:19 +0100 Subject: [PATCH 1/5] first version for german osx layout --- keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 213 ++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_osx_de.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c new file mode 100644 index 0000000000..b665b1f7e7 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -0,0 +1,213 @@ +// Netable differences vs. the default firmware for the ErgoDox EZ: +// 1. The Cmd key is now on the right side, making Cmd+Space easier. +// 2. The media keys work on OSX (But not on Windows). +#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 +#define CRSR 3 // media keys + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | ESC | 1 | 2 | 3 | 4 | 5 |Lctrl | |Rctrl | 6 | 7 | 8 | 9 | 0 | ß | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | TAB | Q | W | E | R | T | CMD | | CMD | Z | U | I | O | P | ü | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | L3 | A | S | D | F | G |------| |------| H | J | K | L | ö | ä/L2 | + * |--------+------+------+------+------+------| LALT | | RALT |------+------+------+------+------+--------| + * | LShift |Y/Ctrl| X | C | V | B | | | | N | M | , | . |-/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |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; + case 3: + ergodox_right_led_3_on(); + break; + default: + // none + break; + } + +}; From 1b579212d42d6a501f568c4ef894f4d8598c5ea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Dec 2015 00:54:43 +0100 Subject: [PATCH 2/5] added hex file and readme --- keyboard/ergodox_ez/keymaps/keymap_osx_de.hex | Bin 0 -> 65460 bytes .../keymaps/keymap_osx_de_README.md | 27 ++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_osx_de.hex create mode 100644 keyboard/ergodox_ez/keymaps/keymap_osx_de_README.md diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex new file mode 100644 index 0000000000000000000000000000000000000000..4a62ad2f898971c67bdcaccc3c1fe547bc7a5fb5 GIT binary patch literal 65460 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%0AWdE$$CW8d=qRd>B_Ca=lP{UMh^~mA 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 sCktr;?M?!`< Date: Sun, 20 Dec 2015 00:57:35 +0100 Subject: [PATCH 3/5] minor change --- keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 66 +++++++++++++++------ 1 file changed, 47 insertions(+), 19 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c index b665b1f7e7..96fd2217e6 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -10,6 +10,9 @@ #define SYMB 1 // symbols #define MDIA 2 // media keys #define CRSR 3 // media keys +#define NUMB 4 // number keys + + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 0: Basic layer @@ -26,7 +29,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | " | ' | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | | . | 0 | = | | + * | | | | | | | | . | ! | | | * `----------------------------------' `----------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -80,19 +83,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [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,DE_EXLM,DE_QST,KC_TRNS,KC_TRNS, + KC_TRNS,DE_HASH,DE_DLR, DE_BSLS,DE_SLSH,KC_DOT, + KC_TRNS,KC_TRNS,DE_CIRC,DE_PERC,DE_PIPE,DE_TILD,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_DEL,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, DE_BSLS, DE_LBRC, DE_RBRC, DE_PIPE, DE_HASH, KC_F12, + DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, KC_TRNS, + KC_TRNS, DE_AMPR, DE_LESS, DE_MORE, DE_DQUOT, DE_QUOT, KC_TRNS, + KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS @@ -100,11 +103,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Keymap 2: Media and mouse keys * * ,--------------------------------------------------. ,--------------------------------------------------. - * | | | | | | | | | | | | | | | | + * | | | | | | | | | | | | | | | Play | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | | | MsUp | | | | | | | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | Play | + * | | |MsLeft|MsDown|MsRght| |------| |------| | | | | | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | | Prev | Next | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' @@ -129,9 +132,9 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, // right hand + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, 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_TRNS, KC_TRNS, KC_TRNS, 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, @@ -158,6 +161,26 @@ KEYMAP( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ), +//number pad +KEYMAP( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, 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_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 +), }; const uint16_t PROGMEM fn_actions[] = { @@ -205,6 +228,11 @@ void * matrix_scan_user(void) { case 3: ergodox_right_led_3_on(); break; + case 4: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + ergodox_board_led_on(); + break; default: // none break; From 203528869d4fd6966b1f845538aaa7ab5611498d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Dec 2015 00:59:13 +0100 Subject: [PATCH 4/5] typo fix --- keyboard/ergodox_ez/keymaps/keymap_osx_de.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c index 96fd2217e6..bd7be78a34 100644 --- a/keyboard/ergodox_ez/keymaps/keymap_osx_de.c +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_de.c @@ -94,7 +94,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_TRNS, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_TRNS, DE_BSLS, DE_LBRC, DE_RBRC, DE_PIPE, DE_HASH, KC_F12, DE_SLSH, DE_LPRN, DE_RPRN, DE_LCBR, DE_RCBR, KC_TRNS, - KC_TRNS, DE_AMPR, DE_LESS, DE_MORE, DE_DQUOT, DE_QUOT, KC_TRNS, + KC_TRNS, DE_AMPR, DE_LESS, DE_MORE, DE_DQOT, DE_QUOT, KC_TRNS, KC_TRNS,KC_DOT, KC_EXLM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, From 737afc9dc7bcb5462e910f89f3c194d60df49fb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20Bo=CC=88sebeck?= Date: Sun, 20 Dec 2015 01:00:23 +0100 Subject: [PATCH 5/5] added hex file --- keyboard/ergodox_ez/keymaps/keymap_osx_de.hex | Bin 65460 -> 65460 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_de.hex index 4a62ad2f898971c67bdcaccc3c1fe547bc7a5fb5..221cceb5c9c2bb653e597c456c1d419b239f8874 100644 GIT binary patch delta 31 ncmdn;pLxrF<_*VK1>6jb3|$S33=9nnOpFZ-%r;+Rz4sFUzOoCO delta 31 kcmdn;pLxrF<_*VK1zZh`3=9nnK-k3Cz`$bjHP(AS0lg&)g#Z8m