This commit is contained in:
Arne Weiss
2023-04-29 10:30:10 +02:00
parent 51f0d71ace
commit aeabb667b4
10 changed files with 192 additions and 139 deletions

View File

@@ -71,11 +71,11 @@
{ "matrix": [3, 5], "x": 3, "y": 3 }, { "matrix": [3, 5], "x": 3, "y": 3 },
{ "matrix": [3, 1], "x": 0, "y": 4 }, { "matrix": [3, 1], "x": 0, "y": 4 },
{ "matrix": [7, 2], "x": 0, "y": 3 }, { "matrix": [7, 4], "x": 0, "y": 3 },
{ "matrix": [7, 3], "x": 1, "y": 3 }, { "matrix": [7, 0], "x": 1, "y": 3 },
{ "matrix": [7, 4], "x": 2, "y": 3 }, { "matrix": [7, 1], "x": 2, "y": 3 },
{ "matrix": [7, 5], "x": 3, "y": 3 }, { "matrix": [7, 2], "x": 3, "y": 3 },
{ "matrix": [7, 1], "x": 0, "y": 4 } { "matrix": [7, 3], "x": 0, "y": 4 }
] ]
} }
} }

View File

@@ -28,13 +28,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* └───┴───┘ * └───┴───┘
*/ */
[0] = LAYOUT_std( [0] = LAYOUT_std(
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_F24, RESET, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, MO(3), KC_NO,
KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_CAPS, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_NO,
CAPSWRD, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH, KC_RSFT, CAPSWRD, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH, KC_NO,
KC_LGUI, KC_LALT, KC_MINS, KC_EQL, KC_LGUI, KC_LALT, MO(1), KC_LSFT, KC_NO, KC_NO, KC_SPACE,MO(2), KC_NO, KC_NO
MO(1), KC_LSFT, KC_ENT, TD(0),
KC_LALT, KC_LSFT
), ),

View File

