From 984621835d929b79a22ef33c0a4e602adb1ecc5b Mon Sep 17 00:00:00 2001 From: Eric Gebhart Date: Fri, 8 Jun 2018 19:06:25 +0200 Subject: Keyboard that works on Qwerty or Bepo OS keyboards. (#3149) * New layout. * new dvorak bepo layout. * first commit of new ergodox_ez dvorak keyboard for qwerty and bepo. --- keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c | 354 +++++++++++++++++++++ keyboards/ergodox_ez/keymaps/ericgebhart/readme.md | 5 + 2 files changed, 359 insertions(+) create mode 100644 keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c create mode 100644 keyboards/ergodox_ez/keymaps/ericgebhart/readme.md (limited to 'keyboards/ergodox_ez/keymaps/ericgebhart') diff --git a/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c new file mode 100644 index 0000000000..bafa30eafc --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/ericgebhart/keymap.c @@ -0,0 +1,354 @@ +/* + Copyright 2018 Eric Gebhart + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ +#include "keymap_bepo.h" +#include "ericgebhart.h" + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + + [DVORAK] = LAYOUT_wrapper ( + // left hand + KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___DVORAK_L1___, KC_LBRC, + TAB_BKTAB, ___DVORAK_L2___, + KC_LSFT, ___DVORAK_L3___, KC_LPRN, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + // right hand + MDIA_SYMB, ___NUMBER_R___, KC_EQL, + KC_RBRC, ___DVORAK_R1___, KC_SLASH, + /* */ ___DVORAK_R2___, KC_MINUS, + KC_RPRN, ___DVORAK_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [XMONAD] = LAYOUT_wrapper ( + // left hand + ___, ___FUNC_L___, ___, + ___, ___DVORAK_L1___, ___, + ___, ___DVORAK_L2___, + ___, ___DVORAK_L3___, ___, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + // right hand + ___, ___FUNC_R___, ___, + ___, ___DVORAK_R1___, ___, + /**/ ___DVORAK_R2___, ___, + ___, ___DVORAK_R3___, ___, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [QWERTY] = LAYOUT_wrapper( + // left hand + KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___QWERTY_L1___, KC_LBRC, + TAB_BKTAB, ___QWERTY_L2___, + KC_LSFT, ___QWERTY_L3___, KC_LPRN, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + // right hand + MDIA_SYMB, ___NUMBER_R___, KC_EQL, + KC_RBRC, ___QWERTY_R1___, KC_SLASH, + /* */ ___QWERTY_R2___, KC_MINUS, + KC_RPRN, ___QWERTY_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [COLEMAK] = LAYOUT_wrapper ( + // left hand + KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___COLEMAK_L1___, KC_LBRC, + TAB_BKTAB, ___COLEMAK_L2___, + KC_LSFT, ___COLEMAK_L3___, KC_LPRN, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + // right hand + MDIA_SYMB, ___NUMBER_R___, KC_EQL, + KC_RBRC, ___COLEMAK_R1___, KC_SLASH, + /* */ ___COLEMAK_R2___, KC_MINUS, + KC_RPRN, ___COLEMAK_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [WORKMAN] = LAYOUT_wrapper ( + // left hand + KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___WORKMAN_L1___, KC_LBRC, + TAB_BKTAB, ___WORKMAN_L2___, + KC_LSFT, ___WORKMAN_L3___, KC_LPRN, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + // right hand + MDIA_SYMB, ___NUMBER_R___, KC_EQL, + KC_RBRC, ___WORKMAN_R1___, KC_SLASH, + /* */ ___WORKMAN_R2___, KC_MINUS, + KC_RPRN, ___WORKMAN_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [NORMAN] = LAYOUT_wrapper( + // left hand + KC_GRV, ___NUMBER_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___NORMAN_L1___, KC_LBRC, + TAB_BKTAB, ___NORMAN_L2___, + KC_LSFT, ___NORMAN_L3___, KC_LPRN, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + // right hand + MDIA_SYMB, ___NUMBER_R___, KC_EQL, + KC_RBRC, ___NORMAN_R1___, KC_SLASH, + /* */ ___NORMAN_R2___, KC_MINUS, + KC_RPRN, ___NORMAN_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [DVORAK_ON_BEPO] = LAYOUT_wrapper( + // left hand + DB_GRV, ___NUMBER_BEPO_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___DVORAK_FR_L1___, DB_LBRC, + TAB_BKTAB, ___DVORAK_FR_L2___, + KC_LSFT, ___DVORAK_FR_L3___, DB_LPRN, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + + // right hand + MDIA_SYMB, ___NUMBER_BEPO_R___, DB_EQL, + DB_RBRC, ___DVORAK_FR_R1___, DB_SLASH, + + /* */ ___DVORAK_FR_R2___, DB_MINUS, + DB_RPRN, ___DVORAK_FR_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT_FR___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [XMONAD_FR] = LAYOUT_wrapper( + // left hand + ___, ___FUNC_L___, ___, + ___, ___DVORAK_FR_L1___, ___, + ___, ___DVORAK_FR_L2___, + ___, ___DVORAK_FR_L3___, ___, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + + // right hand + ___, ___FUNC_R___, ___, + ___, ___DVORAK_FR_R1___, ___, + /**/ ___DVORAK_FR_R2___, ___, + ___, ___DVORAK_FR_R3___, ___, + + ___ERGODOX_BOTTOM_RIGHT_FR___, + ___ERGODOX_THUMB_RIGHT___ + ), + + [BEPO] = LAYOUT_wrapper ( + // Left hand + BP_DLR, ___SYMBOL_BEPO_L___, DEF_OS_LAYER_SW, + KC_LOCK, ___BEPO_FR_L1___, DB_LBRC, + TAB_BKTAB, ___BEPO_FR_L2___, + BP_SFT_T_ECRC, ___BEPO_FR_L3___, DB_RBRC, + + ___ERGODOX_BOTTOM_LEFT___, + ___ERGODOX_THUMB_LEFT___, + + + // Right hand + MDIA_SYMB, ___SYMBOL_BEPO_R___, BP_EQL, + BP_DCRC, ___BEPO_FR_R1___, BP_W, + /* */ ___BEPO_FR_R2___, BP_CCED, + BP_C, ___BEPO_FR_R3___, KC_RSFT, + + ___ERGODOX_BOTTOM_RIGHT___, + ___ERGODOX_THUMB_RIGHT___ + ), + + // SYMBOLS + [SYMB] = LAYOUT_wrapper( + // left hand + ___, ___FUNC_L___, ___, + ___, ___SYMBOLS_1___, ___, + ___, ___SYMBOLS_2___, + ___, ___SYMBOLS_3___, ___, + + ___ERGODOX_TRANS_BOTTOM___, + ___ERGODOX_TRANS_THUMBS___, + + + // right hand + ___, ___FUNC_R___, KC_F11, + ___, KC_UP, ___KEYPAD_1___, KC_F12, + /**/ KC_DOWN, ___KEYPAD_2___, KC_TRNS, + ___, KC_AMPR, ___KEYPAD_3___, KC_PENT, + /* */ ___KEYPAD_4___, ___, + + ___ERGODOX_TRANS_THUMBS___ + ), + + [SYMB_ON_BEPO] = LAYOUT_wrapper( + // left hand + ___, ___FUNC_L___, ___, + ___, ___SYMBOLS_1_BP___, ___, + ___, ___SYMBOLS_2_BP___, + ___, ___SYMBOLS_3_BP___, ___, + + ___ERGODOX_TRANS_BOTTOM___, + ___ERGODOX_TRANS_THUMBS___, + + + // right hand + ___, ___FUNC_R___, KC_F11, + ___, KC_UP, ___KEYPAD_1_BP___, KC_F12, + /**/ KC_DOWN, ___KEYPAD_2_BP___, KC_TRNS, + ___, KC_AMPR, ___KEYPAD_3_BP___, KC_PENT, + /* */ ___KEYPAD_4_BP___, ___, + + ___ERGODOX_TRANS_THUMBS___ + ), + + // MEDIA AND MOUSE + [MDIA] = LAYOUT_wrapper( + // left hand + ___, ___FUNC_L___, ___, + ___MOUSE_BTNS_L___, ___, ___, + ___, ___MOUSE_LDUR___, ___, + ___, ___MWHEEL_LDUR___, XXX, ___, + ___, ___, ___MOUSE_ACCL_012___, + ___ERGODOX_TRANS_THUMBS___, + + // right hand + ___, ___FUNC_R___, KC_F11, + KC_VOLU, ___, ___MUTE_PLAY_STOP___, ___, KC_F12, + /* */ KC_PGUP, ___VI_ARROWS___, ___, + KC_VOLD, KC_PGDN, ___MOUSE_BTNS_R___, + ___ERGODOX_TRANS_BOTTOM___, + ___ERGODOX_TRANS_THUMBS___ + ), + + [LAYERS] = LAYOUT_wrapper( + // left hand + ___, ___FUNC_L___, ___, + XXX, XXX, XXX, ___LAYERS_L1___, XXX, XXX, + XXX, XXX, XXX, ___LAYERS_L2___, XXX, + XXX, XXX, ___LAYERS_L3___, XXX, XXX, + ___, ___, ___LAYERS_L4___, + ___ERGODOX_TRANS_THUMBS___, + + // right hand + ___, ___FUNC_R___, KC_F11, + KC_VOLU, ___, ___MUTE_PLAY_STOP___, ___, KC_F12, + /* */ KC_PGUP, ___VI_ARROWS___, ___, + KC_VOLD, KC_PGDN, ___MOUSE_BTNS_R___, + ___ERGODOX_TRANS_BOTTOM___, + ___ERGODOX_TRANS_THUMBS___ + ), +}; + + + +// 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(); + if(!on_qwerty()) + ergodox_right_led_1_on(); + switch (layer) { + //case DVORAK: + //ergodox_right_led_1_off(); + //break; + // first led on for a bepo software keyboard layer + case DVORAK_ON_BEPO: + ergodox_right_led_2_on(); + break; + case BEPO: + ergodox_right_led_1_on(); + ergodox_right_led_1_off(); + ergodox_right_led_1_on(); + ergodox_right_led_1_off(); + ergodox_right_led_1_on(); + break; + case SYMB: + ergodox_right_led_3_on(); + break; + case MDIA: + ergodox_right_led_3_on(); + break; + case LAYERS: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); + break; + default: + ergodox_board_led_off(); + break; + + /* default: */ + /* // none */ + /* break; */ + + } +} + + +/* + clear_oneshot_mods(); + set_oneshot_locked_mods(mods); + register_mods(mods); + + register_code(action.key.code); + unregister_code(action.key.code); + + layer_on(action.layer_tap.val); + layer_off(action.layer_tap.val); + + clear_oneshot_locked_mods(); + clear_oneshot_mods(); + unregister_mods(mods); + +*/ diff --git a/keyboards/ergodox_ez/keymaps/ericgebhart/readme.md b/keyboards/ergodox_ez/keymaps/ericgebhart/readme.md new file mode 100644 index 0000000000..4f71bf39ee --- /dev/null +++ b/keyboards/ergodox_ez/keymaps/ericgebhart/readme.md @@ -0,0 +1,5 @@ +Overview +======== + +These are my ergodox_ez keymaps. There isn't much here. Go take a look at my Userspace readme. +That's where all the code is. -- cgit v1.2.1