From 14a5b4b5c8c5c8ad593cfa7b01d92998cb35a646 Mon Sep 17 00:00:00 2001 From: Justin Garrison Date: Wed, 30 Dec 2015 00:19:55 -0800 Subject: [PATCH 1/6] added dvorak keymap and layout picture --- keyboard/ergodox_ez/keymaps/keymap_dvorak.c | 184 ++++++++++++++++++ keyboard/ergodox_ez/keymaps/keymap_dvorak.png | Bin 0 -> 87314 bytes 2 files changed, 184 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_dvorak.c create mode 100644 keyboard/ergodox_ez/keymaps/keymap_dvorak.png diff --git a/keyboard/ergodox_ez/keymaps/keymap_dvorak.c b/keyboard/ergodox_ez/keymaps/keymap_dvorak.c new file mode 100644 index 0000000000..53934ea345 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_dvorak.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.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 | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | A | O | E | U | I |------| |------| D | H | T | N |S / L2| - | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| 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, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), + KC_BSPC, KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, 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_BSLS, + TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS, + MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), 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 +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; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/keymap_dvorak.png b/keyboard/ergodox_ez/keymaps/keymap_dvorak.png new file mode 100644 index 0000000000000000000000000000000000000000..cb8316309592e3e8098b198b0db14916741a5d75 GIT binary patch literal 87314 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

@H>k@RvK-?1FwxvLtU}> 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