@@ -2,74 +2,67 @@
// TD(0) = On Tap -> MO(2); On hold -> MO(2); On double tap -> TO(3) // TD(0) = On Tap -> MO(2); On hold -> MO(2); On double tap -> TO(3)
bool caps_word_press_user(uint16_t keycode) { // bool caps_word_press_user(uint16_t keycode) {
switch (keycode) { // switch (keycode) {
// Keycodes that continue Caps Word, with shift applied. // // Keycodes that continue Caps Word, with shift applied.
case KC_A: // case KC_A:
return true; // return true;
case KC_B ... KC_Z: // case KC_B ... KC_Z:
case TD(4): // case TD(4):
case TD(5): // case TD(5):
case TD(6): // case TD(6):
case TD(7): // case TD(7):
case KC_MINS: // case KC_MINS:
add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key. // add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to next key.
return true; // return true;
//
// Keycodes that continue Caps Word, without shifting. // // Keycodes that continue Caps Word, without shifting.
case KC_1 ... KC_0: // case KC_1 ... KC_0:
case KC_BSPC: // case KC_BSPC:
case KC_DEL: // case KC_DEL:
case KC_UNDS: // case KC_UNDS:
return true; // return true;
//
default: // default:
return false; // Deactivate Caps Word. // return false; // Deactivate Caps Word.
} // }
} // }
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_std( [0] = LAYOUT_std(
RESET, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_F24, RESET, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, MO(3), MO(4),
RESET, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_CAPS, _______, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_NO,
RESET, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH, KC_RSFT, _______, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH, KC_NO,
KC_LGUI, KC_LALT, KC_MINS, KC_EQL, KC_LGUI, KC_LALT, MO(1), KC_LSFT, MO(4), KC_NO, KC_SPACE,MO(2), KC_NO, KC_NO
MO(1), KC_LSFT, KC_SPACE,TD(0),
KC_LSFT, KC_ENT
), ),
[1] = LAYOUT_std( [1] = LAYOUT_std(
_______, KC_ESC, KC_WH_U, KC_WBAK, KC_WFWD, KC_MS_U, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_ESC, RESET, KC_ESC, KC_WH_U, KC_WBAK, KC_WFWD, KC_MS_U, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_ESC,
_______, KC_LALT, KC_WH_D, KC_LSFT, KC_LCTL, KC_MS_D, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU, _______,KC_TAB, OSM(MOD_LGUI),OSM(MOD_LSFT),OSM(MOD_LCTL),KC_MS_D, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU,
_______, KC_WH_L, KC_UNDO, KC_CUT, KC_COPY, KC_PSTE, KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_R, KC_WH_R, _______,KC_WH_L, KC_UNDO, KC_CUT, KC_COPY, C(S(KC_V)), KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_R, KC_WH_R,
_______, _______, KC_0, KC_INS, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______
_______, _______, _______, _______,
_______, _______
), ),
[2] = LAYOUT_std( [2] = LAYOUT_std(
_______, _______, _______, _______, _______, _______, S(KC_1), S(KC_COMM), S(KC_DOT), KC_EQL, S(KC_7), _______, _______, S(KC_2), S(KC_MINS), S(KC_LBRC), S(KC_RBRC),S(KC_6), S(KC_1), S(KC_COMM), S(KC_DOT), KC_EQL, S(KC_7), _______,
_______, _______, _______, _______, _______, _______, S(KC_SLSH), S(KC_9), S(KC_0), KC_MINS, S(KC_SCLN),S(KC_2), _______, KC_NUBS, KC_SLSH, KC_LBRC, KC_RBRC, S(KC_8), S(KC_SLSH), S(KC_9), S(KC_0), KC_MINS, S(KC_SCLN),S(KC_2),
_______, _______, _______, _______, _______, _______, S(KC_EQL), S(KC_5), S(KC_COMM), KC_DOT, KC_SCLN, _______, _______, S(KC_3), S(KC_4), S(KC_NUBS), S(KC_GRV), KC_GRV, S(KC_EQL), S(KC_5), S(KC_QUOT), KC_QUOT, KC_SCLN, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______
_______, _______, _______, _______, ),
_______, _______
[4] = LAYOUT_std(
_______, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_PSCR, KC_7, KC_8, KC_9, TO(0), _______,
_______, KC_F5, KC_F6, KC_F7, KC_F8, _______, KC_0, KC_4, KC_5, KC_6, KC_0, _______,
QK_BOOT, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_0, KC_1, KC_2, KC_3, _______, _______,
_______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______
), ),
[3] = LAYOUT_std( [3] = LAYOUT_std(
_______, _______, _______, _______, _______, _______, KC_PSCR, KC_7, KC_8, KC_9, KC_PPLS, KC_F12, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, KC_PSCR, KC_7, KC_8, KC_9, TO(0), _______,
_______, _______, _______, _______, _______, _______, KC_0, KC_4, KC_5, KC_6, KC_0, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, KC_H, KC_J, KC_K, KC_L, KC_0, _______,
_______, _______, _______, _______, _______, _______, KC_0, KC_1, KC_2, KC_3, KC_DOT, KC_COMM, QK_BOOT, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_0, KC_1, KC_2, KC_3, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______, _______
_______, _______, _______, TO(0),
_______, _______
) )
}; };

View File

