diff --git a/keyboards/ergodox/keymaps/familiar/README.md b/keyboards/ergodox/keymaps/familiar/README.md index 7e3bce406..4438fccf0 100644 --- a/keyboards/ergodox/keymaps/familiar/README.md +++ b/keyboards/ergodox/keymaps/familiar/README.md @@ -23,12 +23,12 @@ Key features of the familiar layout: 1. QWERTY default layout. 1. International symbols layer, mapped in the US-International layout default positions, through [UCIS](https://github.com/qmk/qmk_firmware/wiki/Unicode-and-additional-language-support#ucis_enable). 1. Numpad layer on right hand. -1. Thumb cluster holds spacebar, ALT, and access to secondary layers. +1. Thumb cluster holds spacebar and access to secondary layers. 1. Function-layer arrow keys in both the first-person-shooter (actually ESDF instead of WASD) and vim (HJKL) locations. ## Install -If you are on Windows or Mac, choose the proper line in [`keymap.c`](keymap.c) for [unicode/international character support](https://github.com/qmk/qmk_firmware/wiki/Unicode-and-additional-language-support#ucis_enable) (starts at line 235). +If you are on Windows or Mac, choose the proper line in [`keymap.c`](keymap.c) for [unicode/international character support](https://github.com/qmk/qmk_firmware/wiki/Unicode-and-additional-language-support#ucis_enable) (starts at line 253). ```c void matrix_init_user(void) { set_unicode_input_mode(UC_LNX); // Linux @@ -45,13 +45,15 @@ $ make ergodox-ez-familiar-teensy ## Usage +NOTE: The keymap below is out of date. + [![Familiar Layout](https://i.imgur.com/jflmkBb.png)](http://www.keyboard-layout-editor.com/#/gists/13508a9f99cff381d58b7be6f7dcc644) ### Layers 1. Base Layer: QWERTY, with arrow keys at bottom right. -1. UCIS Layer: US-International symbols layer, plus —. Accessed by toggling the `INTL` layer using the UCIS key (bottom of left thumb cluster). -1. UCIS-Shifted Layer: Making shift work for UCIS characters. An ugly workaround. Any ideas? Accessed by holding shift while the UCIS layer is active (toggles the `INSF` layer). -1. Numpad Layer: Right hand number pad. Accessed by toggling the `NUMP` layer using the NPAD key (bottom of right thumb cluster). +1. UCIS Layer: US-International symbols layer, plus —. Accessed by toggling the `SYMB` layer using the UCIS key (bottom of left thumb cluster). +1. UCIS-Shifted Layer: Making shift work for UCIS characters. An ugly workaround. Any ideas? Accessed by holding shift while the `SYMB` layer is active (toggles the `CSYM` layer). +1. Numpad Layer: Right hand number pad. Accessed by toggling the `NUMP` layer using the NUMP key (bottom of right thumb cluster). 1. Function Layer: F1-F12, arrows on ESDF and HJKL, media player controls. Accessed by holding either FN key (center key of each thumb cluster), which toggles the `ARRW` layer. I know, I need to work on my naming conventions. ## Contribute @@ -61,9 +63,9 @@ $ make ergodox-ez-familiar-teensy I'm terrible at this; I have no background in human-computer interaction, kinesiology, or keyboard-ology. Please send comments/issues/pull requests/angry tweets/etc. If you think there is a better way to take advantage of the ErgoDox/QMK comination without straying far from 84/101-key QWERTY, I want to know it. ### Issues -1. The top two keys of the right thumb cluster are currently unused. I wanted them for screen brightness, but I haven't found a solution I like. -1. The `'`, `"`, `[`, and `]` keys are terrible to access; I want to put them somewhere else but I haven't figured out where. -1. The `INSF` layer is an ugly workaround. I should write a function for doing different things in the `INTL` layer depending on whether SHIFT is being held. Or something. Ideas? +1. The `CSYM` layer is an ugly workaround. I should write a function for doing different things in the `SYMB` layer depending on whether SHIFT is being held. Or something. Ideas? +1. Right now, the thumb cluster function keys double as slash and whack... this really isnt a great solution. +1. `MENU` and `LEAD` are useless, at the moment. ## License QMK is licensed ([mostly](https://github.com/qmk/qmk_firmware/issues/1038)) under the [GPLv2](blob/master/license_GPLv2.md). Accordingly, to whatever extent applicable, this keymap is licensed under the [GPLv3](../../../../license_GPLv3.md). diff --git a/keyboards/ergodox/keymaps/familiar/keymap.c b/keyboards/ergodox/keymaps/familiar/keymap.c index fb326b3dd..e45751565 100644 --- a/keyboards/ergodox/keymaps/familiar/keymap.c +++ b/keyboards/ergodox/keymaps/familiar/keymap.c @@ -3,9 +3,6 @@ #include "action_layer.h" #include "version.h" -// Leader Key Timeout -//#define LEADER_TIMEOUT 300 - // Layers #define BASE 0 // default layer #define SYMB 1 // international symbols @@ -56,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * ,------|------|------| |------+------+------. * | |SLASH/| LOCKS| | MUTE |WHACK/| | * | SPC | MO(4)|------| |------|MO(4) | SPC | - * | | | TO(3)| |TO(1) | | | + * | | | TO(1)| |TO(3) | | | * `--------------------' `--------------------' */ [BASE] = KEYMAP( @@ -74,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_PGUP, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENTER, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSPC, - MT(MOD_RALT, KC_LBRC), KC_RBRC, KC_LEFT, KC_DOWN, KC_RGHT, + MT(MOD_RALT, KC_LBRC), MT(MOD_RCTL, KC_RBRC), KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_VOLU, KC_MUTE, TG(NUMP), LT(ARRW, KC_BSLS), KC_SPC @@ -83,13 +80,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* layer 1: International symbols, etc * * ,--------------------------------------------------. ,--------------------------------------------------. - * | ¬ | ¡ | ² | ³ | ¤ | € | ¼ | | ½ | ¾ | ‘ | ’ | ¥ | × | | + * | | ¡ | ² | ³ | ¤ | € | ¼ | | ½ | ¾ | ‘ | ’ | ¥ | × | | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| * | | ä | å | é | ® | þ | | | | ü | ú | í | ó | ö | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | ´ | á | ß | ð | | |------| |------| | | | ø | ¶ | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * |MO(CSYM)| æ | ¿ | © | | | | | | ñ | µ | ç | | |MO(CSYM)| + * |MO(CSYM)| æ | ¿ | © | ¬ | | | | | ñ | µ | ç | | |MO(CSYM)| * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' * | | | | | | | « | » | | | | * `------------------------------------' `------------------------------------' @@ -103,10 +100,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { */ [SYMB] = KEYMAP( // left hand - UC(0x00AC), UC(0x00A1), UC(0x00B2), UC(0x00B3), UC(0x00A4), UC(0x20AC), UC(0x00BC), + _______, UC(0x00A1), UC(0x00B2), UC(0x00B3), UC(0x00A4), UC(0x20AC), UC(0x00BC), _______, UC(0x00E4), UC(0x00E5), UC(0x00E9), UC(0x00AE), UC(0x00FE), _______, UC(0x00B4), UC(0x00E1), UC(0x00DF), UC(0x00F0), _______, _______, - MO(CSYM), UC(0x00E6), UC(0x00BF), UC(0x00A9), _______, _______, _______, + MO(CSYM), UC(0x00E6), UC(0x00BF), _______, UC(0x00AC), UC(0x00A9), _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -133,9 +130,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | ¨ | Á | § | Ð | | |------| |------| | | | Ø | ° | | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| - * | | Æ | | ¢ | | | | | | Ñ | | Ç | | | | + * | | Æ | | ¢ | ¦ | | | | | Ñ | | Ç | | | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | ¦ | | | | | | | | + * | | | | | | | | | | | | * `------------------------------------' `------------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -150,8 +147,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, UC(0x00B9), _______, _______, UC(0x00A3), _______, _______, _______, UC(0x00C4), UC(0x00C5), UC(0x00C9), S(KC_R), UC(0x00DE), _______, UC(0x00A8), UC(0x00C1), UC(0x00A7), UC(0x00D0), S(KC_F), S(KC_G), - _______, UC(0x00C6), S(KC_X), UC(0x00A2), S(KC_V), S(KC_B), _______, - _______, _______, _______, UC(0x00A6), _______, + _______, UC(0x00C6), UC(0x00A6), UC(0x00A2), S(KC_V), S(KC_B), _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, @@ -177,7 +174,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| * | | | | | | | | | | | 1 | 2 | 3 | = | | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' - * | | | | | | | 0 | . | , | ENTER| | + * | | | | | | |0/RALT|./RCTL| , | ENTER| | * `------------------------------------' `------------------------------------' * ,-------------. ,-------------. * | | | | | | @@ -202,7 +199,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_PMNS, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, KC_PEQL, _______, - KC_KP_0, KC_KP_DOT, KC_PCMM, KC_PENT, _______, + MT(MOD_RALT, KC_KP_0), MT(MOD_RCTL, KC_KP_DOT),KC_PCMM, KC_PENT, _______, _______, _______, _______, _______, _______, _______ @@ -223,7 +220,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | | | | | | HOME | PGDN | END | * `------------------------------------' `------------------------------------' * ,-------------. ,-------------. - * | PAUSE|SYSREQ| | | | + * | SYSRQ| PAUSE| | | | * ,------|------|------| |------+------+------. * | | | | | | | | * | | |------| |------| | | @@ -235,13 +232,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, - _______, _______, _______, _______, _______, _______, _______, + _______, KC_MPRV, KC_MSTP, KC_MPLY, KC_MNXT, _______, _______, _______, _______, _______, _______, _______, - KC_PAUSE, _______, + KC_SYSREQ, KC_PAUSE, _______, _______, _______, _______, // right hand - KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_SYSREQ, + KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, KC_INS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,