hazel/bad_wings update (#20947)
Changed default keymap to use json, added personal keymap, and changed CIRQUE_DEVICE_GESTURES_SCROLL_ENABLE to POINTING_DEVICE_GESTURES_SCROLL_ENABLEmaster
parent
09666ea251
commit
d6f8df4be8
@ -1,35 +0,0 @@ |
||||
// Copyright 2023 Jason Hazel (@jasonhazel)
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H |
||||
|
||||
layer_state_t layer_state_set_user(layer_state_t state) { |
||||
return update_tri_layer_state(state, 1, 2, 3); |
||||
} |
||||
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||
[0] = LAYOUT_split_3x5_3( |
||||
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_QUOT, \
|
||||
KC_Z, LGUI_T(KC_X), LALT_T(KC_C), KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
|
||||
KC_LCTL, OSL(1), OSM(MOD_LSFT), KC_SPC, LT(2, KC_BSPC), KC_ENT |
||||
), |
||||
[1] = LAYOUT_split_3x5_3( |
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_RBRC, KC_RCBR, KC_RPRN, KC_RABK, KC_NO, \
|
||||
KC_GRV, KC_TILD, KC_UNDS, KC_EQL, KC_NO, KC_LBRC, KC_LCBR, KC_LPRN, KC_LABK, KC_BACKSLASH, \
|
||||
KC_NO, KC_NO, KC_PLUS, KC_MINS, KC_NO, KC_NO, KC_NO, KC_COLN, KC_DOT, KC_SCLN, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
||||
), |
||||
[2] = LAYOUT_split_3x5_3( |
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PIPE, KC_NO, \
|
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, \
|
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOT, KC_NO, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
||||
), |
||||
[3] = LAYOUT_split_3x5_3( |
||||
KC_ESC, KC_F1, KC_F4, KC_F7, KC_F10, KC_NO, KC_HOME, KC_UP, KC_END, KC_BSPC, \
|
||||
KC_TAB, KC_F2, KC_F5, KC_F8, KC_F11, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, \
|
||||
KC_NO, KC_F3, KC_F6, KC_F9, KC_F12, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL, \
|
||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS |
||||
) |
||||
}; |
@ -0,0 +1,163 @@ |
||||
{ |
||||
"version": 1, |
||||
"notes": "", |
||||
"documentation": "", |
||||
"keyboard": "hazel/bad_wings", |
||||
"keymap": "default", |
||||
"layout": "LAYOUT_split_3x5_3", |
||||
"layers": [ |
||||
[ |
||||
"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_QUOT", |
||||
"KC_Z", |
||||
"LGUI_T(KC_X)", |
||||
"LALT_T(KC_C)", |
||||
"KC_V", |
||||
"KC_B", |
||||
"KC_N", |
||||
"KC_M", |
||||
"KC_COMM", |
||||
"KC_DOT", |
||||
"KC_SLSH", |
||||
"KC_LCTL", |
||||
"OSL(1)", |
||||
"OSM(MOD_LSFT)", |
||||
"LT(3,KC_SPC)", |
||||
"LT(2,KC_BSPC)", |
||||
"KC_ENT" |
||||
], |
||||
[ |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_RBRC", |
||||
"KC_RCBR", |
||||
"KC_RPRN", |
||||
"KC_GT", |
||||
"KC_NO", |
||||
"KC_GRV", |
||||
"KC_TILD", |
||||
"KC_UNDS", |
||||
"KC_EQL", |
||||
"KC_NO", |
||||
"KC_LBRC", |
||||
"KC_LCBR", |
||||
"KC_LPRN", |
||||
"KC_LT", |
||||
"KC_BSLS", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_PLUS", |
||||
"KC_MINS", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_COLN", |
||||
"KC_DOT", |
||||
"KC_SCLN", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS" |
||||
], |
||||
[ |
||||
"KC_EXLM", |
||||
"KC_AT", |
||||
"KC_HASH", |
||||
"KC_DLR", |
||||
"KC_PERC", |
||||
"KC_CIRC", |
||||
"KC_AMPR", |
||||
"KC_ASTR", |
||||
"KC_PIPE", |
||||
"KC_NO", |
||||
"KC_1", |
||||
"KC_2", |
||||
"KC_3", |
||||
"KC_4", |
||||
"KC_5", |
||||
"KC_6", |
||||
"KC_7", |
||||
"KC_8", |
||||
"KC_9", |
||||
"KC_0", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS" |
||||
], |
||||
[ |
||||
"KC_ESC", |
||||
"KC_F1", |
||||
"KC_F4", |
||||
"KC_F7", |
||||
"KC_F10", |
||||
"KC_NO", |
||||
"KC_HOME", |
||||
"KC_UP", |
||||
"KC_END", |
||||
"KC_NO", |
||||
"KC_TAB", |
||||
"KC_F2", |
||||
"KC_F5", |
||||
"KC_F8", |
||||
"KC_F11", |
||||
"KC_NO", |
||||
"KC_LEFT", |
||||
"KC_DOWN", |
||||
"KC_RGHT", |
||||
"KC_NO", |
||||
"KC_NO", |
||||
"KC_F3", |
||||
"KC_F6", |
||||
"KC_F9", |
||||
"KC_F12", |
||||
"KC_NO", |
||||
"KC_MRWD", |
||||
"KC_MPLY", |
||||
"KC_MFFD", |
||||
"KC_DEL", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS", |
||||
"KC_TRNS" |
||||
] |
||||
], |
||||
"author": "Jason Hazel" |
||||
} |
@ -0,0 +1,17 @@ |
||||
// Copyright 2023 Jason Hazel (@jasonhazel)
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#pragma once |
||||
|
||||
#define TAPPING_TERM 200 |
||||
#define PERMISSIVE_HOLD |
||||
#define IGNORE_MOD_TAP_INTERRUPT |
||||
#define TAPPING_FORCE_HOLD |
||||
#define TAPPING_TERM_PER_KEY |
||||
#define ONESHOT_TAP_TOGGLE 10 |
||||
#define ONESHOT_TIMEOUT 500 |
||||
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD |
||||
#define CIRQUE_PINNACLE_TAP_ENABLE |
||||
#define CIRQUE_PINNACLE_POSITION_MODE CIRQUE_PINNACLE_ABSOLUTE_MODE |
||||
|
||||
#define POINTING_DEVICE_GESTURES_SCROLL_ENABLE |
@ -0,0 +1,118 @@ |
||||
// Copyright 2023 Jason Hazel (@jasonhazel)
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include QMK_KEYBOARD_H |
||||
|
||||
enum layers { |
||||
_ALPHA, |
||||
_SYMBOL, |
||||
_NUMBER, |
||||
_NAVIGATION, |
||||
LAYER_LENGTH |
||||
}; |
||||
|
||||
|
||||
enum tapdances { |
||||
TD_QESC, |
||||
TD_SBKT, |
||||
TD_CBKT, |
||||
TD_PARN, |
||||
TD_LTGT, |
||||
TD_ATAB, |
||||
TAPDANCE_LENGTH |
||||
}; |
||||
|
||||
enum combos { |
||||
COMBO_NAVIGATION, |
||||
COMBO_LENGTH |
||||
}; |
||||
|
||||
|
||||
// begin tapdances
|
||||
#define KC_QESC TD(TD_QESC) |
||||
#define KC_SBKT TD(TD_SBKT) |
||||
#define KC_CBKT TD(TD_CBKT) |
||||
#define KC_PARN TD(TD_PARN) |
||||
#define KC_LTGT TD(TD_LTGT) |
||||
#define KC_ATAB TD(TD_ATAB) |
||||
|
||||
#define KC_GUIX LGUI_T(KC_X) |
||||
#define KC_ALTC LALT_T(KC_C) |
||||
|
||||
// oneshots
|
||||
#define KC_OSFT OSM(MOD_LSFT) |
||||
#define KC_OALT OSM(MOD_LALT) |
||||
|
||||
// layer changing
|
||||
#define KC_OSYM OSL(_SYMBOL) |
||||
#define KC_ONUM LT(_NUMBER, KC_BSPC) |
||||
|
||||
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { |
||||
switch(keycode) { |
||||
case KC_GUIX: |
||||
case KC_ALTC: |
||||
return TAPPING_TERM * 2; |
||||
default: |
||||
return TAPPING_TERM; |
||||
} |
||||
} |
||||
|
||||
// tapdances
|
||||
tap_dance_action_t tap_dance_actions[] = { |
||||
[TD_QESC] = ACTION_TAP_DANCE_DOUBLE(KC_Q, KC_ESC), |
||||
[TD_SBKT] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), |
||||
[TD_CBKT] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), |
||||
[TD_PARN] = ACTION_TAP_DANCE_DOUBLE(KC_LPRN, KC_RPRN), |
||||
[TD_LTGT] = ACTION_TAP_DANCE_DOUBLE(KC_LABK, KC_RABK), |
||||
[TD_ATAB] = ACTION_TAP_DANCE_DOUBLE(KC_A, KC_TAB) |
||||
}; |
||||
// end tapdances
|
||||
|
||||
uint16_t COMBO_LEN = COMBO_LENGTH; |
||||
|
||||
const uint16_t PROGMEM combo_navigation[] = { KC_OSYM, KC_ONUM, COMBO_END }; |
||||
combo_t key_combos[] = { |
||||
[COMBO_NAVIGATION] = COMBO(combo_navigation, OSL(_NAVIGATION)), |
||||
}; |
||||
|
||||
uint16_t get_combo_term(uint16_t index, combo_t *combo) { |
||||
switch(index) { |
||||
case COMBO_NAVIGATION: // extending the combo term here helps reduce sticky layers some more.
|
||||
return 250; |
||||
default: |
||||
return COMBO_TERM; |
||||
} |
||||
} |
||||
// end combos
|
||||
|
||||
|
||||
// begin layers
|
||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
||||
[_ALPHA] = LAYOUT_split_3x5_3( |
||||
KC_QESC, 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_QUOT, |
||||
KC_Z, KC_GUIX, KC_ALTC, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, |
||||
KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT |
||||
), |
||||
[_SYMBOL] = LAYOUT_split_3x5_3( |
||||
KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_PIPE, KC_NO, |
||||
KC_GRV, KC_TILD, KC_UNDS, KC_EQL, KC_NO, KC_SBKT, KC_CBKT, KC_PARN, KC_LTGT, KC_BACKSLASH, |
||||
KC_NO, KC_NO, KC_PLUS, KC_MINS, KC_NO, KC_NO, KC_NO, KC_COLN, KC_DOT, KC_SCLN, |
||||
KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT |
||||
), |
||||
[_NUMBER] = LAYOUT_split_3x5_3( |
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, |
||||
KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, |
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_DOT, KC_NO, |
||||
KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT |
||||
), |
||||
[_NAVIGATION] = LAYOUT_split_3x5_3( |
||||
KC_NO, KC_F2, KC_NO, KC_NO, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_BSPC, |
||||
KC_TAB, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RIGHT, KC_ENT, |
||||
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_MPRV, KC_MPLY, KC_MNXT, KC_DEL, |
||||
KC_LCTL, KC_OSYM, KC_OSFT, KC_SPC, KC_ONUM, KC_ENT
|
||||
) |
||||
}; |
||||
|
||||
|
||||
|
@ -0,0 +1,4 @@ |
||||
MOUSEKEY_ENABLE = yes
|
||||
EXTRAKEY_ENABLE = yes
|
||||
COMBO_ENABLE = yes
|
||||
TAP_DANCE_ENABLE = yes
|
Loading…
Reference in new issue