diff --git a/Atreus/atreus_hd_keymap.c b/Atreus/atreus_hd_keymap.c new file mode 100644 index 0000000..c5f0637 --- /dev/null +++ b/Atreus/atreus_hd_keymap.c @@ -0,0 +1,18 @@ +#include QMK_KEYBOARD_H + +/* THIS FILE WAS GENERATED! + * + * This file was generated by qmk json2c. You may or may not want to + * edit it directly. + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_X, KC_F, KC_L, KC_D, KC_K, LT(7,KC_ESC), LT(7,KC_DEL), KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_DOWN, KC_UP, LT(5,KC_MHEN), LT(4,KC_BSPC), LT(6,KC_H), KC_APP, LT(5,KC_TAB), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_HENK), KC_LEFT, KC_RGHT), + [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, LCTL_T(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_R), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, LT(7,KC_TAB), LT(5,KC_QUOT), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_BSPC), KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT(KC_Z, KC_Q, LALT(KC_8), LSA(KC_5), LSA(KC_7), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), LALT(KC_7), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, RALT(KC_1), RSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), RALT(KC_5), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [4] = LAYOUT(LALT(KC_RBRC), LSA(KC_RBRC), LALT(KC_LBRC), LSA(KC_LBRC), LSA(KC_8), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, LSA(KC_3), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, LSA(KC_4), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_NLCK, KC_TAB, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_ENT, KC_TRNS, KC_DEL, KC_P0, KC_PDOT, KC_C, KC_TRNS, KC_TRNS), + [5] = LAYOUT(KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_PAUS, KC_TAB, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_PSCR, KC_LSCR, KC_TRNS, KC_BSPC, KC_ENT, KC_TRNS, KC_DEL, KC_0, KC_DOT, KC_COMM, KC_TRNS, KC_TRNS), + [6] = LAYOUT(SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, KC_TRNS, KC_NLCK, SK_DOCEND, KC_END, KC_DOWN, KC_PGDN, SK_PARANXT, SK_ZOOMIN, SK_ZOOMOUT, SK_ZOOMRST, KC_TRNS, KC_TRNS, KC_ESC, KC_TRNS, SK_HISTPRV, SK_HISTNXT, KC_TRNS, SK_HISTPRV, SK_HISTNXT), + [7] = LAYOUT(KC_NO, KC_NO, KC_EJCT, KC_NO, LCA(KC_DEL), SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLU, KC_BRIU, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, KC_MRWD, KC_MFFD, KC_MSTP, KC_VOLD, KC_BRID, RESET, RESET, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_NO, KC_MUTE, KC_MPLY, KC_MUTE, KC_NO, CG_NORM, AG_NORM, KC_NO, KC_MPRV, KC_MNXT) +}; diff --git a/Atreus/atreus_hd_keymap.c.bak b/Atreus/atreus_hd_keymap.c.bak new file mode 100644 index 0000000..5f2fc93 --- /dev/null +++ b/Atreus/atreus_hd_keymap.c.bak @@ -0,0 +1,18 @@ +#include QMK_KEYBOARD_H + +/* THIS FILE WAS GENERATED! + * + * This file was generated by qmk json2c. You may or may not want to + * edit it directly. + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_X, KC_F, KC_L, KC_D, KC_K, LT(7,KC_ESC), LT(7,KC_HENK), KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_DOWN, KC_UP, KC_APP, LT(4,KC_BSPC), LT(6,KC_H), LT(5,KC_MHEN), LT(5,KC_HENK), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_TAB), KC_LEFT, KC_RGHT), + [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, LCTL_T(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_R), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_Z, KC_X, KC_C, KC_V, KC_B, LT(7,KC_TAB), LT(5,KC_QUOT), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_BSPC), KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT(KC_Z, KC_Q, LALT(KC_8), LSA(KC_5), LSA(KC_7), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), LALT(KC_7), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, RALT(KC_1), RSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), RALT(KC_5), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [4] = LAYOUT(LALT(KC_RBRC), LSA(KC_RBRC), LALT(KC_LBRC), LSA(KC_LBRC), LSA(KC_8), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, LSA(KC_3), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, LSA(KC_4), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_NLCK, KC_TAB, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_ENT, KC_TRNS, KC_DEL, KC_P0, KC_PDOT, KC_C, KC_TRNS, KC_TRNS), + [5] = LAYOUT(KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_PAUS, KC_TAB, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_PSCR, KC_LSCR, KC_TRNS, KC_BSPC, KC_ENT, KC_TRNS, KC_DEL, KC_0, KC_DOT, KC_COMM, KC_TRNS, KC_TRNS), + [6] = LAYOUT(SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, KC_TRNS, KC_NLCK, SK_DOCEND, KC_END, KC_DOWN, KC_PGDN, SK_PARANXT, SK_ZOOMIN, SK_ZOOMOUT, SK_ZOOMRST, KC_TRNS, KC_TRNS, KC_ESC, KC_TRNS, SK_HISTPRV, SK_HISTNXT, KC_TRNS, SK_HISTPRV, SK_HISTNXT), + [7] = LAYOUT(KC_NO, KC_NO, KC_EJCT, KC_NO, LCA(KC_DEL), SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLU, KC_BRIU, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, KC_MRWD, KC_MFFD, KC_MSTP, KC_VOLD, KC_BRID, RESET, RESET, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_NO, KC_MUTE, KC_MPLY, KC_MUTE, KC_NO, CG_NORM, AG_NORM, KC_NO, KC_MPRV, KC_MNXT) +}; diff --git a/Atreus/atreus_hd_neu_sk-trim.json b/Atreus/atreus_hd_neu_sk-trim.json new file mode 100644 index 0000000..f58c7ea --- /dev/null +++ b/Atreus/atreus_hd_neu_sk-trim.json @@ -0,0 +1,379 @@ +{ + "version": 1, + "documentation": "This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\n", + "keyboard": "keyboardio/atreus", + "keymap": "atreus_hd_neu_sk-trim", + "layout": "LAYOUT", + "layers": [ + [ + "KC_J", + "KC_G", + "KC_M", + "KC_P", + "KC_V", + "ANY(HD_HASH)", + "KC_DOT", + "KC_SLSH", + "KC_QUOT", + "KC_DQUO", + "LCTL_T(KC_R)", + "LALT_T(KC_S)", + "LGUI_T(KC_N)", + "LSFT_T(KC_T)", + "KC_B", + "KC_COMM", + "RSFT_T(KC_A)", + "RGUI_T(KC_E)", + "RALT_T(KC_C)", + "RCTL_T(KC_I)", + "KC_X", + "KC_F", + "KC_L", + "KC_D", + "KC_K", + "LT(7,KC_ESC)", + "LT(7,KC_DEL)", + "KC_MINS", + "KC_U", + "KC_O", + "KC_W", + "KC_Y", + "KC_DOWN", + "KC_UP", + "LT(5,KC_MHEN)", + "LT(4,KC_BSPC)", + "LT(6,KC_H)", + "KC_APP", + "LT(5,KC_TAB)", + "LT(3,KC_SPC)", + "LT(6,KC_ENT)", + "LT(5,KC_HENK)", + "KC_LEFT", + "KC_RGHT" + ], + [ + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_DQUO", + "KC_QUOT", + "LCTL_T(KC_C)", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RALT_T(KC_I)", + "RCTL_T(KC_H)", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_Y", + "KC_W", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "LT(6,KC_R)", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_Q", + "KC_W", + "KC_E", + "KC_R", + "KC_T", + "KC_Y", + "KC_U", + "KC_I", + "KC_O", + "KC_P", + "KC_A", + "KC_S", + "KC_D", + "KC_F", + "KC_G", + "KC_H", + "KC_J", + "KC_K", + "KC_L", + "KC_SCLN", + "KC_Z", + "KC_X", + "KC_C", + "KC_V", + "KC_B", + "LT(7,KC_TAB)", + "LT(5,KC_QUOT)", + "KC_N", + "KC_M", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "LT(6,KC_BSPC)", + "KC_LSFT", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_Z", + "KC_Q", + "LALT(KC_8)", + "LSA(KC_5)", + "LSA(KC_7)", + "LALT(KC_4)", + "KC_DLR", + "ANY(A(S(KC_2)))", + "RALT(KC_3)", + "LALT(KC_Y)", + "LALT(KC_7)", + "KC_LT", + "KC_LPRN", + "KC_LCBR", + "KC_LBRC", + "RALT(KC_1)", + "RSFT_T(KC_PAST)", + "RGUI_T(KC_PEQL)", + "RALT_T(KC_PPLS)", + "RCTL_T(KC_RO)", + "RALT(KC_5)", + "KC_GT", + "KC_RPRN", + "KC_RCBR", + "KC_RBRC", + "KC_TRNS", + "KC_TRNS", + "KC_UNDS", + "KC_PIPE", + "KC_AMPR", + "KC_CIRC", + "KC_PERC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "ANY(SK_DELWDL)", + "ANY(SK_DELWDR)", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "LALT(KC_RBRC)", + "LSA(KC_RBRC)", + "LALT(KC_LBRC)", + "LSA(KC_LBRC)", + "LSA(KC_8)", + "KC_PSLS", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PMNS", + "LSA(KC_3)", + "KC_LT", + "KC_LPRN", + "KC_LCBR", + "KC_LBRC", + "KC_PAST", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PPLS", + "LSA(KC_4)", + "KC_GT", + "KC_RPRN", + "KC_RCBR", + "KC_RBRC", + "KC_NLCK", + "KC_TAB", + "KC_COMM", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_BSPC", + "KC_ENT", + "KC_TRNS", + "KC_DEL", + "KC_P0", + "KC_PDOT", + "KC_C", + "KC_TRNS", + "KC_TRNS" + ], + [ + "KC_F9", + "KC_F10", + "KC_F11", + "KC_F12", + "KC_F13", + "KC_GRV", + "KC_7", + "KC_8", + "KC_9", + "KC_BSLS", + "LCTL_T(KC_F5)", + "LALT_T(KC_F6)", + "LGUI_T(KC_F7)", + "LSFT_T(KC_F8)", + "KC_F14", + "KC_SCLN", + "RSFT_T(KC_4)", + "RGUI_T(KC_5)", + "RALT_T(KC_6)", + "RCTL_T(KC_SLSH)", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F4", + "KC_F15", + "KC_PAUS", + "KC_TAB", + "KC_MINS", + "KC_1", + "KC_2", + "KC_3", + "KC_EQL", + "KC_PSCR", + "KC_LSCR", + "KC_TRNS", + "KC_BSPC", + "KC_ENT", + "KC_TRNS", + "KC_DEL", + "KC_0", + "KC_DOT", + "KC_COMM", + "KC_TRNS", + "KC_TRNS" + ], + [ + "ANY(SK_QUIT)", + "ANY(SK_CLOZ)", + "ANY(SK_SCAP)", + "ANY(SK_SCLP)", + "ANY(SK_FAGN)", + "ANY(SK_DOCBEG)", + "KC_HOME", + "KC_UP", + "KC_PGUP", + "ANY(SK_PARAPRV)", + "KC_LCTL", + "KC_LALT", + "KC_LGUI", + "KC_LSFT", + "ANY(SK_FIND)", + "ANY(SK_WORDPRV)", + "KC_LEFT", + "KC_DOWN", + "KC_RGHT", + "ANY(SK_WORDNXT)", + "ANY(SK_UNDO)", + "ANY(SK_CUT)", + "ANY(SK_COPY)", + "ANY(SK_PSTE)", + "ANY(SK_PSTM)", + "KC_TRNS", + "KC_NLCK", + "ANY(SK_DOCEND)", + "KC_END", + "KC_DOWN", + "KC_PGDN", + "ANY(SK_PARANXT)", + "ANY(SK_ZOOMIN)", + "ANY(SK_ZOOMOUT)", + "ANY(SK_ZOOMRST)", + "KC_TRNS", + "KC_TRNS", + "KC_ESC", + "KC_TRNS", + "ANY(SK_HISTPRV)", + "ANY(SK_HISTNXT)", + "KC_TRNS", + "ANY(SK_HISTPRV)", + "ANY(SK_HISTNXT)" + ], + [ + "KC_NO", + "KC_NO", + "KC_EJCT", + "KC_NO", + "LCA(KC_DEL)", + "ANY(SK_KILL)", + "KC_NO", + "CG_SWAP", + "AG_SWAP", + "KC_NO", + "KC_MPRV", + "KC_MNXT", + "KC_MUTE", + "KC_VOLU", + "KC_BRIU", + "KC_NO", + "ANY(HD_L_Bronze)", + "ANY(HD_L_Gold)", + "ANY(HD_L_QWERTY)", + "KC_NO", + "KC_MRWD", + "KC_MFFD", + "KC_MSTP", + "KC_VOLD", + "KC_BRID", + "RESET", + "RESET", + "ANY(HD_AdaptKeyToggle)", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_VOLD", + "KC_VOLU", + "KC_NO", + "KC_MUTE", + "KC_MPLY", + "KC_MUTE", + "KC_NO", + "CG_NORM", + "AG_NORM", + "KC_NO", + "KC_MPRV", + "KC_MNXT" + ] + ], + "author": "", + "notes": "" +} \ No newline at end of file diff --git a/candy/candy_hd_keymap.c b/candy/candy_hd_keymap.c index 5a9e8ca..5ef80bd 100644 --- a/candy/candy_hd_keymap.c +++ b/candy/candy_hd_keymap.c @@ -7,12 +7,12 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_grid(KC_J, KC_G, KC_M, KC_P, KC_V, LT(7,KC_MUTE), LT(7,KC_MPLY), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, KC_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, LT(5,KC_TAB), KC_PERC, KC_ASTR, KC_4, KC_5, KC_6, KC_PLUS, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_X, KC_F, KC_L, KC_D, KC_K, KC_LBRC, KC_RBRC, KC_COMM, KC_1, KC_2, KC_3, KC_EQL, KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_DOWN, KC_UP, LT(5,KC_LANG2), LT(4,KC_BSPC), LT(6,KC_H), KC_APP, LT(3,KC_ESC), KC_C, KC_0, KC_0, KC_DOT, LT(4,KC_TAB), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_LANG1), KC_LEFT, KC_RGHT), + [0] = LAYOUT_grid(KC_J, KC_G, KC_M, KC_P, KC_V, LT(7,KC_MUTE), LT(7,KC_MPLY), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, LT(5,KC_TAB), KC_PERC, KC_ASTR, KC_4, KC_5, KC_6, KC_PLUS, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_X, KC_F, KC_L, KC_D, KC_K, KC_LBRC, KC_RBRC, KC_COMM, KC_1, KC_2, KC_3, KC_EQL, KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_DOWN, KC_UP, LT(5,KC_LANG2), LT(4,KC_BSPC), LT(6,KC_H), KC_APP, LT(3,KC_ESC), KC_C, KC_0, KC_0, KC_DOT, LT(4,KC_TAB), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_LANG1), KC_LEFT, KC_RGHT), [1] = LAYOUT_grid(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_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LGUI_T(KC_N), LSFT_T(KC_D), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_L, KC_C, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT_grid(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, LCTL_T(KC_A), LALT_T(KC_S), LGUI_T(KC_D), LSFT_T(KC_F), KC_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_H, RSFT_T(KC_J), RGUI_T(KC_K), RALT_T(KC_L), RCTL_T(KC_SCLN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT_T(KC_SPC), KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL), [3] = LAYOUT_grid(KC_Q, KC_Z, LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_9)), S(G(KC_4)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_4), KC_DLR, A(S(KC_2)), LALT_T(KC_Y), RALT(KC_3), KC_LT, KC_GT, KC_LPRN, KC_LCBR, LALT(KC_8), C(S(G(KC_4))), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_1), LSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), A(S(KC_5)), A(S(KC_7)), KC_RPRN, KC_RCBR, RALT(KC_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [4] = LAYOUT_grid(LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_LBRC)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_7, KC_8, KC_9, KC_RO, KC_LT, KC_GT, KC_LPRN, KC_LCBR, LALT(KC_8), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQL, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_MINS), A(S(KC_5)), A(S(KC_7)), KC_RPRN, KC_RCBR, RALT(KC_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS), [5] = LAYOUT_grid(KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_PCMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_F16, KC_F17, KC_F18, KC_F19, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_C, KC_PENT, KC_PEQL), [6] = LAYOUT_grid(SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DOCEND, KC_END, KC_DOWN, KC_LALT, SK_PARANXT, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_ZOOMRST, SK_HISTPRV, SK_HISTNXT, SK_ZOOMOUT, SK_ZOOMIN), - [7] = LAYOUT_grid(KC_PSCR, KC_SLCK, KC_EJCT, KC_NO, LCA(KC_DEL), KC_TRNS, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, KC_MPRV, KC_MNXT, KC_MSTP, KC_VOLU, KC_BRIU, KC_NO, KC_NO, KC_NO, RGB_VAI, RGB_SAI, RGB_HUI, KC_NO, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_SAD, RGB_HUD, KC_NO, HD_AdaptKeyToggle, TO(0), TO(1), TO(2), KC_NO, KC_VOLD, KC_VOLU, KC_PAUS, KC_MPLY, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CG_NORM, AG_NORM, KC_NO, KC_MRWD, KC_MFFD) + [7] = LAYOUT_grid(KC_PSCR, KC_SLCK, KC_EJCT, KC_NO, LCA(KC_DEL), KC_TRNS, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, KC_MPRV, KC_MNXT, KC_MSTP, KC_VOLU, KC_BRIU, KC_NO, KC_NO, RGB_MOD, RGB_VAI, RGB_SAI, RGB_HUI, KC_NO, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_BRID, KC_NO, KC_NO, RGB_RMOD, RGB_VAD, RGB_SAD, RGB_HUD, KC_NO, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_PAUS, KC_MPLY, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CG_NORM, AG_NORM, KC_NO, KC_MRWD, KC_MFFD) }; diff --git a/candy/candy_hd_keymap.c.bak b/candy/candy_hd_keymap.c.bak index d7e7a8d..2070015 100644 --- a/candy/candy_hd_keymap.c.bak +++ b/candy/candy_hd_keymap.c.bak @@ -7,12 +7,12 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT_grid(KC_J, KC_G, KC_M, KC_P, KC_V, LT(7,KC_MUTE), LT(7,KC_MPLY), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, KC_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, LT(5,KC_TAB), KC_PERC, KC_ASTR, KC_4, KC_5, KC_6, KC_PLUS, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_X, KC_F, KC_L, KC_D, KC_K, KC_LBRC, KC_RBRC, KC_COMM, KC_1, KC_2, KC_3, KC_EQL, KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_DOWN, KC_UP, LT(5,KC_BSPC), LT(4,KC_H), LT(6,KC_LANG2), KC_APP, LT(3,KC_ESC), KC_C, KC_0, KC_0, KC_DOT, LT(4,KC_TAB), LT(3,KC_LANG1), LT(6,KC_SPC), LT(5,KC_ENT), KC_LEFT, KC_RGHT), - [1] = LAYOUT_grid(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_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LGUI_T(KC_N), LSFT_T(KC_D), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_L, KC_C, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, LT(4,KC_T), 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), - [2] = LAYOUT_grid(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, LCTL_T(KC_A), LALT_T(KC_S), LGUI_T(KC_D), LSFT_T(KC_F), KC_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_H, RSFT_T(KC_J), RGUI_T(KC_K), RALT_T(KC_L), RCTL_T(KC_SCLN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_LCTL, KC_LALT, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT_T(KC_SPC), KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL), + [0] = LAYOUT_grid(KC_J, KC_G, KC_M, KC_P, KC_V, LT(7,KC_MUTE), LT(7,KC_MPLY), KC_SLSH, KC_7, KC_8, KC_9, KC_MINS, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, LT(5,KC_TAB), KC_PERC, KC_ASTR, KC_4, KC_5, KC_6, KC_PLUS, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_X, KC_F, KC_L, KC_D, KC_K, KC_LBRC, KC_RBRC, KC_COMM, KC_1, KC_2, KC_3, KC_EQL, KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_DOWN, KC_UP, LT(5,KC_LANG2), LT(4,KC_BSPC), LT(6,KC_H), KC_APP, LT(3,KC_ESC), KC_C, KC_0, KC_0, KC_DOT, LT(4,KC_TAB), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_LANG1), KC_LEFT, KC_RGHT), + [1] = LAYOUT_grid(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_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LGUI_T(KC_N), LSFT_T(KC_D), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_L, KC_C, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT_grid(KC_Q, KC_W, KC_E, KC_R, KC_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_U, KC_I, KC_O, KC_P, LCTL_T(KC_A), LALT_T(KC_S), LGUI_T(KC_D), LSFT_T(KC_F), KC_G, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_H, RSFT_T(KC_J), RGUI_T(KC_K), RALT_T(KC_L), RCTL_T(KC_SCLN), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_N, KC_M, KC_DOT, KC_COMM, KC_SLSH, KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RSFT_T(KC_SPC), KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL), [3] = LAYOUT_grid(KC_Q, KC_Z, LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_9)), S(G(KC_4)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LALT(KC_4), KC_DLR, A(S(KC_2)), LALT_T(KC_Y), RALT(KC_3), KC_LT, KC_GT, KC_LPRN, KC_LCBR, LALT(KC_8), C(S(G(KC_4))), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT(KC_1), LSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), A(S(KC_5)), A(S(KC_7)), KC_RPRN, KC_RCBR, RALT(KC_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [4] = LAYOUT_grid(LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_LBRC)), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH, KC_7, KC_8, KC_9, KC_RO, KC_LT, KC_GT, KC_LPRN, KC_LCBR, LALT(KC_8), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_EQL, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_MINS), A(S(KC_5)), A(S(KC_7)), KC_RPRN, KC_RCBR, RALT(KC_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_0, KC_COMM, KC_DOT, KC_TRNS, KC_TRNS), [5] = LAYOUT_grid(KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NLCK, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_PCMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_F16, KC_F17, KC_F18, KC_F19, KC_PSCR, KC_SLCK, KC_PAUS, KC_INS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_P0, KC_PDOT, KC_C, KC_PENT, KC_PEQL), [6] = LAYOUT_grid(SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DOCEND, KC_END, KC_DOWN, KC_LALT, SK_PARANXT, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_ZOOMRST, SK_HISTPRV, SK_HISTNXT, SK_ZOOMOUT, SK_ZOOMIN), - [7] = LAYOUT_grid(KC_PSCR, KC_SLCK, KC_EJCT, KC_NO, LCA(KC_DEL), KC_TRNS, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, KC_MPRV, KC_MNXT, KC_MSTP, KC_VOLU, KC_BRIU, KC_NO, KC_NO, KC_NO, RGB_VAI, RGB_SAI, RGB_HUI, KC_NO, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_SAD, RGB_HUD, KC_NO, HD_AdaptKeyToggle, TO(0), TO(1), TO(2), KC_NO, KC_VOLD, KC_VOLU, KC_PAUS, KC_MPLY, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CG_NORM, AG_NORM, KC_NO, KC_MRWD, KC_MFFD) + [7] = LAYOUT_grid(KC_PSCR, KC_SLCK, KC_EJCT, KC_NO, LCA(KC_DEL), KC_TRNS, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, KC_MPRV, KC_MNXT, KC_MSTP, KC_VOLU, KC_BRIU, KC_NO, KC_NO, KC_NO, RGB_VAI, RGB_SAI, RGB_HUI, KC_NO, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, KC_MRWD, KC_MFFD, KC_MUTE, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, RGB_VAD, RGB_SAD, RGB_HUD, KC_NO, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_PAUS, KC_MPLY, KC_NO, RESET, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, CG_NORM, AG_NORM, KC_NO, KC_MRWD, KC_MFFD) }; diff --git a/candy/candy_hd_neu_sk-trim.json b/candy/candy_hd_neu_sk-trim.json index a8c8a3e..7e4c20c 100644 --- a/candy/candy_hd_neu_sk-trim.json +++ b/candy/candy_hd_neu_sk-trim.json @@ -1,6 +1,6 @@ { "version": 1, - "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "documentation": "This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\n", "keyboard": "checkerboards/candybar_ortho", "keymap": "candy_hd_neu_sk-trim", "layout": "LAYOUT_grid", @@ -520,7 +520,7 @@ "KC_BRIU", "KC_NO", "KC_NO", - "KC_NO", + "RGB_MOD", "RGB_VAI", "RGB_SAI", "RGB_HUI", @@ -537,7 +537,7 @@ "KC_BRID", "KC_NO", "KC_NO", - "KC_NO", + "RGB_RMOD", "RGB_VAD", "RGB_SAD", "RGB_HUD", diff --git a/cornelius/cornelius_hd_keymap.c b/cornelius/cornelius_hd_keymap.c index 90a463f..948baa8 100644 --- a/cornelius/cornelius_hd_keymap.c +++ b/cornelius/cornelius_hd_keymap.c @@ -7,12 +7,12 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(LT(7,KC_MUTE), KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LT(7,KC_MPLY), KC_UP, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), LT(6,KC_BSPC), KC_DOWN, KC_X, KC_F, KC_L, KC_D, KC_K, KC_MINS, KC_U, KC_O, KC_W, KC_Y, LT(5,KC_EQL), KC_LEFT, KC_RGHT, KC_APP, LT(5,KC_LANG2), LT(4,KC_BSPC), LT(6,KC_H), LT(3,KC_SPC), LT(6,KC_ENT), LT(4,KC_LANG1), TG(6), KC_LBRC, KC_RBRC), - [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LGUI_T(KC_N), LSFT_T(KC_D), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_L, KC_C, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [0] = LAYOUT(LT(7,KC_MUTE), KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LT(7,KC_MPLY), KC_UP, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), LT(6,KC_PGUP), KC_DOWN, KC_X, KC_F, KC_L, KC_D, KC_K, KC_MINS, KC_U, KC_O, KC_W, KC_Y, LT(5,KC_PGDN), KC_LEFT, KC_RGHT, LT(5,KC_LANG2), KC_APP, LT(4,KC_BSPC), LT(6,KC_H), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_TAB), LT(4,KC_LANG1), KC_LBRC, KC_RBRC), + [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LCTL_T(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_R), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), [2] = LAYOUT(LT(7,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(7,KC_ESC), MO(4), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(5,KC_QUOT), KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RGUI_T(KC_EQL), KC_LCTL, MO(6), KC_TRNS, KC_DEL, LT(6,KC_BSPC), KC_LSFT, RSFT_T(KC_SPC), KC_TRNS, RALT_T(KC_LANG1), KC_TRNS, KC_LBRC, RCTL_T(KC_RBRC)), - [3] = LAYOUT(KC_ESC, KC_Z, KC_Q, LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_9)), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), KC_TRNS, KC_TRNS, KC_LT, KC_GT, KC_LPRN, KC_LCBR, LALT(KC_8), RALT(KC_1), RSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), KC_TRNS, KC_TRNS, A(S(KC_5)), A(S(KC_7)), KC_RPRN, KC_RCBR, RALT(KC_5), KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [4] = LAYOUT(KC_ESC, LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_8)), KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, KC_TRNS, KC_TRNS, KC_LT, KC_GT, KC_LPRN, KC_LCBR, LALT(KC_7), KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), KC_TRNS, KC_TRNS, A(S(KC_5)), A(S(KC_7)), KC_RPRN, KC_RCBR, RALT(KC_5), KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_BSPC, LT(5,KC_DEL), KC_0, KC_DOT, KC_COMM, KC_TRNS, KC_TRNS, KC_TRNS), - [5] = LAYOUT(KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_NLCK, KC_TRNS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_PAST, RSFT_T(KC_P4), RGUI_T(KC_P5), RALT_T(KC_P6), RCTL_T(KC_PPLS), KC_TRNS, KC_F16, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_F17, KC_F18, KC_PSCR, KC_LSCR, KC_PAUS, KC_INS, KC_P0, KC_PDOT, KC_C, KC_TRNS, KC_TRNS, KC_TRNS), + [3] = LAYOUT(KC_ESC, KC_Z, KC_Q, LALT(KC_8), LSA(KC_5), LSA(KC_7), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), KC_TRNS, KC_TRNS, LALT(KC_7), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, RALT(KC_1), RSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), KC_TRNS, KC_TRNS, RALT(KC_5), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [4] = LAYOUT(KC_ESC, LALT(KC_RBRC), LSA(KC_RBRC), LALT(KC_LBRC), LSA(KC_LBRC), LSA(KC_8), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, LSA(KC_3), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_PAST, RSFT_T(KC_P4), RGUI_T(KC_P5), RALT_T(KC_P6), RCTL_T(KC_PPLS), KC_TRNS, KC_TRNS, LSA(KC_4), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_BSPC, LT(5,KC_DEL), KC_P0, KC_PDOT, KC_C, KC_TRNS, KC_TRNS, KC_TRNS), + [5] = LAYOUT(KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, KC_NLCK, KC_TRNS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), KC_TRNS, KC_F16, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_TRNS, KC_F17, KC_F18, KC_PSCR, KC_LSCR, KC_PAUS, KC_INS, KC_0, KC_DOT, KC_COMM, KC_TRNS, KC_TRNS, KC_TRNS), [6] = LAYOUT(KC_TRNS, SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_NLCK, KC_BRIU, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, KC_TRNS, KC_BRID, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, SK_DOCEND, KC_END, KC_DOWN, KC_PGDN, SK_PARANXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_ZOOMRST, SK_HISTPRV, SK_HISTNXT, KC_TRNS, SK_ZOOMIN, SK_ZOOMRST), [7] = LAYOUT(KC_MPLY, KC_NO, KC_NO, KC_EJCT, KC_NO, LCA(KC_DEL), SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, RESET, KC_VOLU, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLU, KC_BRIU, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, TG(6), KC_VOLD, KC_MRWD, KC_MFFD, KC_MSTP, KC_VOLD, KC_BRID, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, KC_NO, TG(5), KC_MPRV, KC_MNXT, SK_KILL, KC_VOLU, KC_VOLD, KC_MPLY, CG_NORM, AG_NORM, KC_NO, SK_KILL, KC_NO, KC_NO) }; diff --git a/cornelius/cornelius_hd_keymap.c.bak b/cornelius/cornelius_hd_keymap.c.bak new file mode 100644 index 0000000..4ab1f01 --- /dev/null +++ b/cornelius/cornelius_hd_keymap.c.bak @@ -0,0 +1,18 @@ +#include QMK_KEYBOARD_H + +/* THIS FILE WAS GENERATED! + * + * This file was generated by qmk json2c. You may or may not want to + * edit it directly. + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(LT(7,KC_MUTE), KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, LT(7,KC_MPLY), KC_UP, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), LT(6,KC_BSPC), KC_DOWN, KC_X, KC_F, KC_L, KC_D, KC_K, KC_MINS, KC_U, KC_O, KC_W, KC_Y, LT(5,KC_EQL), KC_LEFT, KC_RGHT, LT(5,KC_LANG2), KC_APP, LT(4,KC_BSPC), LT(6,KC_H), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_TAB), LT(4,KC_LANG1), KC_LBRC, KC_RBRC), + [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LCTL_T(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_R), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT(LT(7,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(7,KC_ESC), MO(4), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(5,KC_QUOT), KC_LALT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RGUI_T(KC_EQL), KC_LCTL, MO(6), KC_TRNS, KC_DEL, LT(6,KC_BSPC), KC_LSFT, RSFT_T(KC_SPC), KC_TRNS, RALT_T(KC_LANG1), KC_TRNS, KC_LBRC, RCTL_T(KC_RBRC)), + [3] = LAYOUT(KC_ESC, KC_Z, KC_Q, LALT(KC_8), LSA(KC_5), LSA(KC_7), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), KC_TRNS, KC_TRNS, LALT(KC_7), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, RALT(KC_1), RSFT_T(KC_PAST), RGUI_T(KC_PEQL), RALT_T(KC_PPLS), RCTL_T(KC_RO), KC_TRNS, KC_TRNS, RALT(KC_5), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_DELWDL, SK_DELWDR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [4] = LAYOUT(KC_ESC, LALT(KC_RBRC), LSA(KC_RBRC), LALT(KC_LBRC), LSA(KC_LBRC), LSA(KC_8), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, KC_TRNS, KC_TRNS, LSA(KC_3), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_PAST, RSFT_T(KC_P4), RGUI_T(KC_P5), RALT_T(KC_P6), RCTL_T(KC_PPLS), KC_TRNS, KC_TRNS, LSA(KC_4), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT, KC_BSPC, LT(5,KC_DEL), KC_P0, KC_PDOT, KC_C, KC_TRNS, KC_TRNS, KC_TRNS), + [5] = LAYOUT(KC_TRNS, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, KC_NLCK, KC_TRNS, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), KC_TRNS, KC_F16, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, KC_TRNS, KC_F17, KC_F18, KC_PSCR, KC_LSCR, KC_PAUS, KC_INS, KC_0, KC_DOT, KC_COMM, KC_TRNS, KC_TRNS, KC_TRNS), + [6] = LAYOUT(KC_TRNS, SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_NLCK, KC_BRIU, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, KC_TRNS, KC_BRID, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, SK_DOCEND, KC_END, KC_DOWN, KC_PGDN, SK_PARANXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, SK_ZOOMRST, SK_HISTPRV, SK_HISTNXT, KC_TRNS, SK_ZOOMIN, SK_ZOOMRST), + [7] = LAYOUT(KC_MPLY, KC_NO, KC_NO, KC_EJCT, KC_NO, LCA(KC_DEL), SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, RESET, KC_VOLU, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLU, KC_BRIU, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, KC_NO, TG(6), KC_VOLD, KC_MRWD, KC_MFFD, KC_MSTP, KC_VOLD, KC_BRID, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, KC_NO, TG(5), KC_MPRV, KC_MNXT, SK_KILL, KC_VOLU, KC_VOLD, KC_MPLY, CG_NORM, AG_NORM, KC_NO, SK_KILL, KC_NO, KC_NO) +}; diff --git a/cornelius/cornelius_hd_neu_sk-trim.json b/cornelius/cornelius_hd_neu_sk-trim.json index 9f4dcb2..43b62cf 100644 --- a/cornelius/cornelius_hd_neu_sk-trim.json +++ b/cornelius/cornelius_hd_neu_sk-trim.json @@ -29,7 +29,7 @@ "RGUI_T(KC_E)", "RALT_T(KC_C)", "RCTL_T(KC_I)", - "LT(6,KC_BSPC)", + "LT(6,KC_PGUP)", "KC_DOWN", "KC_X", "KC_F", @@ -41,17 +41,17 @@ "KC_O", "KC_W", "KC_Y", - "LT(5,KC_EQL)", + "LT(5,KC_PGDN)", "KC_LEFT", "KC_RGHT", - "KC_APP", "LT(5,KC_LANG2)", + "KC_APP", "LT(4,KC_BSPC)", "LT(6,KC_H)", "LT(3,KC_SPC)", "LT(6,KC_ENT)", + "LT(5,KC_TAB)", "LT(4,KC_LANG1)", - "TG(6)", "KC_LBRC", "KC_RBRC" ], @@ -69,10 +69,10 @@ "KC_QUOT", "KC_TRNS", "KC_TRNS", + "LCTL_T(KC_C)", + "KC_TRNS", "KC_TRNS", "KC_TRNS", - "LGUI_T(KC_N)", - "LSFT_T(KC_D)", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -83,8 +83,8 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_L", - "KC_C", + "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -97,7 +97,7 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", - "LT(6,KC_T)", + "LT(6,KC_R)", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -159,9 +159,9 @@ "KC_ESC", "KC_Z", "KC_Q", - "LALT(KC_LBRC)", - "ANY(A(S(KC_LBRC)))", - "ANY(A(S(KC_9)))", + "LALT(KC_8)", + "LSA(KC_5)", + "LSA(KC_7)", "LALT(KC_4)", "KC_DLR", "ANY(A(S(KC_2)))", @@ -169,11 +169,11 @@ "LALT(KC_Y)", "KC_TRNS", "KC_TRNS", + "LALT(KC_7)", "KC_LT", - "KC_GT", "KC_LPRN", "KC_LCBR", - "LALT(KC_8)", + "KC_LBRC", "RALT(KC_1)", "RSFT_T(KC_PAST)", "RGUI_T(KC_PEQL)", @@ -181,11 +181,11 @@ "RCTL_T(KC_RO)", "KC_TRNS", "KC_TRNS", - "ANY(A(S(KC_5)))", - "ANY(A(S(KC_7)))", + "RALT(KC_5)", + "KC_GT", "KC_RPRN", "KC_RCBR", - "RALT(KC_5)", + "KC_RBRC", "KC_UNDS", "KC_PIPE", "KC_AMPR", @@ -208,39 +208,39 @@ [ "KC_ESC", "LALT(KC_RBRC)", - "ANY(A(S(KC_RBRC)))", + "LSA(KC_RBRC)", "LALT(KC_LBRC)", - "ANY(A(S(KC_LBRC)))", - "ANY(A(S(KC_8)))", - "KC_GRV", - "KC_7", - "KC_8", - "KC_9", - "KC_BSLS", + "LSA(KC_LBRC)", + "LSA(KC_8)", + "KC_PSLS", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PMNS", "KC_TRNS", "KC_TRNS", + "LSA(KC_3)", "KC_LT", - "KC_GT", "KC_LPRN", "KC_LCBR", - "LALT(KC_7)", - "KC_SCLN", - "RSFT_T(KC_4)", - "RGUI_T(KC_5)", - "RALT_T(KC_6)", - "RCTL_T(KC_SLSH)", + "KC_LBRC", + "KC_PAST", + "RSFT_T(KC_P4)", + "RGUI_T(KC_P5)", + "RALT_T(KC_P6)", + "RCTL_T(KC_PPLS)", "KC_TRNS", "KC_TRNS", - "ANY(A(S(KC_5)))", - "ANY(A(S(KC_7)))", + "LSA(KC_4)", + "KC_GT", "KC_RPRN", "KC_RCBR", - "RALT(KC_5)", - "KC_MINS", - "KC_1", - "KC_2", - "KC_3", - "KC_EQL", + "KC_RBRC", + "KC_COMM", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -248,9 +248,9 @@ "KC_ENT", "KC_BSPC", "LT(5,KC_DEL)", - "KC_0", - "KC_DOT", - "KC_COMM", + "KC_P0", + "KC_PDOT", + "KC_C", "KC_TRNS", "KC_TRNS", "KC_TRNS" @@ -262,11 +262,11 @@ "KC_F11", "KC_F12", "KC_F13", - "KC_PSLS", - "KC_P7", - "KC_P8", - "KC_P9", - "KC_PMNS", + "KC_GRV", + "KC_7", + "KC_8", + "KC_9", + "KC_BSLS", "KC_NLCK", "KC_TRNS", "LCTL_T(KC_F5)", @@ -274,11 +274,11 @@ "LGUI_T(KC_F7)", "LSFT_T(KC_F8)", "KC_F14", - "KC_PAST", - "RSFT_T(KC_P4)", - "RGUI_T(KC_P5)", - "RALT_T(KC_P6)", - "RCTL_T(KC_PPLS)", + "KC_SCLN", + "RSFT_T(KC_4)", + "RGUI_T(KC_5)", + "RALT_T(KC_6)", + "RCTL_T(KC_SLSH)", "KC_TRNS", "KC_F16", "KC_F1", @@ -286,11 +286,11 @@ "KC_F3", "KC_F4", "KC_F15", - "KC_COMM", - "KC_P1", - "KC_P2", - "KC_P3", - "KC_PEQL", + "KC_MINS", + "KC_1", + "KC_2", + "KC_3", + "KC_EQL", "KC_TRNS", "KC_F17", "KC_F18", @@ -298,9 +298,9 @@ "KC_LSCR", "KC_PAUS", "KC_INS", - "KC_P0", - "KC_PDOT", - "KC_C", + "KC_0", + "KC_DOT", + "KC_COMM", "KC_TRNS", "KC_TRNS", "KC_TRNS" diff --git a/kyria/kyria_hd_keymap.c b/kyria/kyria_hd_keymap.c index 41d202c..c504566 100644 --- a/kyria/kyria_hd_keymap.c +++ b/kyria/kyria_hd_keymap.c @@ -7,12 +7,12 @@ */ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [0] = LAYOUT(SK_COPY, KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, KC_KANA, SK_PSTE, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_HANJ, SK_SCLP, KC_X, KC_F, KC_L, KC_D, KC_K, LT(4,KC_LANG2), SH_TT, TG(5), LT(4,KC_LANG1), KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_EQL, LT(7,KC_MUTE), KC_APP, LT(4,KC_BSPC), LT(6,KC_H), LT(5,KC_LANG2), LT(5,KC_LANG1), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_TAB), LT(7,KC_MPLY)), - [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LGUI_T(KC_N), LSFT_T(KC_D), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_L, KC_C, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_T), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), - [2] = LAYOUT(LT(7,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(7,KC_LBRC), MO(6), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(6,KC_RBRC), KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_TRNS, KC_TRNS, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_EQL), KC_TRNS, KC_APP, KC_TRNS, KC_LSFT, KC_LALT, KC_LCTL, RSFT_T(KC_SPC), KC_TRNS, KC_QUOT, KC_TRNS), - [3] = LAYOUT(KC_TRNS, LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), A(S(KC_LBRC)), LALT(KC_8), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), KC_TRNS, KC_TRNS, KC_LT, KC_LBRC, KC_LPRN, KC_LCBR, LALT(KC_7), RALT(KC_1), LSFT_T(KC_PAST), LGUI_T(KC_PEQL), LALT_T(KC_PPLS), LCTL_T(KC_PSLS), KC_TRNS, KC_TRNS, KC_GT, KC_RBRC, KC_RPRN, KC_RCBR, RALT(KC_5), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_VOLD, KC_VOLU, SK_DELWDL, SK_DELWDR, KC_TRNS, A(S(KC_9)), KC_TRNS, LALT(KC_9), A(S(KC_8)), TG(5)), - [4] = LAYOUT(RGB_TOG, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, RGB_MOD, RGB_VAI, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), RGB_HUI, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, LCA(KC_DEL), KC_TRNS, KC_TRNS, SK_KILL, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, RESET, KC_0, KC_DOT, KC_COMM, KC_TRNS), - [5] = LAYOUT(RGB_TOG, LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), A(S(KC_LBRC)), A(S(KC_8)), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, RGB_MOD, RGB_VAI, KC_GT, KC_LT, KC_LPRN, KC_LCBR, LALT(KC_7), KC_PAST, RSFT_T(KC_P4), RGUI_T(KC_P5), RALT_T(KC_P6), RCTL_T(KC_PPLS), RGB_HUI, RGB_VAD, LCTL_T(KC_LBRC), LALT_T(KC_RBRC), KC_RPRN, KC_RCBR, RALT(KC_5), LALT(KC_MINS), TG(0), KC_TRNS, LALT(KC_EQL), KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, RGB_HUD, KC_TRNS, KC_APP, KC_BSPC, LT(5,KC_DEL), KC_PENT, KC_BSPC, KC_P0, KC_PDOT, KC_C, KC_TRNS), + [0] = LAYOUT(SK_COPY, KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, KC_MHEN, SK_PSTE, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_HENK, SK_SCLP, KC_X, KC_F, KC_L, KC_D, KC_K, LT(5,KC_MHEN), SH_TT, TG(5), LT(5,KC_HENK), KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_EQL, LT(7,KC_MUTE), KC_APP, LT(4,KC_BSPC), LT(6,KC_H), LT(5,KC_MHEN), LT(5,KC_HENK), LT(3,KC_SPC), LT(6,KC_ENT), LT(5,KC_TAB), LT(7,KC_MPLY)), + [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LCTL_T(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), 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_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_R), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT(LT(7,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(7,KC_LBRC), MO(6), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(6,KC_RBRC), KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_TRNS, KC_TRNS, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_EQL), KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_LALT, KC_LCTL, RSFT_T(KC_SPC), KC_TRNS, KC_QUOT, KC_TRNS), + [3] = LAYOUT(KC_TRNS, KC_Z, KC_Q, LALT(KC_8), LSA(KC_5), LSA(KC_7), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), KC_TRNS, KC_TRNS, LALT(KC_7), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, RALT(KC_1), LSFT_T(KC_PAST), LGUI_T(KC_PEQL), LALT_T(KC_PPLS), LCTL_T(KC_PSLS), KC_TRNS, KC_TRNS, RALT(KC_5), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_VOLD, KC_VOLU, SK_DELWDL, SK_DELWDR, KC_TRNS, A(S(KC_9)), KC_TRNS, LALT(KC_9), A(S(KC_8)), TG(5)), + [4] = LAYOUT(RGB_TOG, LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), LSA(KC_LBRC), LSA(KC_8), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, RGB_MOD, RGB_VAI, LSA(KC_3), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_HUI, RGB_VAD, LSA(KC_4), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, LALT(KC_MINS), KC_TRNS, KC_TRNS, KC_NLCK, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, RGB_HUD, KC_TRNS, TG(4), KC_BSPC, KC_PENT, KC_TRNS, KC_BSPC, KC_P0, KC_PDOT, KC_C, SK_ZOOMRST), + [5] = LAYOUT(RGB_TOG, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, RGB_MOD, RGB_VAI, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), RGB_HUI, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, LCA(KC_DEL), KC_TRNS, KC_TRNS, KC_NLCK, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, RESET, KC_0, KC_DOT, KC_COMM, SK_ZOOMRST), [6] = LAYOUT(KC_TRNS, SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_NLCK, KC_VOLU, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, KC_TRNS, KC_VOLD, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, KC_HANJ, KC_TRNS, KC_TRNS, KC_HANJ, SK_DOCEND, KC_END, KC_DOWN, KC_PGDN, SK_PARANXT, KC_TRNS, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, SK_ZOOMOUT, SK_HISTPRV, SK_HISTNXT, SK_ZOOMIN, SK_ZOOMRST), [7] = LAYOUT(RGB_TOG, KC_NO, KC_NO, KC_EJCT, KC_NO, LCA(KC_DEL), SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, RGB_MOD, RGB_VAI, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLU, KC_BRIU, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, RGB_SAI, RGB_HUI, RGB_VAD, KC_MRWD, KC_MFFD, KC_MSTP, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_HUD, RESET, KC_NO, KC_PAUS, KC_MPLY, KC_NO, KC_NO, CG_NORM, AG_NORM, KC_NO, RESET) }; diff --git a/kyria/kyria_hd_keymap.c.bak b/kyria/kyria_hd_keymap.c.bak new file mode 100644 index 0000000..1f59e71 --- /dev/null +++ b/kyria/kyria_hd_keymap.c.bak @@ -0,0 +1,18 @@ +#include QMK_KEYBOARD_H + +/* THIS FILE WAS GENERATED! + * + * This file was generated by qmk json2c. You may or may not want to + * edit it directly. + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT(SK_COPY, KC_J, KC_G, KC_M, KC_P, KC_V, HD_HASH, KC_DOT, KC_SLSH, KC_QUOT, KC_DQUO, KC_MHEN, SK_PSTE, LCTL_T(KC_R), LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), KC_B, KC_COMM, RSFT_T(KC_A), RGUI_T(KC_E), RALT_T(KC_C), RCTL_T(KC_I), KC_HENK, SK_SCLP, KC_X, KC_F, KC_L, KC_D, KC_K, KC_APP, SH_TT, TG(5), LT(5,KC_TAB), KC_MINS, KC_U, KC_O, KC_W, KC_Y, KC_EQL, LT(7,KC_MUTE), LT(5,KC_MHEN), LT(4,KC_BSPC), LT(6,KC_H), KC_APP, LT(5,KC_HENK), LT(3,KC_SPC), LT(6,KC_ENT), LT(4,KC_TAB), LT(7,KC_MPLY)), + [1] = LAYOUT(KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DQUO, KC_QUOT, KC_TRNS, KC_TRNS, LCTL_T(KC_C), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RALT_T(KC_I), RCTL_T(KC_H), 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_Y, KC_W, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LT(6,KC_R), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), + [2] = LAYOUT(LT(7,KC_TAB), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, LT(7,KC_LBRC), MO(6), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, LT(6,KC_RBRC), KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, KC_TRNS, KC_TRNS, KC_ESC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RCTL_T(KC_EQL), KC_TRNS, KC_TRNS, KC_TRNS, KC_LSFT, KC_LALT, KC_LCTL, RSFT_T(KC_SPC), KC_TRNS, KC_QUOT, KC_TRNS), + [3] = LAYOUT(KC_TRNS, KC_Z, KC_Q, LALT(KC_8), LSA(KC_5), LSA(KC_7), LALT(KC_4), KC_DLR, A(S(KC_2)), RALT(KC_3), LALT(KC_Y), KC_TRNS, KC_TRNS, LALT(KC_7), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, RALT(KC_1), LSFT_T(KC_PAST), LGUI_T(KC_PEQL), LALT_T(KC_PPLS), LCTL_T(KC_PSLS), KC_TRNS, KC_TRNS, RALT(KC_5), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PIPE, KC_AMPR, KC_CIRC, KC_PERC, KC_TRNS, KC_VOLD, KC_VOLU, SK_DELWDL, SK_DELWDR, KC_TRNS, A(S(KC_9)), KC_TRNS, LALT(KC_9), A(S(KC_8)), TG(5)), + [4] = LAYOUT(RGB_TOG, LALT(KC_RBRC), A(S(KC_RBRC)), LALT(KC_LBRC), LSA(KC_LBRC), LSA(KC_8), KC_PSLS, KC_P7, KC_P8, KC_P9, KC_PMNS, RGB_MOD, RGB_VAI, LSA(KC_3), KC_LT, KC_LPRN, KC_LCBR, KC_LBRC, KC_PAST, KC_P4, KC_P5, KC_P6, KC_PPLS, RGB_HUI, RGB_VAD, LSA(KC_4), KC_GT, KC_RPRN, KC_RCBR, KC_RBRC, LALT(KC_MINS), TG(0), KC_TRNS, KC_NLCK, KC_COMM, KC_P1, KC_P2, KC_P3, KC_PEQL, RGB_HUD, KC_TRNS, KC_TRNS, KC_BSPC, KC_PENT, KC_TRNS, KC_BSPC, KC_P0, KC_PDOT, KC_C, SK_ZOOMRST), + [5] = LAYOUT(RGB_TOG, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_GRV, KC_7, KC_8, KC_9, KC_BSLS, RGB_MOD, RGB_VAI, LCTL_T(KC_F5), LALT_T(KC_F6), LGUI_T(KC_F7), LSFT_T(KC_F8), KC_F14, KC_SCLN, RSFT_T(KC_4), RGUI_T(KC_5), RALT_T(KC_6), RCTL_T(KC_SLSH), RGB_HUI, RGB_VAD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F15, LCA(KC_DEL), KC_TRNS, KC_TRNS, KC_NLCK, KC_MINS, KC_1, KC_2, KC_3, KC_EQL, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RESET, RESET, KC_0, KC_DOT, KC_COMM, SK_ZOOMRST), + [6] = LAYOUT(KC_TRNS, SK_QUIT, SK_CLOZ, SK_SCAP, SK_SCLP, SK_FAGN, SK_DOCBEG, KC_HOME, KC_UP, KC_PGUP, SK_PARAPRV, KC_NLCK, KC_VOLU, KC_LCTL, KC_LALT, KC_LGUI, KC_LSFT, SK_FIND, SK_WORDPRV, KC_LEFT, KC_DOWN, KC_RGHT, SK_WORDNXT, KC_TRNS, KC_VOLD, SK_UNDO, SK_CUT, SK_COPY, SK_PSTE, SK_PSTM, KC_HANJ, KC_TRNS, KC_TRNS, KC_HANJ, SK_DOCEND, KC_END, KC_DOWN, KC_PGDN, SK_PARANXT, KC_TRNS, KC_BRID, KC_BRIU, KC_TRNS, KC_TRNS, KC_TRNS, SK_ZOOMOUT, SK_HISTPRV, SK_HISTNXT, SK_ZOOMIN, SK_ZOOMRST), + [7] = LAYOUT(RGB_TOG, KC_NO, KC_NO, KC_EJCT, KC_NO, LCA(KC_DEL), SK_KILL, KC_NO, CG_SWAP, AG_SWAP, KC_NO, RGB_MOD, RGB_VAI, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLU, KC_BRIU, KC_NO, HD_L_Bronze, HD_L_Gold, HD_L_QWERTY, RGB_SAI, RGB_HUI, RGB_VAD, KC_MRWD, KC_MFFD, KC_MSTP, KC_VOLD, KC_BRID, KC_NO, KC_NO, KC_NO, KC_NO, HD_AdaptKeyToggle, KC_NO, KC_NO, KC_NO, RGB_SAD, RGB_HUD, RESET, KC_NO, KC_PAUS, KC_MPLY, KC_NO, KC_NO, CG_NORM, AG_NORM, KC_NO, RESET) +}; diff --git a/kyria/kyria_hd_neu_sk-trim.json b/kyria/kyria_hd_neu_sk-trim.json index 6f77263..1914de1 100644 --- a/kyria/kyria_hd_neu_sk-trim.json +++ b/kyria/kyria_hd_neu_sk-trim.json @@ -17,7 +17,7 @@ "KC_SLSH", "KC_QUOT", "KC_DQUO", - "KC_KANA", + "KC_MHEN", "ANY(SK_PSTE)", "LCTL_T(KC_R)", "LALT_T(KC_S)", @@ -29,17 +29,17 @@ "RGUI_T(KC_E)", "RALT_T(KC_C)", "RCTL_T(KC_I)", - "KC_HANJ", + "KC_HENK", "ANY(SK_SCLP)", "KC_X", "KC_F", "KC_L", "KC_D", "KC_K", - "LT(4,KC_LANG2)", + "LT(5,KC_MHEN)", "ANY(SH_TT)", "TG(5)", - "LT(4,KC_LANG1)", + "LT(5,KC_HENK)", "KC_MINS", "KC_U", "KC_O", @@ -50,8 +50,8 @@ "KC_APP", "LT(4,KC_BSPC)", "LT(6,KC_H)", - "LT(5,KC_LANG2)", - "LT(5,KC_LANG1)", + "LT(5,KC_MHEN)", + "LT(5,KC_HENK)", "LT(3,KC_SPC)", "LT(6,KC_ENT)", "LT(5,KC_TAB)", @@ -71,10 +71,10 @@ "KC_QUOT", "KC_TRNS", "KC_TRNS", + "LCTL_T(KC_C)", + "KC_TRNS", "KC_TRNS", "KC_TRNS", - "LGUI_T(KC_N)", - "LSFT_T(KC_D)", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -85,8 +85,8 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", - "KC_L", - "KC_C", + "KC_TRNS", + "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -101,7 +101,7 @@ "KC_TRNS", "KC_TRNS", "KC_TRNS", - "LT(6,KC_T)", + "LT(6,KC_R)", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -151,7 +151,7 @@ "KC_SLSH", "RCTL_T(KC_EQL)", "KC_TRNS", - "KC_APP", + "KC_TRNS", "KC_TRNS", "KC_LSFT", "KC_LALT", @@ -163,11 +163,11 @@ ], [ "KC_TRNS", - "LALT(KC_RBRC)", - "ANY(A(S(KC_RBRC)))", - "LALT(KC_LBRC)", - "ANY(A(S(KC_LBRC)))", + "KC_Z", + "KC_Q", "LALT(KC_8)", + "LSA(KC_5)", + "LSA(KC_7)", "LALT(KC_4)", "KC_DLR", "ANY(A(S(KC_2)))", @@ -175,11 +175,11 @@ "LALT(KC_Y)", "KC_TRNS", "KC_TRNS", + "LALT(KC_7)", "KC_LT", - "KC_LBRC", "KC_LPRN", "KC_LCBR", - "LALT(KC_7)", + "KC_LBRC", "RALT(KC_1)", "LSFT_T(KC_PAST)", "LGUI_T(KC_PEQL)", @@ -187,11 +187,11 @@ "LCTL_T(KC_PSLS)", "KC_TRNS", "KC_TRNS", + "RALT(KC_5)", "KC_GT", - "KC_RBRC", "KC_RPRN", "KC_RCBR", - "RALT(KC_5)", + "KC_RBRC", "KC_TRNS", "KC_TRNS", "KC_TRNS", @@ -213,6 +213,58 @@ "ANY(A(S(KC_8)))", "TG(5)" ], + [ + "RGB_TOG", + "LALT(KC_RBRC)", + "ANY(A(S(KC_RBRC)))", + "LALT(KC_LBRC)", + "LSA(KC_LBRC)", + "LSA(KC_8)", + "KC_PSLS", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PMNS", + "RGB_MOD", + "RGB_VAI", + "LSA(KC_3)", + "KC_LT", + "KC_LPRN", + "KC_LCBR", + "KC_LBRC", + "KC_PAST", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PPLS", + "RGB_HUI", + "RGB_VAD", + "LSA(KC_4)", + "KC_GT", + "KC_RPRN", + "KC_RCBR", + "KC_RBRC", + "LALT(KC_MINS)", + "KC_TRNS", + "KC_TRNS", + "KC_NLCK", + "KC_COMM", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", + "RGB_HUD", + "KC_TRNS", + "TG(4)", + "KC_BSPC", + "KC_PENT", + "KC_TRNS", + "KC_BSPC", + "KC_P0", + "KC_PDOT", + "KC_C", + "ANY(SK_ZOOMRST)" + ], [ "RGB_TOG", "KC_F9", @@ -247,7 +299,7 @@ "LCA(KC_DEL)", "KC_TRNS", "KC_TRNS", - "ANY(SK_KILL)", + "KC_NLCK", "KC_MINS", "KC_1", "KC_2", @@ -263,59 +315,7 @@ "KC_0", "KC_DOT", "KC_COMM", - "KC_TRNS" - ], - [ - "RGB_TOG", - "LALT(KC_RBRC)", - "ANY(A(S(KC_RBRC)))", - "LALT(KC_LBRC)", - "ANY(A(S(KC_LBRC)))", - "ANY(A(S(KC_8)))", - "KC_PSLS", - "KC_P7", - "KC_P8", - "KC_P9", - "KC_PMNS", - "RGB_MOD", - "RGB_VAI", - "KC_GT", - "KC_LT", - "KC_LPRN", - "KC_LCBR", - "LALT(KC_7)", - "KC_PAST", - "RSFT_T(KC_P4)", - "RGUI_T(KC_P5)", - "RALT_T(KC_P6)", - "RCTL_T(KC_PPLS)", - "RGB_HUI", - "RGB_VAD", - "LCTL_T(KC_LBRC)", - "LALT_T(KC_RBRC)", - "KC_RPRN", - "KC_RCBR", - "RALT(KC_5)", - "LALT(KC_MINS)", - "TG(0)", - "KC_TRNS", - "LALT(KC_EQL)", - "KC_COMM", - "KC_P1", - "KC_P2", - "KC_P3", - "KC_PEQL", - "RGB_HUD", - "KC_TRNS", - "KC_APP", - "KC_BSPC", - "LT(5,KC_DEL)", - "KC_PENT", - "KC_BSPC", - "KC_P0", - "KC_PDOT", - "KC_C", - "KC_TRNS" + "ANY(SK_ZOOMRST)" ], [ "KC_TRNS", diff --git a/moutis.c b/moutis.c index b602f23..9d7dfa4 100644 --- a/moutis.c +++ b/moutis.c @@ -12,6 +12,8 @@ user_config_t user_config; uint8_t saved_mods = 0; // to pass state between process_record_user and matrix_scan_user uint16_t record_keycode = 0; // the keykcode we poke at in process_record +uint16_t myKC_C = KC_C; // keycode for "C" (could be K if Japanese) +uint16_t myKC_L = KC_L; // keycode for "L" (could be R if Japanese) uint16_t LBRC_key = KC_LBRC; // keycode for "[" uint16_t RBRC_key = KC_RBRC; // keycode for "]" uint16_t linger_key = 0; // keycode for linger actions (ex. "Qu") diff --git a/moutis.h b/moutis.h index 8b58da3..77c4932 100644 --- a/moutis.h +++ b/moutis.h @@ -17,6 +17,21 @@ #ifdef RGBLIGHT_ENABLE //Following line allows macro to read current RGB settings extern rgblight_config_t rgblight_config; + + #ifdef RGBLIGHT_HUE_STEP + #undef RGBLIGHT_HUE_STEP + #endif + #define RGBLIGHT_HUE_STEP 4 + + #ifdef RGBLIGHT_SAT_STEP + #undef RGBLIGHT_SAT_STEP + #endif + #define RGBLIGHT_SAT_STEP 4 + + #ifdef RGBLIGHT_VAL_STEP + #undef RGBLIGHT_VAL_STEP + #endif + #define RGBLIGHT_VAL_STEP 4 #endif #include "moutis_casemods.h" @@ -49,8 +64,8 @@ enum my_layers { L_HDGOLD, L_QWERTY, // L_PUNCT, - L_FN, L_LANG_NUM, + L_FN, L_NAV, // L_SYMBOLS, L_MEDIA_KBD @@ -58,6 +73,8 @@ enum my_layers { enum my_keycodes { SK_KILL = SAFE_RANGE, // SK_KILL must be the first of contiguous block of SKs + SK_HENK, + SK_MHEN, SK_UNDO, // undo SK_CUT, // cut SK_COPY, // copy diff --git a/moutis_COMBO_hd.h b/moutis_COMBO_hd.h index 0930706..89bdf92 100644 --- a/moutis_COMBO_hd.h +++ b/moutis_COMBO_hd.h @@ -7,6 +7,7 @@ enum my_combos { HC_EQL, // = equal HC_QUES, // ? + HC_QUESg, // ? HC_EXLM, // ! HC_AT, // @ HC_SCLN, // ; @@ -18,8 +19,9 @@ enum my_combos { HC_TIC, // ` tic (not a dead key) HC_GRV, // ` grave (dead key) HC_TAB, + HC_TABt, // tab for Titanium - HC_J, // J is not on the map +// HC_J, // J is not on the map HC_Q, // Q is not on the map HC_Z, // Z is not on the map @@ -40,68 +42,86 @@ enum my_combos { // since combos are a bit slower, // needs to be a 4gram+ or more to be worth it HC_Ch, // treat as digraph 'CH' - HC_Chg, // treat as digraph 'CH' (for Neu-tx a.k.a Gold) + HC_Chg, // treat as digraph 'CH' (for Neu-tx/rx a.k.a Gold/Titanium) HC_Gh, // treat as digraph 'GH' HC_Ph, // treat as φ HC_Th, // treat as θ // HC_Ths, // treat as θ (for Neu-nx a.k.a Silver) - HC_Thg, // treat as θ (for Neu-tx a.k.a Gold) +// HC_Thg, // treat as θ (for Neu-tx a.k.a Gold) HC_Sh, // TYPE "sh" // HC_Shs, // TYPE "sh" (for Neu-nx a.k.a Silver) HC_Wh, // treat as digraph 'WH' - HC_Whg, // treat as digraph 'WH' (for Neu-tx a.k.a Gold) + HC_Whg, // treat as digraph 'WH' (for Neu-tx/rx a.k.a Gold/Titanium) - HC_Ig, // Cap I + "'ve " if lingered for Gold/Neu - HC_Idg, // "I'd " … for Gold/Neu - HC_Illg, // "I'll " … for Gold/Neu - HC_Img, // "I'm " … for Gold/Neu - HC_Ivg, // "I've " … for Gold/Neu + // Pronoun combos. KEEP these together! + HC_I, // Cap I + "'ve " if lingered HC_Id, // "I'd " … HC_Ill, // "I'll " … HC_Im, // "I'm " … HC_Iv, // "I've " … + + HC_Ig, // Cap I + "'ve " if lingered for Gold/Neu + HC_Idg, // "I'd " … for Gold/Neu + HC_Illg, // "I'll " … for Gold/Neu + HC_Img, // "I'm " … for Gold/Neu + HC_Ivg, // "I've " … for Gold/Neu + HC_wed_4gram, // we'd HC_well_5gram, // we'll HC_were_5gram, // we're HC_weve_5gram, // we've HC_youd_5gram, + HC_youdg_5gram, HC_youll_6gram, HC_youre_6gram, HC_youve_6gram, HC_your_4gram, - HC_their_5gram, // "their" #6 - HC_there_5gram, // "there" #7 + HC_they_4gram, // TYPE "they" #23 +// HC_theyg_4gram, // TYPE "they" #23 + HC_theyd_6gram, // TYPE "they'd " #23 +// HC_theydg_6gram, // TYPE "they'd " #23 + HC_theyll_7gram, // TYPE "they'll" #23 +// HC_theyllg_7gram, // TYPE "they'll" #23 HC_theyre_7gram, // "they're" +// HC_theyreg_7gram, // "they're" for Gold/Neu + HC_theyve_7gram, // "they've" +// HC_theyveg_7gram, // "they've" + HC_there_5gram, // "there" #7 + HC_thereg_5gram, // "there" #7 for Gold/Neu + HC_their_5gram, // "their" #6 +// HC_theirg_5gram, // "their" #6 for Gold/Neu + HC_this_4gram, // TYPE "this" #8 + HC_here_4gram, // TYPE "here" #9 + HC_hereg_4gram, // TYPE "here" #9 for Gold/Neu + HC_whereg_5gram, // TYPE "where" + HC_where_5gram, // TYPE "where" + +// END of PRONOUN combos () + HC_ing_3gram, // TYPE "ing" -// HC_tion_4gram, // TYPE "tion" #1 // handled via adaptive keys +// HC_tion_4gram, // TYPE "tion" #1 // handled via hold combo Th HC_with_4gram, // TYPE "with" #5 - HC_withg_4gram, // TYPE "with" #5 +// HC_withg_4gram, // TYPE "with" #5 HC_ment_4gram, // TYPE "ment" #6 - HC_this_4gram, // TYPE "this" #8 - HC_here_4gram, // TYPE "here" #9 - HC_hereg_4gram, // TYPE "here" #9 HC_ould_4gram, // TYPE "ould" #11 HC_ting_4gram, // TYPE "ting" #12 - HC_they_4gram, // TYPE "they" #23 HC_ough_4gram, // TYPE "ough" #25 HC_oughg_4gram, // TYPE "ough" #25 - HC_where_5gram, // TYPE "where" - HC_whereg_5gram, // TYPE "where" HC_TYPE_JAPAN, // TYPE "Japan" and hold for "ese" - HC_CAPG, // CAPS WORD for Gold HC_CAPW, // CAPS WORD for all others - FC_CAPG, // CAPS LOCK (Gold) FC_CAPS, // CAPS LOCK (others) FC_LANG2, // eisuu (others) - FC_LANG2g, // eisuu (neu/Gold) FC_LANG1, // kana (others) +// HC_CAPG, // CAPS WORD for Gold +// FC_CAPG, // CAPS LOCK (Gold) FC_LANG1g, // kana (neu/Gold) +// FC_LANG2g, // eisuu (neu/Gold) FC_LANG2q, // eisuu (QWERTY) FC_LANG1q, // kana (QWERTY) @@ -166,23 +186,23 @@ enum my_combos { FC_SCLP, // Screen Capture Selection to clipboard HC_ENT, - HC_ENTg, +// HC_ENTg, HC_SPC, - HC_SPCg, +// HC_SPCg, HC_CLOZ, // HC_CLOZg, HC_QUIT, // HC_QUITg, HC_FIND, // Find the selection HC_SALL, - HC_SALLg, +// HC_SALLg, HC_UNDO, HC_CUT, HC_COPY, HC_PSTE, - HC_PSTEg, - HC_PSTMg, +// HC_PSTEg, +// HC_PSTMg, HC_PSTM, COMBO_LENGTH // END OF DELAY BLOCK diff --git a/moutis_COMBO_hd_neu_sk.c b/moutis_COMBO_hd_neu_sk.c index 3876297..adec8a4 100644 --- a/moutis_COMBO_hd_neu_sk.c +++ b/moutis_COMBO_hd_neu_sk.c @@ -1,3 +1,13 @@ +/* + Combos + + ** This will misbehave w/o QMK 14.1 or later (Sevanteri's early combos) + + I think this will work with Hands Down Neu variants Gold, Bronze. + Others have been removed, but I'll try to get everwthing in here soon enough. + Finally getting to the last of imagined features that spurred Hands Down design! + + */ // functions / state keys @@ -10,13 +20,13 @@ const uint16_t PROGMEM F_SCAP_combo[] = {KC_J, KC_V, COMBO_END}; // SCREEN shot const uint16_t PROGMEM F_CAPG_combo[] = {KC_C, KC_U, COMBO_END}; // CAPS LOCK (on until hit again) Gold const uint16_t PROGMEM F_CAPS_combo[] = {KC_D, KC_U, COMBO_END}; // CAPS LOCK (on until hit again) const uint16_t PROGMEM H_CAPW_combo[] = {LSFT_T(KC_T), RSFT_T(KC_A), COMBO_END}; // CAPS WORD (on until delimiter) -const uint16_t PROGMEM H_CAPG_combo[] = {LSFT_T(KC_D), RSFT_T(KC_A), COMBO_END}; // CAPS WORD for Gold -const uint16_t PROGMEM H_EISUU_combo[] = {LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), COMBO_END}; // KC_LANG2 -const uint16_t PROGMEM H_EISUUg_combo[] = {LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_D), COMBO_END}; // KC_LANG2 -const uint16_t PROGMEM H_KANA_combo[] = {RALT_T(KC_C), RGUI_T(KC_E),RSFT_T(KC_A), COMBO_END}; // KC_LANG1 -const uint16_t PROGMEM H_KANAg_combo[] = {RALT_T(KC_I), RGUI_T(KC_E),RSFT_T(KC_A), COMBO_END}; // KC_LANG1 -const uint16_t PROGMEM H_EISUUq_combo[] = {KC_S,KC_D,KC_F, COMBO_END}; // KC_LANG2 -const uint16_t PROGMEM H_KANAq_combo[] = {KC_J,KC_K,KC_L, COMBO_END}; // KC_LANG1 +const uint16_t PROGMEM H_EISUU_combo[] = {LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_T), COMBO_END}; // KC_HENK +const uint16_t PROGMEM H_KANA_combo[] = {RALT_T(KC_C), RGUI_T(KC_E), RSFT_T(KC_A), COMBO_END}; // KC_MHEN +//const uint16_t PROGMEM H_CAPG_combo[] = {LSFT_T(KC_D), RSFT_T(KC_A), COMBO_END}; // CAPS WORD for Gold +//const uint16_t PROGMEM H_EISUUg_combo[] = {LALT_T(KC_S), LGUI_T(KC_N), LSFT_T(KC_D), COMBO_END}; // KC_LANG2 +const uint16_t PROGMEM H_KANAg_combo[] = {RALT_T(KC_I), RGUI_T(KC_E), RSFT_T(KC_A), COMBO_END}; // KC_MHEN for Gold/Titanium +const uint16_t PROGMEM H_EISUUq_combo[] = {KC_S,KC_D,KC_F, COMBO_END}; // KC_MHEN for QWERTY +const uint16_t PROGMEM H_KANAq_combo[] = {KC_J,KC_K,KC_L, COMBO_END}; // KC_LANG1 for QWERTY // (22) keypad combos const uint16_t PROGMEM PSLMN_combo[] = {KC_PSLS, KC_PMNS, COMBO_END}; // toggle num layer @@ -65,18 +75,19 @@ const uint16_t PROGMEM Hcoln_combo[] = {HD_HASH, KC_DOT, COMBO_END}; // : colon // spatially arranged characters and diacritics const uint16_t PROGMEM Hexlm_combo[] = {KC_DOT, KC_SLSH, COMBO_END}; // ! const uint16_t PROGMEM Hques_combo[] = {KC_SLSH, KC_QUOT, COMBO_END}; // ? +const uint16_t PROGMEM Hquesg_combo[] = {KC_SLSH, KC_DQUO, COMBO_END}; // ? const uint16_t PROGMEM Hat_combo[] = {KC_P, KC_V, COMBO_END}; // @ at mark const uint16_t PROGMEM Helip_combo[] = {HD_HASH, KC_SLSH, COMBO_END}; // … elipses const uint16_t PROGMEM Htic_combo[] = {KC_DQUO, KC_QUOT, COMBO_END}; // ` tic (not dead key grave) // spatially arranged diacritics -const uint16_t PROGMEM Hacut_combo[] = {KC_SLSH, KC_DQUO, COMBO_END}; // ´ acute (dead key) -const uint16_t PROGMEM Hgrv_combo[] = {KC_EQL, KC_QUOT, COMBO_END}; // ` grave (dead key) -const uint16_t PROGMEM Hmacr_combo[] = {KC_DOT, KC_QUOT, COMBO_END}; // - macron (dead key)ā +const uint16_t PROGMEM Hacut_combo[] = {RSFT_T(KC_A), RGUI_T(KC_E), COMBO_END}; // ´ acute (dead key) +const uint16_t PROGMEM Hgrv_combo[] = {RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // ` grave (dead key) +const uint16_t PROGMEM Hmacr_combo[] = {RSFT_T(KC_A), RALT_T(KC_I), COMBO_END}; // - macron (dead key)ā const uint16_t PROGMEM Hcirc_combo[] = {KC_DOT, KC_DQUO, COMBO_END}; // ˆ circumflex (dead key) const uint16_t PROGMEM Hdier_combo[] = {KC_U, KC_O, COMBO_END}; // ¨ dieresis (dead key) //const uint16_t PROGMEM Hring_combo[] = {KC_O, KC_Y, COMBO_END}; // ˚ ring (dead key) -const uint16_t PROGMEM Henye_combo[] = {KC_G, KC_P, COMBO_END}; // ˜ enye (dead key) (ñ) +const uint16_t PROGMEM Henye_combo[] = {LALT_T(KC_S), LSFT_T(KC_D), COMBO_END}; // ˜ enye (dead key) (ñ only?) // LOWER ROW // SYMBOLS spatially arranged @@ -84,22 +95,22 @@ const uint16_t PROGMEM Henye_combo[] = {KC_G, KC_P, COMBO_END}; // ˜ enye (dead // LEFT HAND // TEXT ENTRY - off map standard alphas -const uint16_t PROGMEM H_J_combo[] = {KC_O, KC_W, COMBO_END}; // TYPE "j" +//const uint16_t PROGMEM H_J_combo[] = {KC_O, KC_W, COMBO_END}; // TYPE "j" const uint16_t PROGMEM H_Z_combo[] = {KC_J, KC_G, COMBO_END}; // TYPE "z" const uint16_t PROGMEM H_Q_combo[] = {KC_U, KC_Y, COMBO_END}; // TYPE "q" // H digraphs -const uint16_t PROGMEM H_Ch_combo[] = {RALT_T(KC_C), RGUI_T(KC_E), COMBO_END}; // TYPE "ch" -const uint16_t PROGMEM H_Chg_combo[] = {RALT_T(KC_I), RGUI_T(KC_E), COMBO_END}; // TYPE "ch" // for Gold/neu +const uint16_t PROGMEM H_Ch_combo[] = {RALT_T(KC_C), RGUI_T(KC_E), COMBO_END}; // TYPE "ch" for Bronze/Silver/Platinum +const uint16_t PROGMEM H_Chg_combo[] = {LCTL_T(KC_C), LSFT_T(KC_T), COMBO_END}; // TYPE "ch" // for Titanium const uint16_t PROGMEM H_Wh_combo[] = {KC_O, KC_W, COMBO_END}; // TYPE "wh" -const uint16_t PROGMEM H_Whg_combo[] = {KC_O, KC_Y, COMBO_END}; // TYPE "wh" // for HD Gold/neu +const uint16_t PROGMEM H_Whg_combo[] = {RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // TYPE "wh" // for HD Gold/neu/Ti const uint16_t PROGMEM H_Ph_combo[] = {KC_M, KC_P, COMBO_END}; // TYPE "ph" const uint16_t PROGMEM H_Gh_combo[] = {KC_G, KC_M, COMBO_END}; // TYPE "gh" const uint16_t PROGMEM H_Sh_combo[] = {LALT_T(KC_S), LGUI_T(KC_N), COMBO_END}; // "sh" //const uint16_t PROGMEM H_Shs_combo[] = {LALT_T(KC_S), LGUI_T(KC_H), COMBO_END}; // "sh" // (for Neu-nx a.k.a Silver) const uint16_t PROGMEM H_Th_combo[] = {LGUI_T(KC_N), LSFT_T(KC_T), COMBO_END}; // "th" //const uint16_t PROGMEM H_Ths_combo[] = {LGUI_T(KC_H), LSFT_T(KC_T), COMBO_END}; // "th" // (for Neu-nx a.k.a Silver) -const uint16_t PROGMEM H_Thg_combo[] = {LGUI_T(KC_N), LSFT_T(KC_D), COMBO_END}; // "th" // for HD Gold +//const uint16_t PROGMEM H_Thg_combo[] = {LGUI_T(KC_N), LSFT_T(KC_D), COMBO_END}; // "th" // for HD Gold // TEXT ENTRY - (ANY ROW/ MIXED ROWS) @@ -109,13 +120,12 @@ const uint16_t PROGMEM H_ing_combo[] = {RCTL_T(KC_I), KC_G, COMBO_END}; // TYPE //const uint16_t PROGMEM H_tion_combo[] = {LGUI_T(KC_N), LSFT_T(KC_T), COMBO_END}; // "tion" #1 handled w/Adaptive keys -const uint16_t PROGMEM H_withg_combo[] = {KC_W, KC_H, COMBO_END}; // "with" #5 for Gold/Neu -const uint16_t PROGMEM H_hereg_combo[] = {KC_H, LCTL_T(KC_R), COMBO_END}; // "here" #9 for Gold/Neu -const uint16_t PROGMEM H_oughg_combo[] = {KC_O, KC_H, COMBO_END}; // "ough" #25 for Gold/Neu +const uint16_t PROGMEM H_withg_combo[] = {KC_W, RCTL_T(KC_H), COMBO_END}; // "with" #5 for Gold/Neu +const uint16_t PROGMEM H_oughg_combo[] = {KC_O, RCTL_T(KC_H), COMBO_END}; // "ough" #25 for Gold/Neu const uint16_t PROGMEM H_with_combo[] = {KC_W, LT(L_NAV,KC_H), COMBO_END}; // "with" #5 const uint16_t PROGMEM H_ment_combo[] = {KC_M, LSFT_T(KC_T), COMBO_END}; // "ment" #6 -const uint16_t PROGMEM H_there_combo[] = {LSFT_T(KC_T), KC_X, COMBO_END}; // TYPE "there" #7 +const uint16_t PROGMEM H_there_combo[] = {LSFT_T(KC_T), LCTL_T(KC_R), COMBO_END}; // TYPE "there" #7 const uint16_t PROGMEM H_this_combo[] = {LSFT_T(KC_T), LALT_T(KC_S), COMBO_END}; // "this" #8 const uint16_t PROGMEM H_here_combo[] = {LT(L_NAV,KC_H), LCTL_T(KC_R), COMBO_END}; // "here" #9 const uint16_t PROGMEM H_ould_combo[] = {KC_O, KC_D, COMBO_END}; // "ould" #11 @@ -126,11 +136,23 @@ const uint16_t PROGMEM H_ough_combo[] = {KC_O, LT(L_NAV,KC_H), COMBO_END}; // "o // PRONOUNS Fast 4-7grams -const uint16_t PROGMEM H_Icapg_combo[] = {RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // TYPE "I"+"'m" for Gold/Neuh -const uint16_t PROGMEM H_Idg_combo[] = {LSFT_T(KC_D), RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // TYPE "I'd"+"'ve " for Gold/Neu -const uint16_t PROGMEM H_Illg_combo[] = {KC_L, RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // TYPE "I'll"+"'ve " for Gold/Neu -const uint16_t PROGMEM H_Img_combo[] = {KC_M, RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // TYPE "I'm " for Gold/Neu -const uint16_t PROGMEM H_Ivg_combo[] = {KC_V, RALT_T(KC_I), RCTL_T(KC_H), COMBO_END}; // TYPE "I've " for Gold/Neu +const uint16_t PROGMEM H_Icapg_combo[] = {RALT_T(KC_I), RGUI_T(KC_E), COMBO_END}; // TYPE "I"+"'m" for Gold/Neuh +const uint16_t PROGMEM H_Idg_combo[] = {KC_D, RALT_T(KC_I), COMBO_END}; // TYPE "I'd"+"'ve " for Gold/Neu +const uint16_t PROGMEM H_Illg_combo[] = {KC_L, RALT_T(KC_I), COMBO_END}; // TYPE "I'll"+"'ve " for Gold/Neu +const uint16_t PROGMEM H_Img_combo[] = {KC_M, RALT_T(KC_I), COMBO_END}; // TYPE "I'm " for Gold/Neu +const uint16_t PROGMEM H_Ivg_combo[] = {KC_V, RALT_T(KC_I), COMBO_END}; // TYPE "I've " for Gold/Neu +const uint16_t PROGMEM H_youdg_combo[] = {KC_Y, LSFT_T(KC_D), COMBO_END}; // TYPE "you'd" +/* +const uint16_t PROGMEM H_theyg_combo[] = {LSFT_T(KC_T), KC_Y, COMBO_END}; // "they" #23 +const uint16_t PROGMEM H_theydg_combo[] = {LSFT_T(KC_T), KC_D, COMBO_END}; // TYPE "they'd " #23 +const uint16_t PROGMEM H_theyllg_combo[] = {LSFT_T(KC_T), KC_L, COMBO_END}; // "they'll" +const uint16_t PROGMEM H_theyveg_combo[] = {LSFT_T(KC_T), KC_V, COMBO_END}; // "they've" +const uint16_t PROGMEM H_theyreg_combo[] = {LSFT_T(KC_T), KC_J, COMBO_END}; // "they're" +const uint16_t PROGMEM H_theirg_combo[] = {LSFT_T(KC_T), KC_X, COMBO_END}; // TYPE "their" #6 + */ +const uint16_t PROGMEM H_thereg_combo[] = {LSFT_T(KC_T), LT(L_NAV,KC_R), COMBO_END}; // TYPE "there" #7 +const uint16_t PROGMEM H_hereg_combo[] = {RCTL_T(KC_H), LT(L_NAV,KC_R), COMBO_END}; // TYPE "here" #5 +const uint16_t PROGMEM H_whereg_combo[] = {KC_W, LT(L_NAV,KC_R), COMBO_END}; // "where" const uint16_t PROGMEM H_Icap_combo[] = {RALT_T(KC_C), RCTL_T(KC_I), COMBO_END}; // TYPE "I"+"'m" for Bronze/Silver/Platinum const uint16_t PROGMEM H_Id_combo[] = {KC_D, RALT_T(KC_C), RCTL_T(KC_I), COMBO_END}; // TYPE "I'd"+"'ve " for Bronze/Silver/Platinum @@ -146,13 +168,16 @@ const uint16_t PROGMEM H_youd_combo[] = {KC_Y, KC_D, COMBO_END}; // TYPE "you'd" const uint16_t PROGMEM H_youll_combo[] = {KC_Y, KC_L, COMBO_END}; // TYPE "you'll" const uint16_t PROGMEM H_youre_combo[] = {KC_Y, KC_J, COMBO_END}; // TYPE "you're" const uint16_t PROGMEM H_youve_combo[] = {KC_Y, KC_V, COMBO_END}; // TYPE "you've" -const uint16_t PROGMEM H_your_combo[] = {KC_Y, LCTL_T(KC_R), COMBO_END}; // TYPE "your" -const uint16_t PROGMEM H_their_combo[] = {LSFT_T(KC_T), LCTL_T(KC_R), COMBO_END}; // TYPE "their" #6 +const uint16_t PROGMEM H_your_combo[] = {KC_Y, KC_X, COMBO_END}; // TYPE "your" +const uint16_t PROGMEM H_their_combo[] = {LSFT_T(KC_T), KC_X, COMBO_END}; // TYPE "their" #6 const uint16_t PROGMEM H_they_combo[] = {LSFT_T(KC_T), KC_Y, COMBO_END}; // "they" #23 +const uint16_t PROGMEM H_theyd_combo[] = {LSFT_T(KC_T), KC_D, COMBO_END}; // "they" #23 +const uint16_t PROGMEM H_theyll_combo[] = {LSFT_T(KC_T), KC_L, COMBO_END}; // "they" #23 const uint16_t PROGMEM H_theyre_combo[] = {LSFT_T(KC_T), KC_J, COMBO_END}; // "they're" const uint16_t PROGMEM H_where_combo[] = {KC_W, LCTL_T(KC_R), COMBO_END}; // "where" + /* other examples or text entry combos */ const uint16_t PROGMEM H_Japan_combo[] = {KC_G, KC_M, KC_P, COMBO_END}; // TYPE "Japan" const uint16_t PROGMEM Macro_combo[] = {KC_J, KC_B, COMBO_END}; // some demonstrator macro placeholder @@ -162,28 +187,29 @@ const uint16_t PROGMEM Macro_combo[] = {KC_J, KC_B, COMBO_END}; // some demonstr // FUNCTIONS/COMMANDS Spatially arranged const uint16_t PROGMEM Htab_combo[] = {LCTL_T(KC_R), LALT_T(KC_S), COMBO_END}; // tab +const uint16_t PROGMEM Htabt_combo[] = {LCTL_T(KC_C), LALT_T(KC_S), COMBO_END}; // tab for Titanium const uint16_t PROGMEM Hspc_combo[] = {LSFT_T(KC_T), KC_B, COMBO_END}; // SPACE -const uint16_t PROGMEM Hspcg_combo[] = {LSFT_T(KC_D), KC_B, COMBO_END}; // SPACE for Gold +//const uint16_t PROGMEM Hspcg_combo[] = {LSFT_T(KC_D), KC_B, COMBO_END}; // SPACE for Gold const uint16_t PROGMEM Hent_combo[] = {KC_D, KC_K, COMBO_END}; // ENTER -const uint16_t PROGMEM Hentg_combo[] = {KC_C, KC_K, COMBO_END}; // ENTER for gold (should be CH?) +//const uint16_t PROGMEM Hentg_combo[] = {KC_C, KC_K, COMBO_END}; // ENTER for gold (should be CH?) // LOWER ROW // SEMANTIC FUNCTIONS Spatially arranged ** uses SemKeys ** const uint16_t PROGMEM Hclose_combo[] = {KC_L, KC_K, COMBO_END}; // close -//const uint16_t PROGMEM Hcloseg_combo[] = {KC_L, KC_K, COMBO_END}; // close FOR GOLD const uint16_t PROGMEM Hquit_combo[] = {KC_F, KC_K, COMBO_END}; // quit -//const uint16_t PROGMEM Hquitg_combo[] = {KC_G, KC_K, COMBO_END}; // quit FOR GOLD const uint16_t PROGMEM Hfind_combo[] = {KC_G, KC_V, COMBO_END}; // find const uint16_t PROGMEM Hsall_combo[] = {KC_X, KC_D, COMBO_END}; // select all -const uint16_t PROGMEM Hsallg_combo[] = {KC_X, KC_C, COMBO_END}; // select all FOR GOLD const uint16_t PROGMEM Hundo_combo[] = {KC_X, KC_F, COMBO_END}; // undo const uint16_t PROGMEM Hcut_combo[] = {KC_X, KC_L, COMBO_END}; // cut const uint16_t PROGMEM Hcopy_combo[] = {KC_F, KC_L, COMBO_END}; // copy const uint16_t PROGMEM Hpste_combo[] = {KC_L, KC_D, COMBO_END}; // paste -const uint16_t PROGMEM Hpsteg_combo[] = {KC_L, KC_C, COMBO_END}; // paste FOR GOLD const uint16_t PROGMEM Hpstm_combo[] = {KC_F, KC_D, COMBO_END}; // paste-match -const uint16_t PROGMEM Hpstmg_combo[] = {KC_G, KC_C, COMBO_END}; // paste-match FOR GOLD +//const uint16_t PROGMEM Hcloseg_combo[] = {KC_L, KC_K, COMBO_END}; // close FOR GOLD +//const uint16_t PROGMEM Hquitg_combo[] = {KC_G, KC_K, COMBO_END}; // quit FOR GOLD +//const uint16_t PROGMEM Hsallg_combo[] = {KC_X, KC_C, COMBO_END}; // select all FOR GOLD +//const uint16_t PROGMEM Hpsteg_combo[] = {KC_L, KC_C, COMBO_END}; // paste FOR GOLD +//const uint16_t PROGMEM Hpstmg_combo[] = {KC_F, KC_C, COMBO_END}; // paste-match FOR GOLD // TWO HANDS //const uint16_t PROGMEM Hdquo_combo[] = {HD_HASH, HD_DQUO, COMBO_END}; // "|" insert between double quote @@ -219,10 +245,12 @@ combo_t key_combos[] = { [HC_TIC] = COMBO(Htic_combo, KC_GRV), // ` [HC_EXLM] = COMBO(Hexlm_combo, KC_EXLM), // ! [HC_QUES] = COMBO(Hques_combo, KC_QUES), // ? + [HC_QUESg] = COMBO(Hquesg_combo, KC_QUES), // ? [HC_AT] = COMBO(Hat_combo, KC_AT), // @ [HC_TAB] = COMBO(Htab_combo, KC_TAB), + [HC_TABt] = COMBO(Htabt_combo, KC_TAB), // tab for Titanium - [HC_J] = COMBO(H_J_combo, KC_J), +// [HC_J] = COMBO(H_J_combo, KC_J), [HC_Q] = COMBO(H_Q_combo, KC_Q), // [HC_Z] = COMBO(H_Z_combo, KC_Z), [HC_Z] = COMBO_ACTION(H_Z_combo), @@ -232,7 +260,7 @@ combo_t key_combos[] = { [HC_Ph] = COMBO_ACTION(H_Ph_combo), [HC_Th] = COMBO_ACTION(H_Th_combo), // [HC_Ths] = COMBO_ACTION(H_Ths_combo), // (for Neu-nx a.k.a Silver) - [HC_Thg] = COMBO_ACTION(H_Thg_combo), // (for Neu-tx a.k.a Gold) +// [HC_Thg] = COMBO_ACTION(H_Thg_combo), // (for Neu-tx a.k.a Gold) [HC_Sh] = COMBO_ACTION(H_Sh_combo), // [HC_Shs] = COMBO_ACTION(H_Shs_combo), // (for Neu-nx a.k.a Silver) [HC_Wh] = COMBO_ACTION(H_Wh_combo), @@ -280,17 +308,17 @@ combo_t key_combos[] = { [FC_KILL] = COMBO(F_KILL_combo, SK_KILL), // Force quit [FC_SCAP] = COMBO(F_SCAP_combo, SK_SCAP), // SCREEN CAPTURE SELECTION [FC_SCLP] = COMBO(F_SCLP_combo, SK_SCLP), // SCREEN CAPTURE SELECTION to clipboard - [FC_CAPG] = COMBO(F_CAPG_combo, KC_CAPS), // CAPS LOCK for Gold [FC_CAPS] = COMBO(F_CAPS_combo, KC_CAPS), // CAPS LOCK [HC_CAPW] = COMBO_ACTION(H_CAPW_combo), // CAPS_WORD - [HC_CAPG] = COMBO_ACTION(H_CAPG_combo), // CAPS_WORD for Gold +// [FC_CAPG] = COMBO(F_CAPG_combo, KC_CAPS), // CAPS LOCK for Gold +// [HC_CAPG] = COMBO_ACTION(H_CAPG_combo), // CAPS_WORD for Gold - [FC_LANG2] = COMBO(H_EISUU_combo, KC_LANG2), // eisuu (others) - [FC_LANG2g] = COMBO(H_EISUUg_combo, KC_LANG2), // eisuu (neu/Gold) - [FC_LANG1] = COMBO(H_KANA_combo, KC_LANG1), // kana (others) - [FC_LANG1g] = COMBO(H_KANAg_combo, KC_LANG1), // kana (neu/Gold) - [FC_LANG2q] = COMBO(H_EISUUq_combo, KC_LANG2), // eisuu (QWERTY) - [FC_LANG1q] = COMBO(H_KANAq_combo, KC_LANG1), // kana (QWERTY) + [FC_LANG2] = COMBO(H_EISUU_combo, KC_MHEN), // eisuu (others) + [FC_LANG1] = COMBO(H_KANA_combo, KC_HENK), // kana (others) +// [FC_LANG2g] = COMBO(H_EISUUg_combo, KC_LANG2), // eisuu (neu/Gold) + [FC_LANG1g] = COMBO(H_KANAg_combo, KC_HENK), // kana (neu/Gold) + [FC_LANG2q] = COMBO(H_EISUUq_combo, KC_MHEN), // eisuu (QWERTY) + [FC_LANG1q] = COMBO(H_KANAq_combo, KC_HENK), // kana (QWERTY) // HANDSDOWN [HC_NDSH] = COMBO_ACTION(Hndsh_combo), // – N-DASH @@ -322,24 +350,33 @@ combo_t key_combos[] = { [HC_ing_3gram] = COMBO_ACTION(H_ing_combo), // TYPE "ing" // [HC_tion_4gram] = COMBO_ACTION(H_tion_combo), // TYPE "tion" #1 // handled via adaptive keys? [HC_with_4gram] = COMBO_ACTION(H_with_combo), // TYPE "with" #5 - [HC_withg_4gram] = COMBO_ACTION(H_withg_combo), // TYPE "with" #5 +// [HC_withg_4gram] = COMBO_ACTION(H_withg_combo), // TYPE "with" #5 [HC_ment_4gram] = COMBO_ACTION(H_ment_combo), // TYPE "ment" #6 - [HC_this_4gram] = COMBO_ACTION(H_this_combo), // TYPE "this" #8 - [HC_here_4gram] = COMBO_ACTION(H_here_combo), // TYPE "here" #9 - [HC_hereg_4gram] = COMBO_ACTION(H_hereg_combo), // TYPE "here" #9 [HC_ould_4gram] = COMBO_ACTION(H_ould_combo), // TYPE "ould" #11 [HC_ting_4gram] = COMBO_ACTION(H_ting_combo), // TYPE "ting" #12 - [HC_they_4gram] = COMBO_ACTION(H_they_combo), // TYPE "they" #23 [HC_ough_4gram] = COMBO_ACTION(H_ough_combo), // TYPE "ough" #25 [HC_oughg_4gram] = COMBO_ACTION(H_oughg_combo), // TYPE "ough" #25 // PRONOUNS Fast entry 4-7gram PRONOUNS (an English quirk) + [HC_this_4gram] = COMBO_ACTION(H_this_combo), // TYPE "this" #8 + [HC_they_4gram] = COMBO_ACTION(H_they_combo), // TYPE "they" #23 +// [HC_theyg_4gram] = COMBO_ACTION(H_theyg_combo), // TYPE "they" #23 + [HC_Ig] = COMBO_ACTION(H_Icapg_combo),// TYPE "I"+"'ve " for Gold/Neu [HC_Idg] = COMBO_ACTION(H_Idg_combo),// TYPE "I'd " for Gold/Neu [HC_Illg] = COMBO_ACTION(H_Illg_combo),// TYPE "I'll " for Gold/Neu [HC_Img] = COMBO_ACTION(H_Img_combo),// TYPE "I'm " for Gold/Neu [HC_Ivg] = COMBO_ACTION(H_Ivg_combo),// TYPE "I've " for Gold/Neu +// [HC_youdg_5gram] = COMBO_ACTION(H_youdg_combo),// TYPE "you'd" +// [HC_theydg_6gram] = COMBO_ACTION(H_theydg_combo), // TYPE "they'd" for Gold/Neu +// [HC_theyllg_7gram] = COMBO_ACTION(H_theyllg_combo), // TYPE "they'll" for Gold/Neu +// [HC_theyreg_7gram] = COMBO_ACTION(H_theyreg_combo), // TYPE "they're" for Gold/Neut +// [HC_theyveg_7gram] = COMBO_ACTION(H_theyveg_combo), // TYPE "they've" for Gold/Neu + [HC_thereg_5gram] = COMBO_ACTION(H_thereg_combo), // TYPE "there" #7 for Gold/Neu +// [HC_theirg_5gram] = COMBO_ACTION(H_theirg_combo), // TYPE "their" #6 + [HC_hereg_4gram] = COMBO_ACTION(H_hereg_combo), // TYPE "here" #9 + [HC_whereg_5gram] = COMBO_ACTION(H_whereg_combo), // TYPE "where" [HC_I] = COMBO_ACTION(H_Icap_combo),// TYPE "I"+"'ve " [HC_Id] = COMBO_ACTION(H_Id_combo),// TYPE "I'd " @@ -355,10 +392,12 @@ combo_t key_combos[] = { [HC_youre_6gram] = COMBO_ACTION(H_youre_combo),// TYPE "you're" [HC_youve_6gram] = COMBO_ACTION(H_youve_combo),// TYPE "you've" [HC_your_4gram] = COMBO_ACTION(H_your_combo),// TYPE "your" - [HC_their_5gram] = COMBO_ACTION(H_their_combo), // TYPE "their" #6 [HC_there_5gram] = COMBO_ACTION(H_there_combo), // TYPE "there" #7 - [HC_where_5gram] = COMBO_ACTION(H_where_combo), // TYPE "where" + [HC_their_5gram] = COMBO_ACTION(H_their_combo), // TYPE "their" #6 [HC_theyre_7gram] = COMBO_ACTION(H_theyre_combo), // TYPE "they're" + [HC_here_4gram] = COMBO_ACTION(H_here_combo), // TYPE "here" #9 + [HC_where_5gram] = COMBO_ACTION(H_where_combo), // TYPE "where" + /* Maybe not worth the possible misfire? [HC_people_6gram] = COMBO_ACTION(H_people_combo), // TYPE "people" #23 @@ -374,25 +413,25 @@ combo_t key_combos[] = { [HC_SPC] = COMBO(Hspc_combo, KC_SPC), // SPACE - [HC_SPCg] = COMBO(Hspcg_combo, KC_SPC), // SPACE for Gold [HC_ENT] = COMBO(Hent_combo, KC_ENT), // ENTER - [HC_ENTg] = COMBO(Hentg_combo, KC_ENT), // ENTER for Gold +// [HC_SPCg] = COMBO(Hspcg_combo, KC_SPC), // SPACE for Gold +// [HC_ENTg] = COMBO(Hentg_combo, KC_ENT), // ENTER for Gold /* Uses SemKeys, even as simple combos (handled by process_semkey from process_record_user) */ [HC_CLOZ] = COMBO(Hclose_combo, SK_CLOZ), -// [HC_CLOZg] = COMBO(Hcloseg_combo, SK_CLOZ), // for Gold [HC_QUIT] = COMBO(Hquit_combo, SK_QUIT), -// [HC_QUITg] = COMBO(Hquitg_combo, SK_QUIT), // for Gold [HC_FIND] = COMBO(Hfind_combo, SK_FIND), [HC_SALL] = COMBO(Hsall_combo, SK_SALL), - [HC_SALLg] = COMBO(Hsallg_combo, SK_SALL), // for Gold +// [HC_CLOZg] = COMBO(Hcloseg_combo, SK_CLOZ), // for Gold +// [HC_QUITg] = COMBO(Hquitg_combo, SK_QUIT), // for Gold +// [HC_SALLg] = COMBO(Hsallg_combo, SK_SALL), // for Gold [HC_UNDO] = COMBO(Hundo_combo, SK_UNDO), [HC_CUT] = COMBO(Hcut_combo, SK_CUT), [HC_COPY] = COMBO(Hcopy_combo, SK_COPY), [HC_PSTE] = COMBO(Hpste_combo, SK_PSTE), - [HC_PSTEg] = COMBO(Hpsteg_combo, SK_PSTE), // for Gold [HC_PSTM] = COMBO(Hpstm_combo, SK_PSTM), - [HC_PSTMg] = COMBO(Hpstmg_combo, SK_PSTM), // for Gold +// [HC_PSTEg] = COMBO(Hpsteg_combo, SK_PSTE), // for Gold +// [HC_PSTMg] = COMBO(Hpstmg_combo, SK_PSTM), // for Gold }; @@ -407,17 +446,21 @@ void process_combo_event(uint16_t combo_index, bool pressed) { #endif switch(combo_index) { case PC_STAB ... COMBO_LENGTH: // these have a hold delay BEFORE triggering - case HC_Ch ... HC_TYPE_JAPAN: // these may have dual bahaviors, long vs short hold - combo_on = combo_index; // queue for matrix_scan_user_process_combo + case HC_Ch ... HC_Whg: // The H digraphs determined on up event + combo_on = combo_index; // queue for matrix_scan_user_process_combo break; - case HC_CAPG: // turn on capsword for Gold +// case HC_CAPG: // turn on capsword for Gold case HC_CAPW: // turn on capsword (automatically turns off on delimiter) toggle_caps_word(); break; case HC_Z: // (Q gets special treatment) - register_linger_key(KC_Z); // example of simple linger macro + register_linger_key(KC_Z); // example of simple linger macro: name "Zoe" + break; + case HC_TYPE_JAPAN: + send_string("Japan"); // send "Japan" right away + combo_on = combo_index; // may add "ese " if held break; case HC_NDSH: @@ -425,12 +468,165 @@ void process_combo_event(uint16_t combo_index, bool pressed) { break; case HC_MDSH: register_code16(A(S(KC_MINS))); + +// the entirely unnecessary pronoun combo shenanigans + + case HC_this_4gram: // TYPE "this" #8 + tap_code(KC_T); + unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + send_string("his"); + break; + case HC_here_4gram: // TYPE "here" #9 + case HC_hereg_4gram: // TYPE "here" #9 + tap_code(KC_H); + unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + send_string("ere"); + combo_on = combo_index; // may add "'s " if held + break; + case HC_their_5gram: // TYPE "their" #6 +// case HC_theirg_5gram: // TYPE "their" #6 + tap_code(KC_T); + unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + send_string("heir"); + combo_on = combo_index; // may add "'s " if held + break; + case HC_there_5gram: // TYPE "there" #7 + case HC_thereg_5gram: // TYPE "there" #7 + tap_code(KC_T); + goto here; +/* unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + send_string("here"); + combo_on = combo_index; // may add "'s " if held break; +*/ + case HC_where_5gram: // TYPE "where" // this should be a linger add text? + case HC_whereg_5gram: // TYPE "where" // this should be a linger add text? + tap_code(KC_W); +here: + unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + send_string("here"); + combo_on = combo_index; // may add "'ve " if held + break; + +// This group all share a suffix, with a goto addonsuffix, +// so keep together 'cause we're messing with stack frames at the end! + case HC_I: + case HC_Ig: + tap_code16(S(KC_I)); + unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + combo_on = combo_index; // may add "'ve " if held + break; + case HC_they_4gram: // "they" +// case HC_theyg_4gram: // "they" + tap_code(KC_T); // send "Y" honoring caps + unregister_code(KC_LSFT); // remove shift here. + unregister_code(KC_RSFT); // remove shift here. + send_string("hey"); // send "they" right away + combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo + break; + case HC_your_4gram: + tap_code(KC_Y); + unregister_code(KC_LSFT); // turn off shift to facilitate + unregister_code(KC_RSFT); // first-words & Proper nouns. + send_string("our"); + combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo + break; + case HC_Id: + case HC_Idg: + case HC_Ill: + case HC_Illg: + case HC_Im: + case HC_Img: + case HC_Iv: + case HC_Ivg: + tap_code16(S(KC_I)); // send "I" CAPITALIZED + unregister_code(KC_LSFT); // remove shift here. + unregister_code(KC_RSFT); // remove shift here. + goto addonsuffix; + case HC_wed_4gram: + case HC_well_5gram: + case HC_were_5gram: + case HC_weve_5gram: + tap_code(KC_W); // send "W" honoring caps + unregister_code(KC_LSFT); // remove shift here. + unregister_code(KC_RSFT); // remove shift here. + send_string("e"); // send "We" right away + goto addonsuffix; + case HC_youd_5gram: + case HC_youdg_5gram: + case HC_youll_6gram: + case HC_youre_6gram: + case HC_youve_6gram: + tap_code(KC_Y); // send "Y" honoring caps + unregister_code(KC_LSFT); // remove shift here. + unregister_code(KC_RSFT); // remove shift here. + send_string("ou"); // send "We're" right away + goto addonsuffix; + case HC_theyd_6gram: // TYPE "they'd " #23 +// case HC_theydg_6gram: // TYPE "they'd " #23 + case HC_theyll_7gram: +// case HC_theyllg_7gram: + case HC_theyre_7gram: +// case HC_theyreg_7gram: + case HC_theyve_7gram: // "they've" +// case HC_theyveg_7gram: // "they've" + tap_code(KC_T); // send "Y" honoring caps + unregister_code(KC_LSFT); // remove shift here. + unregister_code(KC_RSFT); // remove shift here. + send_string("hey"); // send "they" right away +addonsuffix: // sharing this saves about 100 bytes (10 bytes per instance) + tap_code(KC_QUOT); + switch (combo_index) { // + case HC_Id: // "I'd " … + case HC_Idg: // "I'd " … + case HC_wed_4gram: // we'd + case HC_youd_5gram: +// case HC_youdg_5gram: + case HC_theyd_6gram: // TYPE "they'd " #23 +// case HC_theydg_6gram: // TYPE "they'd " #23 + send_string("d"); + combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo + break; + case HC_Im: + case HC_Img: + SEND_STRING("m "); + break; + case HC_Ill: // "I'll " … + case HC_Illg: // "I'll " … + case HC_well_5gram: // we'll + case HC_youll_6gram: + case HC_theyll_7gram: // TYPE "they'll " #23 +// case HC_theyllg_7gram: // TYPE "they'll " #23 + send_string("ll"); + combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo + break; + case HC_were_5gram: // we're + case HC_youre_6gram: + case HC_theyre_7gram: // "they're" +// case HC_theyreg_7gram: // "they're" + send_string("re "); + break; + case HC_Iv: // "I've " … + case HC_Ivg: // "I've " … + case HC_weve_5gram: // we've + case HC_youve_6gram: + case HC_theyve_7gram: // "they've" +// case HC_theyveg_7gram: // "they've" + send_string("ve "); + } + +// END of the common suffix group with the goto addonsuffix: } // end switch (combo_index) if (combo_on) linger_timer = timer_read(); // start timing for linger process - } else { // end if (pressed) this is the key up switch threshold not met. + } else { // end if (pressed) so this is the key up switch threshold not met. #ifdef OLED_DRIVER_ENABLE oled_set_cursor(0,combo_OLED_row); @@ -441,7 +637,9 @@ void process_combo_event(uint16_t combo_index, bool pressed) { */ // make this smarter/smaller/faster. // lookup keys to output from the key_combos[key_combos] table, bypassing this switch? - if (combo_on && !combo_triggered) {// no combo, so send the underlying keys + // wrapup the combo and send the underlying keys if necessary + // + if (combo_on && !combo_triggered) { // combo NOT triggered in matrix_scan_user_process_combo #ifdef OLED_DRIVER_ENABLE oled_set_cursor(oled_max_chars() - 5, combo_OLED_row); oled_write_P(PSTR("abort"), true); @@ -492,6 +690,7 @@ void process_combo_event(uint16_t combo_index, bool pressed) { tap_code(KC_9); break; +// the H digraphs case HC_Ch: case HC_Chg: @@ -513,15 +712,19 @@ void process_combo_event(uint16_t combo_index, bool pressed) { tap_code(KC_H); // send "h" honoring CAPSLK state break; case HC_Sh: -// case HC_Shs: - tap_code(KC_S); // send "S" honoring caps - unregister_code(KC_LSFT); // remove shift here. - unregister_code(KC_RSFT); // remove shift here. - tap_code(KC_H); // send "h" honoring CAPSLK state +// case HC_Shs: // for Silver w/ N on thumb, H on middle + if (myKC_C == KC_K) { // in Japanese mode? + tap_code(KC_Z); // send "Z" + } else { + tap_code(KC_S); // send "S" honoring caps + unregister_code(KC_LSFT); // remove shift here. + unregister_code(KC_RSFT); // remove shift here. + tap_code(KC_H); // send "h" honoring CAPSLK state + } break; case HC_Th: -// case HC_Ths: - case HC_Thg: +// case HC_Ths: // for Silver w/ N on thumb, H on middle +// case HC_Thg: tap_code(KC_T); // send "T" honoring caps unregister_code(KC_LSFT); // remove shift here. unregister_code(KC_RSFT); // remove shift here. @@ -535,158 +738,36 @@ void process_combo_event(uint16_t combo_index, bool pressed) { tap_code(KC_H); // send "h" honoring CAPSLK state break; +// END the H digraphs + case HC_ing_3gram: // TYPE "ing" SEND_STRING("ing"); combo_on = combo_index; // may add "s " in matrix_scan_user_process_combo break; case HC_with_4gram: // TYPE "with" #5 - SEND_STRING("with"); + SEND_STRING("with "); break; case HC_ment_4gram: // TYPE "ment" #6 SEND_STRING("ment"); combo_on = combo_index; // may add "s " in matrix_scan_user_process_combo break; - case HC_this_4gram: // TYPE "this" #8 - tap_code(KC_T); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("his "); - break; - case HC_here_4gram: // TYPE "here" #9 - case HC_hereg_4gram: // TYPE "here" #9 - tap_code(KC_H); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("ere"); - combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo - break; case HC_ould_4gram: // TYPE "ould" #11 SEND_STRING("ould"); combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo break; case HC_ting_4gram: // TYPE "ting" #12 - SEND_STRING("ting"); - break; - case HC_they_4gram: // TYPE "they" #23 - tap_code(KC_T); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("hey"); - combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo + SEND_STRING("ting "); break; case HC_ough_4gram: // TYPE "ough" #25 case HC_oughg_4gram: // TYPE "ough" #25 - SEND_STRING("ough"); - break; - - case HC_their_5gram: // TYPE "their" #6 - tap_code(KC_T); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("heir"); - combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo - break; - case HC_there_5gram: // TYPE "there" #7 - tap_code(KC_T); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("here"); - combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo - break; - case HC_theyre_7gram: // TYPE "they're" #7 - tap_code(KC_T); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("hey're"); - combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo - break; - case HC_where_5gram: // TYPE "where" // this should be a linger add text? - case HC_whereg_5gram: // TYPE "where" // this should be a linger add text? - tap_code(KC_W); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("here"); - combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo - break; - - - case HC_TYPE_JAPAN: - SEND_STRING("Japan"); // send "Japan" right away - combo_on = combo_index; // may add "ese " in matrix_scan_user_process_combo - break; - case HC_I: - case HC_Ig: - SEND_STRING("I "); // send "I " CAPITALIZED - break; - case HC_Id: - case HC_Idg: - case HC_Ill: - case HC_Illg: - case HC_Im: - case HC_Img: - case HC_Iv: - case HC_Ivg: - tap_code16(S(KC_I)); // send "I" CAPITALIZED - unregister_code(KC_LSFT); // remove shift here. - unregister_code(KC_RSFT); // remove shift here. - tap_code16(KC_QUOT); // send "'" right away - goto addonsuffix; - case HC_wed_4gram: - case HC_well_5gram: - case HC_were_5gram: - case HC_weve_5gram: - tap_code(KC_W); // send "W" honoring caps - unregister_code(KC_LSFT); // remove shift here. - unregister_code(KC_RSFT); // remove shift here. - SEND_STRING("e'"); // send "We're" right away - goto addonsuffix; - case HC_your_4gram: - tap_code(KC_Y); - unregister_code(KC_LSFT); // turn off shift to facilitate - unregister_code(KC_RSFT); // first-words & Proper nouns. - SEND_STRING("our"); - combo_on = combo_index; // may add "'s " in matrix_scan_user_process_combo + SEND_STRING("ough "); break; - case HC_youd_5gram: - case HC_youll_6gram: - case HC_youre_6gram: - case HC_youve_6gram: - tap_code(KC_Y); // send "Y" honoring caps - unregister_code(KC_LSFT); // remove shift here. - unregister_code(KC_RSFT); // remove shift here. - send_string("ou'"); // send "We're" right away -addonsuffix: // sharing this saves about 100 bytes - switch (combo_index) { // - case HC_Id: // "I'd " … - case HC_Idg: // "I'd " … - case HC_wed_4gram: // we'd - case HC_youd_5gram: - send_string("d "); - combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo - break; - case HC_Im: - case HC_Img: - SEND_STRING("m "); - break; - case HC_Ill: // "I'll " … - case HC_Illg: // "I'll " … - case HC_well_5gram: // we'll - case HC_youll_6gram: - send_string("ll "); - combo_on = combo_index; // may add "'ve " in matrix_scan_user_process_combo - break; - case HC_theyre_7gram: // "they're" - case HC_were_5gram: // we're - case HC_youre_6gram: - send_string("re "); - break; - case HC_Iv: // "I've " … - case HC_Ivg: // "I've " … - case HC_weve_5gram: // we've - case HC_youve_6gram: - send_string("ve "); - } + + case HC_I ... HC_where_5gram: + case HC_TYPE_JAPAN: + tap_code(KC_SPC); // add space after a pronoun + combo_on = 0; // done w/these shenanigans break; } // end switch(combo_index) { } else { @@ -797,13 +878,6 @@ void matrix_scan_user_process_combo() { // called from matrix_scan_user if comb tap_code16(KC_RPRN); break; -/* - case HC_2DQUO: // "|" - tap_code16(A(KC_LBRC));// may need to be SemKeys - tap_code16(A(S(KC_LBRC)));// may need to be SemKeys - tap_code(KC_LEFT); - break; - */ case HC_ACUT: tap_code16(A(KC_E)); break; @@ -826,12 +900,12 @@ void matrix_scan_user_process_combo() { // called from matrix_scan_user if comb case HC_Sh: -// case HC_Shs: +// case HC_Shs: // for Silver tap_code(KC_S); // send "S" honoring caps goto ion; case HC_Th: // case HC_Ths: - case HC_Thg: +// case HC_Thg: // for Silver tap_code(KC_T); // send "T" honoring caps ion: unregister_code(KC_LSFT); // remove shift here. @@ -843,7 +917,7 @@ void matrix_scan_user_process_combo() { // called from matrix_scan_user if comb tap_code(KC_W); // send "W" honoring caps unregister_code(KC_LSFT); // remove shift here. unregister_code(KC_RSFT); // remove shift here. - send_string("ho"); + send_string("hi"); break; @@ -857,27 +931,46 @@ void matrix_scan_user_process_combo() { // called from matrix_scan_user if comb SEND_STRING("s "); break; - case HC_I: // TYPE "'ve " // should it be I'd? Stats on this? - case HC_Ig: // TYPE "'ve " // should it be I'd? Stats on this? +// PRONOUN shenanigans + + case HC_I: + case HC_Ig: + //tap_code16(S(KC_I)); // send "I" honoring caps case HC_Id: case HC_Idg: case HC_Ill: case HC_Illg: case HC_ould_4gram: // TYPE "ould " #11 case HC_they_4gram: // TYPE "they " #23 - tap_code16(S(KC_I)); // send "I" honoring caps +// case HC_theyg_4gram: // TYPE "they " #23 + case HC_theyd_6gram: // TYPE "they'd " #23 +// case HC_theydg_6gram: // TYPE "they'd " #23 + case HC_theyll_7gram: // TYPE "they'll " #23 +// case HC_theyllg_7gram: // TYPE "they'll " #23 + case HC_wed_4gram: + case HC_well_5gram: + case HC_youd_5gram: +// case HC_youdg_5gram: + case HC_youll_6gram: unregister_code(KC_LSFT); // remove shift here. unregister_code(KC_RSFT); // remove shift here. send_string("'ve "); // or should it be "'nt"? break; case HC_here_4gram: + case HC_hereg_4gram: case HC_your_4gram: // TYPE "your's" case HC_their_5gram: // TYPE "their's" #6 case HC_there_5gram: // TYPE "there's" #7 +// case HC_theirg_5gram: // TYPE "their's" #6 + case HC_thereg_5gram: // TYPE "there's" #7 + case HC_whereg_5gram: // case HC_where_5gram: // SEND_STRING("'s "); break; + +// END PRONOUN shenanigans + case HC_TYPE_JAPAN: // already "Japan" has been sent; if held, add "ese" SEND_STRING("ese "); break; diff --git a/moutis_ENCODER.c b/moutis_ENCODER.c index ff6167d..68c7ce3 100644 --- a/moutis_ENCODER.c +++ b/moutis_ENCODER.c @@ -1,3 +1,4 @@ + bool encoder_update_user(uint8_t index, bool clockwise) { /* With an if statement we can check which encoder was turned. */ if (!index) { /* First (left) encoder */ @@ -12,20 +13,13 @@ bool encoder_update_user(uint8_t index, bool clockwise) { break; #ifdef RGBLIGHT_ENABLE - case L_NAV: // media/nav layer + case L_NAV: // nav layer + case L_MEDIA_KBD: // media/kbd settings layer saved_mods = get_mods(); - if (saved_mods & MOD_MASK_SHIFT) { - if (clockwise) { - tap_code16(RGB_SAI); // Sat + - } else { - tap_code16(RGB_SAD); // Sat - - } + if (clockwise) { + rgblight_increase_val(); // val (brightness) + } else { - if (clockwise) { - tap_code16(RGB_HUI); // Hue + - } else { - tap_code16(RGB_HUD); // Hue - - } + rgblight_decrease_val(); // val (brightness) - } break; #endif @@ -40,6 +34,26 @@ bool encoder_update_user(uint8_t index, bool clockwise) { } } else { // Second (right) encoder switch(get_highest_layer(layer_state)){ +#ifdef RGBLIGHT_ENABLE + case L_MEDIA_KBD: // media/kbd settings layer + saved_mods = get_mods(); + if ((saved_mods & MOD_MASK_SHIFT)) { + if (clockwise) { + rgblight_increase_sat(); // Sat + + } else { + rgblight_decrease_sat(); // Sat - + } + } else { + if (clockwise) { + rgblight_increase_hue(); // Hue + + } else { + rgblight_decrease_hue(); // Hue - + } + } + break; +#endif + + case L_LANG_NUM: case L_FN: // function layer if (clockwise) { tap_SemKey(SK_ZOOMIN); // ZOOM IN @@ -47,7 +61,7 @@ bool encoder_update_user(uint8_t index, bool clockwise) { tap_SemKey(SK_ZOOMOUT); // ZOOM OUT } break; - case L_NAV: // media/nav layer + case L_NAV: // nav layer if (clockwise) { tap_SemKey(SK_HISTNXT); // prev page } else { diff --git a/moutis_PROCESS_RECORD_hd_neu.c b/moutis_PROCESS_RECORD_hd_neu.c index f677cb9..fbf47e7 100644 --- a/moutis_PROCESS_RECORD_hd_neu.c +++ b/moutis_PROCESS_RECORD_hd_neu.c @@ -18,8 +18,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // Do we turn off CAPS_WORD? - if (!process_caps_word(keycode, record)) { - return false; // took care of that key + if (caps_word_on) { + if (!process_caps_word(keycode, record)) { + return false; // took care of that key + } } // Should we handle an adaptive key? (Semkey may send Adaptive?) @@ -50,38 +52,21 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return_state = false; // don't do more with this record. break; - case CG_SWAP: // SINCE MAC IS MY LAYOUT DEFAULT switch to windows - user_config.OSIndex = 1; // for Semkeys - return_state = true; // let QMK do it's swap thing. - goto storeSettings; - case CG_NORM: // Back to default - user_config.OSIndex = 0; // for Semkeys - return_state = true; // let QMK do it's swap thing. - goto storeSettings; - case HD_AdaptKeyToggle: // toggle AdaptiveKeys (and LingerKeys) - user_config.AdaptiveKeys = !user_config.AdaptiveKeys; - return_state = false; // don't do more with this record. - goto storeSettings; - case HD_L_Bronze: // are we changing default layers? - user_config.LBRC_key = KC_LBRC; // swap keycode for "[" - user_config.RBRC_key = KC_RBRC; // swap keycode for "]" - user_config.AdaptiveKeys = true; - goto setLayer; - case HD_L_Gold: // are we changing default layers? - user_config.LBRC_key = KC_RBRC; // swap keycode for "[" - user_config.RBRC_key = KC_LBRC; // swap keycode for "]" - user_config.AdaptiveKeys = true; - goto setLayer; - case HD_L_QWERTY: // are we changing default layers? - user_config.AdaptiveKeys = false; // no adaptive keys on QWERTY -setLayer: - return_state = false; // don't do more with this record. - //layer_on(keycode-HD_L_Bronze); - set_single_persistent_default_layer(keycode-HD_L_Bronze);// Remember default layer after powerdown -storeSettings: - eeconfig_update_user(user_config.raw); // Remember platform after powerdown - break; + case LCTL_T(KC_C): + case RALT_T(KC_C): + case KC_C: // C if English, K if Japanese + if (!saved_mods || (saved_mods & MOD_MASK_SHIFT)) { // only shift allowed + register_code16(myKC_C); + return_state = false; // don't do more with this record. + } + break; + case KC_L: // L if English, R if Japanese + if (!saved_mods || (saved_mods & MOD_MASK_SHIFT)) { // only shift allowed + register_code16(myKC_L); + return_state = false; // don't do more with this record. + } + break; case KC_Q: // for linger Qu (ironically, need to handle this direclty w/o the macros.) if ((!saved_mods) || (saved_mods & MOD_MASK_SHIFT)) { // can this linger? linger_key = keycode; // may add "u" in matrix_scan_user @@ -107,8 +92,8 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { so for now I roll my own here. */ - // case KC_BSPC: // make S(KC_BSPC) = KC_DEL; plus word_del L & R - case LT(L_FN, KC_BSPC): // make S(KC_BSPC) = KC_DEL; plus word_del L & R +// case KC_BSPC: // make S(KC_BSPC) = KC_DEL; plus word_del L & R + case LT(L_LANG_NUM, KC_BSPC): // make S(KC_BSPC) = KC_DEL; plus word_del L & R // This logic feels kludgey (but it works). fix it. if (saved_mods & MOD_MASK_SHIFT) { // shift down with KC_BSPC? clear_keyboard(); // clean record to tinker with. @@ -268,7 +253,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return_state = false; // don't do more with this record. } break; -/* + case KC_MINS: // SHIFT = +, ALT=–(n-dash), ALT+SHIFT=± if (saved_mods & MOD_MASK_SHIFT) { // shift down? del_mods(MOD_MASK_CG); // turn off unused mods (timing off in 14.1) @@ -277,7 +262,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return_state = false; // don't do more with this record. } break; - +/* case KC_EQL: // ALT _ if (saved_mods & MOD_MASK_SHIFT) { // shift down? register_code16(S(KC_MINS)); @@ -316,18 +301,61 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } break; - case HD_HASH: // my own since KC_HASH and ilk are misbehaving after QMK 14.1 case KC_HASH: // SHIFT = @, ALT= , ALT+SHIFT= if (saved_mods & MOD_MASK_SHIFT) { // shift down? // clear_keyboard(); // clean record to tinker with. - register_code16(KC_AT); + register_code16(KC_DLR); key_trap = true; // mode monitor – enter state } else { register_code16(KC_HASH); } return_state = false; // don't do more with this record. break; + case KC_HENK: // Japanese + myKC_C = KC_Z; + myKC_L = KC_K; + tap_SemKey(SK_HENK); + return_state = false; // don't do more with this record. + break; + case KC_MHEN: // English + myKC_C = KC_C; + myKC_L = KC_L; + tap_SemKey(SK_MHEN); + return_state = false; // don't do more with this record. + break; + case CG_SWAP: // SINCE MAC IS MY LAYOUT DEFAULT switch to windows + user_config.OSIndex = 1; // for Semkeys + return_state = true; // let QMK do it's swap thing. + goto storeSettings; + case CG_NORM: // Back to default + user_config.OSIndex = 0; // for Semkeys + return_state = true; // let QMK do it's swap thing. + goto storeSettings; + case HD_AdaptKeyToggle: // toggle AdaptiveKeys (and LingerKeys) + user_config.AdaptiveKeys = !user_config.AdaptiveKeys; + return_state = false; // don't do more with this record. + goto storeSettings; + case HD_L_Bronze: // are we changing default layers? + user_config.LBRC_key = KC_LBRC; // swap keycode for "[" + user_config.RBRC_key = KC_RBRC; // swap keycode for "]" + user_config.AdaptiveKeys = true; + goto setLayer; + case HD_L_Gold: // are we changing default layers? + user_config.LBRC_key = KC_RBRC; // swap keycode for "[" + user_config.RBRC_key = KC_LBRC; // swap keycode for "]" + user_config.AdaptiveKeys = true; + goto setLayer; + case HD_L_QWERTY: // are we changing default layers? + user_config.AdaptiveKeys = false; // no adaptive keys on QWERTY +setLayer: + return_state = false; // don't do more with this record. + //layer_on(keycode-HD_L_Bronze); + set_single_persistent_default_layer(keycode-HD_L_Bronze);// Remember default layer after powerdown +storeSettings: + eeconfig_update_user(user_config.raw); // Remember platform after powerdown + break; + #endif // KEY_OVERRIDE_ENABLE } // switch (keycode) { /* @@ -336,6 +364,20 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } else { // key up event switch (keycode) { // should switch off record_keycode? + case LCTL_T(KC_C): + case RALT_T(KC_C): + case KC_C: // C if English, K if Japanese + if (!saved_mods || (saved_mods & MOD_MASK_SHIFT)) { // only shift allowed + unregister_code16(myKC_C); + return_state = false; // don't do more with this record. + } + break; + case KC_L: // L if English, R if Japanese (may have probs syncing w/OS) + if (!saved_mods || (saved_mods & MOD_MASK_SHIFT)) { // only shift allowed + unregister_code16(myKC_L); + return_state = false; // don't do more with this record. + } + break; case KC_APP: // mimic windows app key behavior (only better?) if (!mods_held) {// just app key, so see if held for menu if (!appmenu_on) {// menu not already up @@ -369,7 +411,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { */ // case KC_BSPC: // make S(KC_BSPC) = KC_DEL; plus word_del L & R - case LT(L_FN, KC_BSPC): // make S(KC_BSPC) = KC_DEL; plus word_del L & R + case LT(L_LANG_NUM, KC_BSPC): // make S(KC_BSPC) = KC_DEL; plus word_del L & R if (key_trap) { // did we snag this earlier? unregister_code16(KC_DEL); // make sure KC_DEL isn't held down key_trap = false; // mode monitor off. @@ -391,7 +433,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { unregister_code16(keycode); // may still need to handle this return_state = false; // don't do more with this record. break; -/* + case KC_MINS: // SHIFT = +, ALT=–(n-dash), ALT+SHIFT=± if (key_trap) { // did we snag this earlier? unregister_code16(KC_PLUS); // @@ -399,6 +441,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return_state = false; // don't do more with this record. } break; +/* case KC_EQL: // ALT _ if (key_trap) { // did we snag this earlier? unregister_code16(S(KC_MINS)); // diff --git a/moutis_adaptivekeys.c b/moutis_adaptivekeys.c index 06ea184..10b68db 100644 --- a/moutis_adaptivekeys.c +++ b/moutis_adaptivekeys.c @@ -6,25 +6,22 @@ I think this will work with all Hands Down Neu variants (Platinum, Gold, Silver, Bronze) Finally getting to the last of imagined features that spurred Hands Down design! - - uses globals - uint16_t prior_keycode = KC_NO; // for process_adaptive_key - uint16_t prior_keydown = 0; // time since finished processing prior_keycode - + */ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { + static uint16_t prior_keycode = KC_NO; // for process_adaptive_key & process_caps_word + static uint16_t prior_keydown = 0; // time since finished processing prior_keycode bool return_state = true; // assume we don't do anything. - static uint16_t prior_keycode = KC_NO; // for process_adaptive_key - static uint16_t prior_keydown = 0; if (record->event.pressed) { if ((timer_elapsed(prior_keydown) < ADAPTIVE_TERM)) { - saved_mods = get_mods(); // !!! We're using the global !!! + return_state = true; + saved_mods = get_mods(); // unregister_code(KC_LSFT); // turn off shift to facilitate unregister_code(KC_RSFT); // first-words & Proper nouns. - keycode = keycode & 0xFF; // ignore all taps&mods? (or just shift?) + keycode = keycode & 0xFF; // taps&mods handled earlier. switch (keycode) { /* @@ -94,14 +91,6 @@ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { break; case KC_P: switch (prior_keycode) { - case KC_J: // "jp" is "Japan"…ese? A demonstrator AK - tap_code(KC_BSPC); - register_code(KC_LSFT); // shift here. - tap_code(KC_J); // this should always be cap - unregister_code(KC_LSFT); // remove shift here. - send_string("apan"); - return_state = false; // done. - break; case KC_H: // "hp" is "lp" (Platinum/Neu-tx) tap_code(KC_BSPC); tap_code(KC_L); @@ -123,22 +112,16 @@ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { break; } break; - case KC_C: - case KC_D: - case KC_T: + case KC_C: // inner column accommodations + case KC_D: // to relieve stretch between + case KC_T: // index and middle (index<->others is easier) switch (prior_keycode) { case KC_B: - case KC_K: // quickly typing "?t" yields "?l" tap_code(KC_L); return_state = false; // done. break; - case KC_C: // CD = could unless you are a programmer, then use CU below - case KC_W: // WU = would bc wu is easy, and uncommon - send_string("ould"); - return_state = false; // done. - break; - case KC_Y: // YU = You bc YO is a tad awk, but yu is easy, and uncommon - send_string("ou'd"); + case KC_K: // quickly typing "k?" yields "kn" + tap_code(KC_N); return_state = false; // done. break; } @@ -176,13 +159,12 @@ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { break; case KC_J: // SAME-HAND TOWARD PINKY ISSUES - case KC_W: // adjacent fingers don't do next row as easily, - case KC_X: // especially on ring to pinky. + //case KC_W: // for Neu + case KC_X: // adjacent fingers don't do next row as easily,especially on ring to pinky. switch (prior_keycode) { case KC_B: // case KC_C: // RING TO PINKY This softens the burden, case KC_D: // - case LSFT_T(KC_D): // (Gold/Neu-tx) case KC_F: // and equalizes column-stagger & ortho boards. case KC_G: // case KC_M: // anything that is statistically much more frequent @@ -192,7 +174,7 @@ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { return_state = false; // done. break; case KC_L: // L repeater (Platinum/Neu-lx) - tap_code16(KC_L); // LW isn't likely, so we'll leave it for the sake of smaller code + tap_code(prior_keycode); // LW isn't likely, so we'll leave it for the sake of smaller code return_state = false; // done. break; } @@ -216,6 +198,7 @@ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { case KC_Y: // YU = You bc YO is a tad awk, but yu is easy, and uncommon tap_code(KC_O); tap_code(KC_U); + tap_code(KC_SPC); return_state = false; // done. break; } @@ -236,7 +219,7 @@ bool process_adaptive_key(uint16_t keycode, const keyrecord_t *record) { break; } break; - case KC_COMM: + case KC_COMM: // why is this not working? switch (prior_keycode) { case KC_A: tap_code(KC_U); // quickly typing "A," yields "AU" diff --git a/moutis_casemods.c b/moutis_casemods.c index 4e8a433..dbe55a1 100644 --- a/moutis_casemods.c +++ b/moutis_casemods.c @@ -32,19 +32,15 @@ */ -// bool to keep track of the caps word state +// bools to keep track of the caps word state static bool caps_word_on = false; -//static uint16_t caps_word_timer = 0; - -// Check whether caps word is on -bool caps_word_enabled(void) { - return caps_word_on; -} +static bool last_press_was_space = false; // Enable caps word void enable_caps_word(void) { caps_word_on = true; + last_press_was_space = false; if (!host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); } @@ -54,6 +50,9 @@ void enable_caps_word(void) { // Disable caps word void disable_caps_word(void) { caps_word_on = false; + if (last_press_was_space) { + tap_code(KC_BSPC); + } if (host_keyboard_led_state().caps_lock) { tap_code(KC_CAPS); } @@ -69,54 +68,64 @@ void toggle_caps_word(void) { } } -// overrideable function to determine whether the case mode should stop -__attribute__ ((weak)) -bool terminate_caps_word(uint16_t keycode, const keyrecord_t *record) { +// Called from process_record_user. assumes caps_word is on +bool process_caps_word(uint16_t keycode, const keyrecord_t *record) { + + // Filter out the actual keycode from MT and LT keys. + // This isn't working right. need to allow a layer to happen. + switch (keycode) { + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: + if (record->tap.count == 0) // if not tapped yet… + return true; // do that first + keycode = keycode & 0xFF; // process the base key + default: + break; + } + + if (record->event.pressed) { + // check if the case modes have been terminated + if ((get_mods() != 0)) { // hitting any mod...go handle it + disable_caps_word(); + return true; // let QMK handle it. + } + state_reset_timer = timer_read(); // (re)start timing hold for auto-off delay switch (keycode) { - // Keycodes to ignore (don't disable caps word) - case KC_A ... KC_Z: - case KC_1 ... KC_0: + case KC_1 ... KC_0: // let these pass through case KC_MINS: case KC_UNDS: case KC_BSPC: case KC_RIGHT ... KC_LEFT: - state_reset_timer = timer_read(); // (re)start timing hold for auto-off delay - if (record->event.pressed && (get_mods() != 0)) { // hitting any mod... - return true; - } - break; - default: - if (record->event.pressed) { - return true; + last_press_was_space = false; + return true; // let QMK handle it. + case KC_SPC: + if (last_press_was_space) { + disable_caps_word(); + return true; // let QMK handle space normally + } else { + register_code16(KC_UNDS); + last_press_was_space = true; + return false; // We handled it } - break; - } - return false; -} - -bool process_caps_word(uint16_t keycode, const keyrecord_t *record) { - - if (caps_word_on) { - // Filter out the actual keycode from MT and LT keys. - // This isn't working right. need to allow a layer to happen. + break; // compiler takes this out if necessary? + case KC_A ... KC_Z: // only works for ASCII. fix this. + register_code(KC_LSFT); // for platforms that do CAPSLK differently + register_code(keycode); // like iOS, etc. + unregister_code(KC_LSFT); + last_press_was_space = false; + return false; // We handled it + } + disable_caps_word(); + return true; + } else { switch (keycode) { - case QK_MOD_TAP ... QK_MOD_TAP_MAX: - case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: - case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: - if (record->tap.count == 0) // if not tapped yet… - return true; // do that first - keycode = keycode & 0xFF; // process the base key - default: - break; + case KC_SPC: + if (last_press_was_space) { + unregister_code16(KC_UNDS); + return false; // We handled it + } } - - if (record->event.pressed) { - // check if the case modes have been terminated - if ((terminate_caps_word(keycode, record))) { - disable_caps_word(); - } - } // end if event.pressed - return true; // keep processing - } - return true; + } // end if event.pressed + return true; // keep processing } diff --git a/moutis_casemods_a.c b/moutis_casemods_a.c new file mode 100644 index 0000000..d3306b3 --- /dev/null +++ b/moutis_casemods_a.c @@ -0,0 +1,153 @@ +/* Copyright 2021 Andrew Rae ajrae.nv@gmail.com @andrewjrae + * + * 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 . + */ + +/* The caps word concept started with @iaap on splitkb.com discord. + * However it has been implemented and extended by many splitkb.com users: + * - @theol0403 made many improvements to initial implementation + * - @precondition used caps lock rather than shifting + * - @dnaq his own implementation which also used caps lock + * - @sevanteri added underscores on spaces + * - @metheon extended on @sevanteri's work and added specific modes for + * snake_case and SCREAMING_SNAKE_CASE + * - @baffalop came up with the idea for xcase, which he implements in his own + * repo, however this is implemented by @iaap with support also for one-shot-shift. + * - @sevanteri + * - fixed xcase waiting mode to allow more modified keys and keys from other layers. + * - Added @baffalop's separator defaulting on first keypress, with a + * configurable default separator and overrideable function to determine + * if the default should be used. + */ + + +// bools to keep track of the caps word state +static bool caps_word_on = false; +static bool last_press_was_space = false; +//static uint16_t caps_word_timer = 0; + +// Check whether caps word is on +bool caps_word_enabled(void) { + return caps_word_on; +} + +// Enable caps word +void enable_caps_word(void) { + + caps_word_on = true; + if (!host_keyboard_led_state().caps_lock) { + tap_code(KC_CAPS); + } + state_reset_timer = timer_read(); // (re)start timing hold for keyup below +} + +// Disable caps word +void disable_caps_word(void) { + caps_word_on = false; + if (last_press_was_space) { + tap_code(KC_BSPC); + last_press_was_space = false; + } + if (host_keyboard_led_state().caps_lock) { + tap_code(KC_CAPS); + } +} + +// Toggle caps word +void toggle_caps_word(void) { + if (caps_word_on) { + disable_caps_word(); + } + else { + enable_caps_word(); + } +} + +// overrideable function to determine whether the case mode should stop +__attribute__ ((weak)) +bool terminate_caps_word(uint16_t keycode, const keyrecord_t *record) { + switch (keycode) { // should only be called on event.pressed + // Keycodes to ignore (don't disable caps word) + case KC_A ... KC_Z: // only works for ASCII. fix this. + case KC_1 ... KC_0: // let the rest of these pass through + case KC_MINS: + case KC_UNDS: + case KC_BSPC: + case KC_RIGHT ... KC_LEFT: + last_press_was_space = false; + case KC_SPC: + state_reset_timer = timer_read(); // (re)start timing hold for auto-off delay + if ((get_mods() != 0)) { // hitting any mod...go handle it + return true; + } + break; + default: + return true; + break; + } + return false; +} + +bool process_caps_word(uint16_t keycode, const keyrecord_t *record) { + + if (caps_word_on) { + // Filter out the actual keycode from MT and LT keys. + // This isn't working right. need to allow a layer to happen. + switch (keycode) { + case QK_MOD_TAP ... QK_MOD_TAP_MAX: + case QK_LAYER_TAP ... QK_LAYER_TAP_MAX: + case QK_TAP_DANCE ... QK_TAP_DANCE_MAX: + if (record->tap.count == 0) // if not tapped yet… + return true; // do that first + keycode = keycode & 0xFF; // process the base key + default: + break; + } + + if (record->event.pressed) { + // check if the case modes have been terminated + if ((terminate_caps_word(keycode, record))) { + disable_caps_word(); + } else { // CAPS_WORD_IS_ON. + switch (keycode) { + case KC_SPC: + if (last_press_was_space) { + disable_caps_word(); + return true; // let QMK handle space normally + } else { + register_code16(KC_UNDS); + last_press_was_space = true; + return false; // We handled it + } + break; // compiler takes this out if necessary? + case KC_A ... KC_Z: // only works for ASCII. fix this. + register_code(KC_LSFT); // for platforms that do CAPSLK differently + register_code(keycode); // like iOS, etc. + unregister_code(KC_LSFT); + return false; // We handled it + } + } + } else { + switch (keycode) { + case KC_SPC: + if (last_press_was_space) { + unregister_code16(KC_UNDS); + return false; // We handled it + } + } + } // end if event.pressed + return true; // keep processing + } + return true; +} diff --git a/moutis_semantickeys.c b/moutis_semantickeys.c index 569c69b..f7341f9 100644 --- a/moutis_semantickeys.c +++ b/moutis_semantickeys.c @@ -25,6 +25,8 @@ /* This is in moutis.h for now enum SemKeys { SK_KILL, + SK_HENK, + SK_MHEN, SK_UNDO, SK_CUT, SK_COPY, @@ -65,6 +67,8 @@ enum SemKeys_OS { const uint16_t SemKeys_t[SemKeys_COUNT - SK_KILL][SemKeys_OS_COUNT] = { // Mac, Win, (Phase 3, add others if necessary, expand to multi-key?) [SK_KILL - SK_KILL] = {G(A(KC_ESC)),C(A(KC_DEL))}, // "KILL" OR Force quit / ctrl-alt-del + [SK_HENK - SK_KILL] = {KC_LANG1, KC_HENK}, // 変換 + [SK_MHEN - SK_KILL] = {KC_LANG2, KC_MHEN}, // 無変換 [SK_UNDO - SK_KILL] = {G(KC_Z),C(KC_Z)}, // undo [SK_CUT - SK_KILL] = {G(KC_X),C(KC_X)}, // cut [SK_COPY - SK_KILL] = {G(KC_C),C(KC_C)}, // copy @@ -94,6 +98,10 @@ const uint16_t SemKeys_t[SemKeys_COUNT - SK_KILL][SemKeys_OS_COUNT] = { [SK_ZOOMRST - SK_KILL] = {G(KC_0),C(KC_0)}, // ZOOM RESET [SK_SECT - SK_KILL] = {A(KC_5),A(KC_5)}, // § ** SAMPLE OF GLYPH. REALLY NEED UNICODE. [SK_ENYE - SK_KILL] = {A(KC_N),A(KC_N)}, // ñ/Ñ ** SAMPLE OF GLYPH. REALLY NEED UNICODE? + [SK_SQUL - SK_KILL] = {A(KC_RBRC),A(KC_RBRC)}, // ’ ** Left single quote UNICODE? + [SK_SQUR - SK_KILL] = {S(A(KC_RBRC)),S(A(KC_RBRC))}, // ’ ** Right single quote UNICODE? + [SK_SDQL - SK_KILL] = {A(KC_LBRC),A(KC_LBRC)}, // ’ ** Left double quote UNICODE? + [SK_SDQR - SK_KILL] = {A(S(KC_LBRC)),A(S(KC_LBRC))}, // ’ ** Right double quote UNICODE? }; diff --git a/rules.mk b/rules.mk index 24d991d..0a2c2dd 100644 --- a/rules.mk +++ b/rules.mk @@ -18,6 +18,7 @@ KEY_OVERRIDE_ENABLE = no CONSOLE_ENABLE = no SPACE_CADET_ENABLE = no GRAVE_ESC_ENABLE = no +TAP_DANCE_ENABLE = no EXTRAKEY_ENABLE = yes # Audio control and System control COMBO_ENABLE = yes # chording LTO_ENABLE = yes