From d54360b1d8fe96873f5a2fc87993c9086a61e568 Mon Sep 17 00:00:00 2001 From: Steve Holt Date: Tue, 22 Aug 2017 21:45:16 -0600 Subject: [PATCH] Update keymap.c --- keyboards/lets_split/keymaps/xk/keymap.c | 294 ++++++++++++----------- 1 file changed, 156 insertions(+), 138 deletions(-) diff --git a/keyboards/lets_split/keymaps/xk/keymap.c b/keyboards/lets_split/keymaps/xk/keymap.c index 4d89a67f7f0..77db0abb74d 100755 --- a/keyboards/lets_split/keymaps/xk/keymap.c +++ b/keyboards/lets_split/keymaps/xk/keymap.c @@ -13,6 +13,7 @@ extern keymap_config_t keymap_config; #define _NINEKEY 6 #define _NAVIGAT 7 #define _QWERTY 8 +#define _MLAYER 9 #define _GRVTABL 15 enum custom_keycodes { @@ -25,58 +26,65 @@ enum custom_keycodes { NINEKEY, NAVIGAT, QWERTY, + MLAYER, GRVTABL, }; //TD Declarations enum { - VOM = 0, - PRN, - EGT, - HRD, - DSH, - QUT, - ESC, - EQE, - PGN, - UND, - BSDEL, - bsdel_mods, - BOOTME, +VOM = 0, +PRN, +EGT, +HRD, +XRD, +DSH, +ESC, +EQE, +PGN, +HND, +COD, +UND, +F11, +F12, +F13, +F14, +F15, +F16, +F17, +F18, +F19, +F20, +//unicode_inputctl +LINUX, +WIN, +WINSH, +OSX, }; #define _______ KC_TRNS #define XXXXXXX KC_NO -// action-TAP for key/mod behavior LT(layer, kc) +// action-TAP for key/mod behavior LT(layer, KC) #define XK_TAB LT(_FNCTION, KC_TAB) -#define XK_BSP LT(_KAMELOC, M(3)) +#define XK_BSP LT(_KAMELOC, KC_BSPC) +#define XK_APO LT(_KAMELOC, KC_QUOT) -#define XK_HARD LT(_FNCTION, M(1)) -#define XK_SPC LT(_IKAPILA, KC_SPC) +#define XK_SPC LT(_IKAPILA, KC_SPC) #define XK_ENT LT(_IKAPILA, KC_ENT) -#define XK_PGDN LT(_NAVIGAT, TD(PGN)) -#define XK_PREN LT(_IKASHFT, M(0)) +#define XK_PGDN LT(_IKASHFT, KC_PGDN) +#define XK_PGUP LT(_IKASHFT, KC_PGUP) #define PIPBOY LT(_FNCTION, KC_BSLS) - -#define XK_DEL LT(_KAMELOC, KC_DEL) +#define XK_DEL LT(_IKASHFT, KC_DEL) #define XK_GRV LT(_GRVTABL, KC_GRV) -// mod-TAP for mod/key behavior MT(modkey, kc) -#define ESC_IT MT(MOD_MEH, TD(ESC)) - -#define ALT_IT MT(MOD_LALT, KC_SCLN) -#define CTL_IT MT(MOD_LCTL, KC_SLSH) -#define XK_EGPT MT((MOD_LCTL | MOD_LALT | MOD_LGUI), M(2)) - -#define SFT_IT MT(MOD_RSFT, TG(_NAVIGAT)) +// mod-TAP for mod/key behavior MT(modkey, KC) +#define ALT_IT MT(MOD_RALT, KC_SCLN) +#define CTL_IT MT(MOD_RCTL, KC_DOT) #define SFT_ENT MT(MOD_RSFT, KC_ENT) //sticky modifiers #define KYCTL OSM(MOD_LCTL) -#define KYGUI OSM(MOD_LGUI) #define KYSFT OSM(MOD_LSFT) -#define KYALT OSM(MOD_LALT) #define CAKY OSM(MOD_LCTL | MOD_LALT) //shortcuts @@ -97,12 +105,8 @@ enum { #define NAVGL LGUI(KC_LEFT) #define NAVGR LGUI(KC_RGHT) -#define KC_NDSH LCTL(KC_PMNS) -#define KC_MDSH LALT(LCTL(KC_PMNS)) - -//!not sure if this old TMK code will work -//#define BOOTME ACTION_FUNCTION(BOOTLOADER) -#define LCLEAR ACTION_LAYER_SET_CLEAR(0) +#define KC_NDSH LCTL(KC_PMNS) +#define KC_MDSH LALT(LCTL(KC_PMNS)) const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { @@ -113,9 +117,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ │BKSP│ A │ R │ S │ T │ G │ │ M │ N │ E │ I │ O │ ' │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │OSFT│ X │ C │ D │ V │ Z │ │ K │ H │ , │ . │ / │LNAV│ + │OSFT│ X │ C │ D │ V │ Z │ │ K │ H │ , │ │ . │ / │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │OCTL│OALT│L9KY│ [] │OGUI│SPC │ │ENT │PGDN│ () │ {} │ \ │ ` │ + │OCTL│GUI │ESC │ALT │PGUP│SPC │ │ENT │PGDN│ () │ {} │ \ │ ` │ └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ HOLD ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐ @@ -125,80 +129,85 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ │SFT │ │ │ │ │ │ │ │ │ │ │CTL │SFT │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │CTL │ALT │L9KY│L!@#│GUI │L123│ │L123│LNAV│L!@#│MEH │L FN│LGRV│ + │CTL │GUI │ESC │ALT │L!@#│L123│ │L123│L!@#│L M│ │L FN│LGRV│ └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ DOUBLETAP ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐ - │ │!F4 │ │ │ │ │ │ │ │ │ │ │ │ + │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │OSML│ │ │ │ │UNDO│ │ │ │ │ │ │ │ + │OSML│ │ │ │ │ │ │ │ │ │ │ │ │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │OSML│OSML│ESC │ │OSML│ │ │ │PGUP│ │ │ │ │ + │OSML│OSML│!F4 │ │ │ │ │ │ │ │ │ │ │ └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ Switch type ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐ - │Br │Z │Z │Z │Z │Z │ │Z │Z │Z │Z │Br │G │ + │Br │mxC │Z │Z │Z │Z │ │Z │Z │Z │Z │Br │G │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ │G │Z │Z │Z │Z │Z │ │Z │Z │Z │Z │Z │Z │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │Y │Z │Z │Z │Z │Z │ │Z │Z │Z │Z │B │Y │ + │Y │Z │Z │Z │Z │Z │ │Z │Z │Z │B │B │Y │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │Y │Y │C │Z │BLK │BLK │ │BLK │BLK │Z │Z │B │G │ + │Y │Y │mxC │Z │BLK │BLK │ │BLK │BLK │Z │Z │B │G │ └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ + with DCS keycaps + Top Row R1 (reversed?) + M Row1 R3 (with reversed pointer finger) + M Row2 R4 + B Row R2 (reversed) */ // Colemak PB&J (Mod-DH) [_COLEMAK] = KEYMAP( \ - XK_TAB, TD(QUT), KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, ALT_IT, XK_GRV, \ - XK_BSP, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, XK_DEL, \ - KYSFT, KC_X, KC_C, KC_D, KC_V, TD(UND), KC_K, KC_H, KC_COMM, KC_DOT, CTL_IT, SFT_IT, \ - KYCTL, KYALT, ESC_IT, XK_HARD, KYGUI, XK_SPC, XK_ENT, XK_PGDN, XK_PREN, XK_EGPT, PIPBOY, XK_GRV \ + XK_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, ALT_IT, XK_DEL, \ + XK_BSP, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, XK_APO, \ + KYSFT, KC_X, KC_C, KC_D, KC_V, KC_Z, KC_K, KC_H, TD(COD), KC_DOT, CTL_IT, SFT_T(KC_SLSH), \ + KYCTL, KC_LGUI, TD(ESC), KC_LALT, XK_PGUP, XK_SPC, XK_ENT, XK_PGDN, MO(_MLAYER), TT(_NAVIGAT), PIPBOY, XK_GRV \ ), // useful for one-handed typing [_KAMELOC] = KEYMAP( \ - _______, KC_SCLN, KC_Y, KC_U, KC_L, KC_J, KC_B, KC_P, KC_F, KC_W, TD(QUT), _______, \ + XK_DEL, KC_SCLN, KC_Y, KC_U, KC_L, KC_J, KC_B, KC_P, KC_F, KC_W, KC_Q, XK_TAB, \ _______, KC_O, KC_I, KC_E, KC_N, KC_M, KC_G, KC_T, KC_S, KC_R, KC_A, _______, \ - _______, KC_SLSH, KC_DOT, KC_COMM, KC_H, KC_K, TD(UND), KC_V, KC_D, KC_C, KC_X, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + KYSFT, KC_SLSH, KC_DOT, KC_COMM, KC_H, KC_K, TD(UND), KC_V, KC_D, KC_C, KC_X, KYSFT, \ + XK_GRV, PIPBOY, M(1), KC_BTN1, KC_HOME, KC_ENT, KC_ENT, KC_END, KC_LGUI, TD(ESC), KC_LALT, KYCTL \ ), /* ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐ - │ ~ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ + │ │ 1 │ 2 │ 3 │ 4 │ 5 │ │ 6 │ 7 │ 8 │ 9 │ 0 │ │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │ │DASH│MV- │ V+ │NEXT│PLAY│ │ ← │ ↓ │ ↑ │ → │INS │ │ + │ │ M │ V- │ V+ │NEXT│PLAY│ │ ← │ ↓ │ ↑ │ → │DASH│INS │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │ │ - │ = │ [ │ ] │ \ │ │HOME│PGDN│PGUP│END │ \ │ │ + │ │ - │ = │TGL │ │ │ │HOME│END │HOME│ │ \ │ ~ │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ */ [_IKAPILA] = KEYMAP( \ - KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ - _______, TD(DSH), TD(VOM), KC_VOLU, KC_MNXT, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_INS, _______, \ - _______, KC_MINS, KC_EQL, TD(HRD), KC_RBRC, KC_BSLS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_BSLS, _______, \ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, \ + _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, TD(DSH), KC_INS, \ + _______, KC_MINS, KC_EQL, XXXXXXX, XXXXXXX, LCTL(KC_Z), KC_HOME, TD(HND), KC_HOME, XXXXXXX, KC_BSLS, KC_TILD, \ + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), /* ┌────┬────┬────┬────┬────┬────┐ ┌────┬────┬────┬────┬────┬────┐ - │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │ │ + │ │ ! │ @ │ # │ $ │ % │ │ ^ │ & │ * │ ( │ ) │BSPC│ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │ │DASH│MV- │ V+ │NEXT│PLAY│ │HOME│PGDN│PGUP│END │PSCR│ │ + │DEL │ │ ← │ ↓ │ ↑ │ → │ │NEXT│PGUP│ V+ │ V- │DASH│PSCR│ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ - │ │ _ │ + │ { │ } │ | │ │ ← │ ↓ │ ↑ │ → │ │ │ + │ │ _ │ + │END │HOME│END │ │ │ │ │ [ │ ] │ │ ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └────┴────┴────┴────┴────┴────┘ └────┴────┴────┴────┴────┴────┘ */ [_IKASHFT] = KEYMAP( \ - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, \ - KC_DEL, TD(DSH), TD(VOM), KC_VOLU, KC_MNXT, KC_MPLY, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_PSCR, _______, \ - _______, KC_UNDS, KC_PLUS, TD(EGT), KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_PAUS, _______, \ + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, \ + KC_DEL, TD(PGN), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_MNXT, KC_PGUP, KC_VOLU, TD(VOM), KC_MDSH, KC_PSCR, \ + _______, KC_UNDS, KC_PLUS, KC_END, KC_HOME, KC_END, M(1), M(0), M(2), KC_LBRC, KC_RBRC, _______, \ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ ), @@ -210,14 +219,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ >>init network SEQUENCE │ │ ↑ │ ← │ ↓ │ → │ ↑ │ │ ↓ │ ← │ ↑ │ → │ ← │ │ sleep 11; echo "DONE\n" ├────┼────┼────┼────┼────┼────┤ ├────┼────┼────┼────┼────┼────┤ throttle INPUT 11001001 OUTPUT 010011001 ? FULL )); \ - │ │ │ │ → │ ← │ ↓ │ │ → │ ↑ │ ← │ ↓ │ ↑ │ │ <event.pressed) { - switch(id) { - case 0: - return MACRO(D(LSHIFT),T(9), T(0),U(LSHIFT), T(LEFT), END); - case 1: - return MACRO(T(LBRC), T(RBRC), T(LEFT), END); - case 2: - return MACRO(D(LSHIFT),T(LBRC), T(RBRC),U(LSHIFT), T(ENT), T(UP), END); - case 3: - return MACRO(T(BSPC), END); -/* static bool bsdel_mods = false; - case BSDEL: { - uint8_t kc = KC_BSPC; - if (record->event.pressed) { - if (keyboard_report->mods) { - kc = KC_DEL; - } - register_code (kc); - bsdel_mods = keyboard_report->mods; - } - else { - if (bsdel_mods) { - kc = KC_DEL; - } - - unregister_code (kc); - } - } -*/ case 4: - if (!record->event.pressed) { -// bootloader(); - } - } - } - return MACRO_NONE; + if (record->event.pressed) { + switch(id) { + case 0: + return MACRO( D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), T(LEFT), END ); + case 1: + return MACRO( D(LSFT), T(LBRC), U(LSFT), D(LSFT), T(RBRC), U(LSFT), T(LEFT), END ); + case 2: + return MACRO( T(LBRC), T(RBRC), T(LEFT), END); + case 3: + clear_keyboard(); + case 4: + return MACRO( D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(LBRACKET), U(LSFT), D(LSFT), T(9), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(0), U(LSFT), D(LSFT), T(BSLASH), U(LSFT), D(LSFT), T(SCOLON), U(LSFT), D(LSFT), T(7), U(LSFT), D(LSFT), T(RBRACKET), U(LSFT), T(SCOLON), D(LSFT), T(SCOLON), U(LSFT), END ); + case WINSH: + set_unicode_input_mode(UC_WIN); + return false; + break; + case WIN: + set_unicode_input_mode(UC_WINC); + return false; + break; + case OSX: + set_unicode_input_mode(UC_OSX); + return false; + break; + } + } + return MACRO_NONE; };