&*o!rsa0H*YyXk_nSzTx>y2Q5oQ-RE7mRnBzrV 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 literal 0 HcmV?d00001 From 6da712ce5e4df09668cda8f208403d3fa29eacc3 Mon Sep 17 00:00:00 2001 From: Justin Garrison Date: Mon, 4 Jan 2016 09:18:06 -0800 Subject: [PATCH 2/6] added jgarr keymap for custom dvorak layout :yay: --- keyboard/ergodox_ez/keymaps/keymap_jgarr.c | 184 +++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_jgarr.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_jgarr.c b/keyboard/ergodox_ez/keymaps/keymap_jgarr.c new file mode 100644 index 0000000000..fbdc25109e --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_jgarr.c @@ -0,0 +1,184 @@ +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.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 + * + * ,--------------------------------------------------. ,-----------------------------------------------------. + * | Grv | 1 | 2 | 3 | 4 | 5 | Del | |Backspace| 6 | 7 | 8 | 9 | 0 | \ | + * |--------+------+------+------+------+-------------| |---------+------+------+------+------+------+--------| + * | Tab | ' | , | . | P | Y | L1 | | L1 | F | G | C | R | L | / | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * |Ctrl/Esc| A | O | E | U | I |------| |---------| D | H | T | N |S / L2| - | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |:/Ctrl| Q | J | K | X | | | | B | M | W | V |Z/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `----------------+------+------+------+------+--------' + * | Ctrl | LGui | Alt | Left | Right| | Up | Down | [ | ] | = | + * `----------------------------------' `----------------------------------' + * ,--------------. ,-------------. + * | AltShf| LGui | | Alt | ~L1 | + * ,------|-------|------| |------+--------+------. + * | | | Home | | PgUp | | | + * | Space|Backsp |------| |------| Enter |Space | + * | |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_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_DELT, + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, TG(1), + CTL_T(KC_ESC), KC_A, KC_O, KC_E, KC_U, KC_I, + KC_LSFT, CTL_T(KC_SCLN), KC_Q, KC_J, KC_K, KC_X, ALL_T(KC_NO), + KC_LCTL, KC_LGUI, KC_LALT, KC_LEFT, KC_RGHT, + LALT(KC_LSFT), KC_LGUI, + KC_HOME, + KC_SPC,KC_BSPC,KC_END, + // right hand + KC_BSPC, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, + TG(1), KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, + KC_D, KC_H, KC_T, KC_N, LT(MDIA, KC_S), KC_MINS, + MEH_T(KC_NO),KC_B, KC_M, KC_W, KC_V, CTL_T(KC_Z), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, KC_EQL, + KC_LALT, KC_FN1, + KC_PGUP, + KC_PGDN,KC_ENT, KC_SPC + ), +/* 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 +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 48eff6dd89672c6c71afd8a3d1cdc5d35b0bf768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81bastien=20Pe=CC=81rochon?= Date: Tue, 5 Jan 2016 10:49:36 +0100 Subject: [PATCH 3/6] quantum: Add French keymap for OSX (keymap_french_osx) --- quantum/keymap_extras/keymap_french_osx.h | 77 +++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 quantum/keymap_extras/keymap_french_osx.h diff --git a/quantum/keymap_extras/keymap_french_osx.h b/quantum/keymap_extras/keymap_french_osx.h new file mode 100644 index 0000000000..eb31bfb4d0 --- /dev/null +++ b/quantum/keymap_extras/keymap_french_osx.h @@ -0,0 +1,77 @@ +#ifndef KEYMAP_FRENCH_OSX_H +#define KEYMAP_FRENCH_OSX_H + +#include "keymap_common.h" + +// Normal characters +#define FR_AT KC_GRV +#define FR_AMP KC_1 +#define FR_EACU KC_2 +#define FR_QUOT KC_3 +#define FR_APOS KC_4 +#define FR_LPRN KC_5 +#define FR_SECT KC_6 +#define FR_EGRV KC_7 +#define FR_EXLM KC_8 +#define FR_CCED KC_9 +#define FR_AGRV KC_0 +#define FR_RPRN KC_MINS +#define FR_MINS KC_EQL + +#define FR_A KC_Q +#define FR_Z KC_W +#define FR_CIRC KC_LBRC +#define FR_DLR KC_RBRC + +#define FR_Q KC_A +#define FR_M KC_SCLN +#define FR_UGRV KC_QUOT +#define FR_GRV KC_NUHS + +#define FR_LESS KC_NUBS +#define FR_W KC_Z +#define FR_COMM KC_M +#define FR_SCLN KC_COMM +#define FR_COLN KC_DOT +#define FR_EQL KC_SLSH + +// Shifted characters +#define FR_HASH LSFT(KC_GRV) +#define FR_1 LSFT(KC_1) +#define FR_2 LSFT(KC_2) +#define FR_3 LSFT(KC_3) +#define FR_4 LSFT(KC_4) +#define FR_5 LSFT(KC_5) +#define FR_6 LSFT(KC_6) +#define FR_7 LSFT(KC_7) +#define FR_8 LSFT(KC_8) +#define FR_9 LSFT(KC_9) +#define FR_0 LSFT(KC_0) +#define FR_UNDS LSFT(FR_MINS) + +#define FR_UMLT LSFT(FR_CIRC) +#define FR_ASTR LSFT(FR_DLR) + +#define FR_PERC LSFT(FR_UGRV) +#define FR_PND LSFT(FR_GRV) + +#define FR_GRTR LSFT(FR_LESS) +#define FR_QUES LSFT(FR_COMM) +#define FR_DOT LSFT(FR_SCLN) +#define FR_SLSH LSFT(FR_COLN) +#define FR_PLUS LSFT(FR_EQL) + +// Alted characters +#define FR_LCBR LALT(KC_5) +#define FR_RCBR LALT(FR_RPRN) +#define FR_EURO LALT(KC_E) +#define FR_BULT LALT(FR_DLR) +#define FR_TILD LALT(KC_N) + +// Shift+Alt-ed characters +#define FR_LBRC LSFT(LALT(KC_5)) +#define FR_RBRC LSFT(LALT(FR_RPRN)) +#define FR_PIPE LSFT(LALT(KC_L)) +#define FR_BSLS LSFT(LALT(FR_COLN)) + +#endif \ No newline at end of file From 14b4a01e7e0d567f3b0bb31d42bf6b85b38d0555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81bastien=20Pe=CC=81rochon?= Date: Tue, 5 Jan 2016 10:49:49 +0100 Subject: [PATCH 4/6] ergodox_ez: Add French keymap for OSX (keymap_osx_fr) based on keymap_default_osx --- keyboard/ergodox_ez/keymaps/keymap_osx_fr.c | 187 ++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_osx_fr.c diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c new file mode 100644 index 0000000000..4b59d2eb29 --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.c @@ -0,0 +1,187 @@ +// French AZERTY version of the default_osx file +#include "ergodox_ez.h" +#include "debug.h" +#include "action_layer.h" +#include "keymap_extras/keymap_french_osx.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 + * + * ,--------------------------------------------------. ,--------------------------------------------------. + * | - | & | é | " | ' | ( | LEFT | | RIGHT| § | è | ! | ç | à | ) | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Del | A | Z | E | R | T | L1 | | L1 | Y | U | I | O | P | ` | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * | BkSp | Q | S | D | F | G |------| |------| H | J | K | L | M | LGui | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |W/Ctrl| X | C | V | B | | | | N | , |; / L2| : |=/Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * | ù /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 + FR_MINS, FR_AMP, FR_EACU, FR_QUOT, FR_APOS, FR_LPRN, KC_LEFT, + KC_DELT, FR_A, FR_Z, KC_E, KC_R, KC_T, TG(1), + KC_BSPC, FR_Q, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(FR_W), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + LT(SYMB,FR_UGRV), FR_LESS, 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, FR_SECT, FR_EGRV, FR_EXLM, FR_CCED, FR_AGRV, FR_RPRN, + TG(1), KC_Y, KC_U, KC_I, KC_O, KC_P, FR_GRV, + KC_H, KC_J, KC_K, KC_L, FR_M, KC_LGUI, + MEH_T(KC_NO), KC_N, FR_COMM, LT(MDIA, FR_SCLN), FR_COLN, CTL_T(FR_EQL), 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,FR_EXLM,FR_AT, FR_LCBR,FR_RCBR,FR_PIPE,KC_TRNS, + KC_TRNS,FR_HASH,FR_DLR, FR_LPRN,FR_RPRN,FR_GRV, + KC_TRNS,FR_PERC,FR_CIRC,FR_LBRC,FR_RBRC,FR_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, FR_7, FR_8, FR_9, FR_ASTR, KC_F12, + KC_DOWN, FR_4, FR_5, FR_6, FR_PLUS, KC_TRNS, + KC_TRNS, FR_AMP, FR_1, FR_2, FR_3, FR_BSLS, KC_TRNS, + KC_TRNS,FR_COMM, FR_0, FR_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 +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; + } + +}; \ No newline at end of file From bee19e5261b9c4be53932d4fe12424685369921e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=CC=81bastien=20Pe=CC=81rochon?= Date: Tue, 5 Jan 2016 10:56:10 +0100 Subject: [PATCH 5/6] ergodox_ez: Add keymap_osx_fr hex file --- keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex | Bin 0 -> 64680 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex diff --git a/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex b/keyboard/ergodox_ez/keymaps/keymap_osx_fr.hex new file mode 100644 index 0000000000000000000000000000000000000000..8915d9caa55e386a447d44f0f46d4ef4a98d16d2 GIT binary patch literal 64680 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 Date: Tue, 5 Jan 2016 11:44:08 +0100 Subject: [PATCH 6/6] Andrew's OSX ergodox ez keymap --- .../ergodox_ez/keymaps/keymap_andrew_osx.c | 187 ++++++++++++++++++ .../ergodox_ez/keymaps/keymap_andrew_osx.hex | Bin 0 -> 66151 bytes 2 files changed, 187 insertions(+) create mode 100644 keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c create mode 100644 keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex diff --git a/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c new file mode 100644 index 0000000000..48f8c5d2ff --- /dev/null +++ b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.c @@ -0,0 +1,187 @@ +// 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" + +#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 | '" | | '" | 6 | 7 | 8 | 9 | 0 | BkSp | + * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| + * | Tab | Q | W | E | R | T | ~L1 | | ~L1 | Y | U | I | O | P | - | + * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| + * |Ctrl/Esc| A | S | D | F | G |------| |------| H | J | K | L |; / L2| / | + * |--------+------+------+------+------+------| Hyper| | Meh |------+------+------+------+------+--------| + * | LShift |Z/Ctrl| X | C | V | B | | | | N | M | , | . |//Ctrl| RShift | + * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' + * |Grv/L1| Alt |AltShf| Left | Right| | Up | Down | [ | ] | L1 | + * `----------------------------------' `----------------------------------' + * ,-------------. ,-------------. + * | App | LGui | | Esc |Ctrl/Esc| + * ,------|------|------| |------+--------+------. + * | | | ( | | { | | | + * | Space| LGui |------| |------| RGui |Enter | + * | | | ) | | } | | | + * `--------------------' `----------------------' + */ +// 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_QUOT, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_FN1, + CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, + KC_LSFT, CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, ALL_T(KC_NO), + LT(SYMB,KC_GRV),KC_LALT, LALT(KC_LSFT), KC_LEFT,KC_RGHT, + ALT_T(KC_APP), KC_LGUI, + KC_LPRN, + KC_SPC,KC_LGUI,KC_RPRN, + // right hand + KC_QUOT, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, + KC_FN1, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS, + KC_H, KC_J, KC_K, KC_L, LT(MDIA, KC_SCLN),KC_BSLS, + MEH_T(KC_NO),KC_N, KC_M, KC_COMM,KC_DOT, CTL_T(KC_SLSH), KC_RSFT, + KC_UP, KC_DOWN,KC_LBRC,KC_RBRC, TG(1), + KC_ESC, CTL_T(KC_ESC), + KC_LCBR, + KC_RCBR,KC_RGUI, 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 +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; + } + +}; diff --git a/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex b/keyboard/ergodox_ez/keymaps/keymap_andrew_osx.hex new file mode 100644 index 0000000000000000000000000000000000000000..e3ee9afd3e9c226febea3216b3f4dd79d63c2883 GIT binary patch literal 66151 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 F{y#1QvDN?p literal 0 HcmV?d00001