@@ -8,134 +8,134 @@
"keymap": [ "keymap": [
{ {
"name": "Dactyl Miniform", "name": "Dactyl Miniform",
"author": "Arne Weiß" "author": "Arne Weiss"
}, },
[ [
{ {
"x": 2 "x": 2
}, },
"0,2", "0,2",
"0,3", "0,3",
"0,4", "0,4",
"0,5", "0,5",
{ {
"x": 2.25 "x": 2.25
}, },
"4,0", "4,0",
"4,1", "4,1",
"4,2", "4,2",
"4,3" "4,3"
], ],
[ [
{ {
"y": -0.75 "y": -0.75
}, },
"0,0", "0,0",
"0,1", "0,1",
{ {
"x": 10.25 "x": 10.25
}, },
"4,4", "4,4",
"4,5" "4,5"
], ],
[ [
{ {
"y": -0.25, "y": -0.25,
"x": 2 "x": 2
}, },
"1,2", "1,2",
"1,3", "1,3",
"1,4", "1,4",
"1,5", "1,5",
{ {
"x": 2.25 "x": 2.25
}, },
"5,0", "5,0",
"5,1", "5,1",
"5,2", "5,2",
"5,3" "5,3"
], ],
[ [
{ {
"y": -0.75 "y": -0.75
}, },
"1,0", "1,0",
"1,1", "1,1",
{ {
"x": 10.25 "x": 10.25
}, },
"5,4", "5,4",
"5,5" "5,5"
], ],
[ [
{ {
"y": -0.25, "y": -0.25,
"x": 2 "x": 2
}, },
"2,2", "2,2",
"2,3", "2,3",
"2,4", "2,4",
"2,5", "2,5",
{ {
"x": 2.25 "x": 2.25
}, },
"6,0", "6,0",
"6,1", "6,1",
"6,2", "6,2",
"6,3" "6,3"
], ],
[ [
{ {
"y": -0.75 "y": -0.75
}, },
"2,0", "2,0",
"2,1", "2,1",
{ {
"x": 10.25 "x": 10.25
}, },
"6,4", "6,4",
"6,5" "6,5"
], ],
[ [
{ {
"y": -0.25, "y": -0.25,
"x": 2 "x": 2
}, },
"3,2", "3,2",
"3,3", "3,3",
{ {
"x": 6.25 "x": 6.25
}, },
"7,2", "7,2",
"7,3" "7,3"
], ],
[ [
{ {
"r": 15, "r": 15,
"y": -2.25, "y": -2.25,
"x": 5.25 "x": 5.25
}, },
"3,4", "3,4",
"3,5" "3,5"
], ],
[ [
{ {
"x": 6.25 "x": 6.25
}, },
"3,1" "3,1"
], ],
[ [
{ {
"r": -15, "r": -15,
"y": 1.75, "y": 1.75,
"x": 6.5 "x": 6.5
}, },
"7,0", "7,0",
"7,1" "7,1"
], ],
[ [
{ {
"x": 6.5 "x": 6.5
}, },
"7,4" "7,4"
] ]

View File

@@ -3,5 +3,5 @@
#VIAL_ENABLE = yes #VIAL_ENABLE = yes
#VIAL_INSECURE = yes #VIAL_INSECURE = yes
SPLIT_KEYBOARD = yes SPLIT_KEYBOARD = yes
CAPS_WORD_ENABLE = yes CAPS_WORD_ENABLE = no
TAP_DANCE_ENABLE = yes TAP_DANCE_ENABLE = yes

View File

@@ -1 +0,0 @@
{"version": 1, "uid": 11969951681208544501, "layout": [[["RESET", "KC_Q", "KC_W", "KC_F", "KC_P", "KC_B"], ["RESET", "KC_A", "KC_R", "KC_S", "KC_T", "KC_G"], ["RESET", "KC_Z", "KC_X", "KC_C", "KC_D", "KC_V"], [-1, "KC_LSHIFT", "KC_LGUI", "LSFT(KC_LGUI)", "MO(1)", "KC_LCTRL"], ["KC_J", "KC_L", "KC_U", "KC_Y", "KC_SCOLON", "RESET"], ["KC_M", "KC_N", "KC_E", "KC_I", "KC_O", "KC_NO"], ["KC_K", "KC_H", "KC_COMMA", "KC_DOT", "KC_SLASH", "KC_NO"], ["KC_SPACE", "MO(2)", "KC_LALT", "KC_RGUI", "KC_ENTER", -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1]], [["KC_TRNS", "KC_ESCAPE", "KC_WH_U", "KC_WBAK", "KC_WFWD", "KC_MS_U"], ["KC_TRNS", "KC_TAB", "KC_WH_D", "KC_LSHIFT", "KC_LCTRL", "KC_MS_D"], ["KC_TRNS", "KC_LALT", "KC_UNDO", "KC_CUT", "KC_COPY", "C_S(KC_V)"], [-1, "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_PGUP", "KC_HOME", "KC_UP", "KC_END", "KC_DELETE", "KC_TRNS"], ["KC_PGDOWN", "KC_LEFT", "KC_DOWN", "KC_RIGHT", "KC_BSPACE", "KC_TRNS"], ["KC_BTN3", "KC_BTN1", "KC_BTN2", "KC_MS_L", "KC_MS_R", "KC_TRNS"], ["KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1]], [["KC_TRNS", "LSFT(KC_2)", "LSFT(KC_MINUS)", "KC_LBRACKET", "KC_RBRACKET", "LSFT(KC_6)"], ["KC_TRNS", "KC_NONUS_BSLASH", "KC_SLASH", "LSFT(KC_LBRACKET)", "LSFT(KC_RBRACKET)", "LSFT(KC_8)"], ["KC_TRNS", "LSFT(KC_3)", "LSFT(KC_4)", "LSFT(KC_NONUS_BSLASH)", "LSFT(KC_GRAVE)", "KC_GRAVE"], [-1, "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["LSFT(KC_1)", "LSFT(KC_COMMA)", "LSFT(KC_DOT)", "KC_EQUAL", "LSFT(KC_7)", "KC_TRNS"], ["LSFT(KC_SLASH)", "LSFT(KC_9)", "LSFT(KC_0)", "KC_MINUS", "LSFT(KC_SCOLON)", "KC_TRNS"], ["LSFT(KC_EQUAL)", "LSFT(KC_5)", "LSFT(KC_QUOTE)", "KC_QUOTE", "KC_SCOLON", "KC_TRNS"], ["TO(0)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1]], [["KC_NO", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_TRNS"], ["KC_NO", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_TRNS"], ["KC_NO", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_TRNS"], [-1, "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"], ["KC_PSCREEN", "KC_7", "KC_8", "KC_9", "KC_KP_PLUS", "KC_NO"], ["KC_0", "KC_4", "KC_5", "KC_6", "KC_0", "KC_NO"], ["KC_0", "KC_1", "KC_2", "KC_3", "KC_DOT", "KC_NO"], ["TO(0)", "KC_TRNS", "KC_TRNS", "KC_TRNS", "TO(0)", -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1], [-1, -1, -1, -1, -1, -1]]], "encoder_layout": [[], [], [], []], "layout_options": -1, "macro": [[], [], [], [], [], [], [], [], [], [], [], [], [], [], [], []], "vial_protocol": 5, "via_protocol": 9, "tap_dance": [["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200], ["KC_NO", "KC_NO", "KC_NO", "KC_NO", 200]], "combo": [], "key_override": [{"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}, {"trigger": "KC_NO", "replacement": "KC_NO", "layers": 65535, "trigger_mods": 0, "negative_mod_mask": 0, "suppressed_mods": 0, "options": 7}], "settings": {"1": 0, "2": 50, "3": 0, "4": 175, "5": 5, "6": 5000, "7": 200, "8": 0, "9": 10, "10": 20, "11": 8, "12": 10, "13": 30, "14": 10, "15": 80, "16": 8, "17": 40, "18": 10, "19": 80, "20": 2}}

View File

@@ -50,7 +50,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
[2] = LAYOUT_std( [2] = LAYOUT_std(
_______, _______, _______, _______, _______, _______, _______, TO(0), _______, _______, _______, _______ _______, _______, _______, _______, _______, _______, _______,TO(0), _______, _______, _______, _______
_______, _______, S(KC_MINS), KC_LBRC, KC_RBRC, S(KC_6), S(KC_1), S(KC_COMM), S(KC_DOT), KC_EQL, S(KC_7), _______, _______, _______, S(KC_MINS), KC_LBRC, KC_RBRC, S(KC_6), S(KC_1), S(KC_COMM), S(KC_DOT), KC_EQL, S(KC_7), _______,
_______, KC_NUBS, KC_SLSH, S(KC_LBRC), S(KC_RBRC),S(KC_8), S(KC_SLSH), S(KC_9), S(KC_0), KC_MINS, S(KC_SCLN),S(KC_2), _______, KC_NUBS, KC_SLSH, S(KC_LBRC), S(KC_RBRC),S(KC_8), S(KC_SLSH), S(KC_9), S(KC_0), KC_MINS, S(KC_SCLN),S(KC_2),
_______, S(KC_3), S(KC_4), S(KC_NUBS), S(KC_GRV), KC_GRV, S(KC_EQL), S(KC_5), S(KC_QUOT), KC_QUOT, KC_SCLN, _______, _______, S(KC_3), S(KC_4), S(KC_NUBS), S(KC_GRV), KC_GRV, S(KC_EQL), S(KC_5), S(KC_QUOT), KC_QUOT, KC_SCLN, _______,

View File

@@ -2,15 +2,15 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_std( [0] = LAYOUT_std(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SH_TG, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, SH_TG,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, TD(TD_UE),KC_Y, TT(3), KC_F24, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TT(3), KC_F24,
KC_ESC, TD(TD_AE),KC_R, TD(TD_SS),KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, TD(TD_OE),KC_CAPS, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_CAPS,
CAPSWRD, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH, TT(3), CAPSWRD, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLASH, TT(3),
KC_LGUI, KC_LALT, KC_MINS, KC_EQL, KC_LGUI, KC_LALT, KC_MINS, KC_EQL,
MO(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(2), OSL(1), KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, MO(2),
KC_LSFT, KC_LSFT, KC_RALT, KC_ENT KC_LSFT, KC_LSFT, KC_RALT, KC_ENT
), ),
@@ -20,9 +20,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_ESC, KC_WH_U, KC_WBAK, KC_WFWD, KC_MS_U, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_ESC, _______, KC_ESC, KC_WH_U, KC_WBAK, KC_WFWD, KC_MS_U, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_DEL, KC_ESC,
_______, KC_TAB, KC_WH_D, KC_LSFT, KC_LCTL, KC_MS_D, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU, _______, KC_TAB, KC_WH_D, KC_LSFT, KC_LCTL, KC_MS_D, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, KC_MENU,
_______, KC_WH_L, KC_UNDO, KC_CUT, KC_COPY, C(S(KC_V)), KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_R, KC_WH_R, _______, KC_WH_L, KC_UNDO, KC_CUT, KC_COPY, C(S(KC_V)), KC_BTN1, KC_BTN2, KC_BTN3, KC_MS_L, KC_MS_R, KC_WH_R,
_______, _______, KC_0, KC_INS, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_ENT, _______, _______,
_______, _______, _______, _______ _______, _______, _______, _______
), ),

View File

@@ -1,19 +1,83 @@
#include QMK_KEYBOARD_H #include QMK_KEYBOARD_H
// Tap Dance declarations // Custom keycodes
enum { enum custom_keycodes {
TD_AE, CK_AE = SAFE_RANGE,
TD_OE, CK_OE,
TD_UE, CK_UE,
TD_SS, CK_SS,
}; };
// Tap Dance definitions bool process_record_user(uint16_t keycode, keyrecord_t *record) {
qk_tap_dance_action_t tap_dance_actions[] = { static uint16_t key_timer;
[TD_AE] = ACTION_TAP_DANCE_DOUBLE(KC_A, RALT(KC_Q)),
[TD_OE] = ACTION_TAP_DANCE_DOUBLE(KC_O, RALT(KC_P)), switch (keycode) {
[TD_UE] = ACTION_TAP_DANCE_DOUBLE(KC_U, RALT(KC_Y)), case CK_AE:
[TD_SS] = ACTION_TAP_DANCE_DOUBLE(KC_S, RALT(KC_S)), if (record->event.pressed) {
}; key_timer = timer_read();
register_code(KC_A);
} else {
unregister_code(KC_A);
if (timer_elapsed(key_timer) < TAPPING_TERM) {
tap_code(KC_A);
}
}
return false;
case CK_OE:
if (record->event.pressed) {
key_timer = timer_read();
register_code(KC_O);
} else {
unregister_code(KC_O);
if (timer_elapsed(key_timer) < TAPPING_TERM) {
tap_code(KC_O);
}
}
return false;
case CK_UE:
if (record->event.pressed) {
key_timer = timer_read();
register_code(KC_U);
} else {
unregister_code(KC_U);
if (timer_elapsed(key_timer) < TAPPING_TERM) {
tap_code(KC_U);
}
}
return false;
case CK_SS:
if (record->event.pressed) {
key_timer = timer_read();
register_code(KC_S);
} else {
unregister_code(KC_S);
if (timer_elapsed(key_timer) < TAPPING_TERM) {
tap_code(KC_S);
}
}
return false;
}
return true;
}
void matrix_scan_user(void) {
if (is_key_pressed(CK_AE) && timer_elapsed(key_timer) > TAPPING_TERM) {
unregister_code(KC_A);
register_code16(RALT(KC_Q));
}
if (is_key_pressed(CK_OE) && timer_elapsed(key_timer) > TAPPING_TERM) {
unregister_code(KC_O);
register_code16(RALT(KC_P));
}
if (is_key_pressed(CK_UE) && timer_elapsed(key_timer) > TAPPING_TERM) {
unregister_code(KC_U);
register_code16(RALT(KC_Y));
}
if (is_key_pressed(CK_SS) && timer_elapsed(key_timer) > TAPPING_TERM) {
unregister_code(KC_S);
register_code16(RALT(KC_S));
}
}
#include "../common_layout.c" #include "../common_layout.c"

View File

@@ -4,4 +4,4 @@
#VIAL_INSECURE = yes #VIAL_INSECURE = yes
SPLIT_KEYBOARD = yes SPLIT_KEYBOARD = yes
CAPS_WORD_ENABLE = yes CAPS_WORD_ENABLE = yes
TAP_DANCE_ENABLE = yes TAP_DANCE_ENABLE = yes