1
0
Fork 0

feat: better osprette

This commit is contained in:
Kyle Brown 2023-09-10 16:01:07 -07:00
parent 221ec341e0
commit 96b52dcdcd
3 changed files with 99 additions and 22 deletions

View file

@ -1,2 +1,10 @@
#pragma once
// Time to hold before it's not a tap
#undef QUICK_TAP_TERM
#define QUICK_TAP_TERM 120
#define PERMISSIVE_HOLD
#define COMBO_TERM_PER_COMBO
#define TAPPING_TERM_PER_KEY

View file

@ -3,38 +3,106 @@
enum layers {
_DVORAK,
_LOWER,
_RAISE
_RAISE,
_GUI,
_SYMBOLS
};
#define KC_CTSC RCTL_T(KC_SCLN)
#define KC_CTLA LCTL_T(KC_A)
#define KC_LSHZ LSFT_T(KC_Z)
#define KC_RLSH RSFT_T(KC_SLSH)
#define KC_SPM2 LT(2, KC_SPC)
#define KC_BSM1 LT(1, KC_BSPC)
#define KC_GUTA GUI_T(KC_TAB)
#define KC_CLGV CTL_T(KC_GRV)
#define LSFT_QT KC_QUOT
#define LSFT_SC LSFT_T(KC_SCLN)
#define KC_SPM2 LT(_RAISE, KC_SPC)
#define KC_BSM1 LT(_LOWER, KC_BSPC)
#define KC_CLTA CTL_T(KC_TAB)
#define KC_GUGV CTL_T(KC_GRV)
#define SUPER_L LM(_GUI, MOD_LGUI)
#define HRM_A KC_A
#define HRM_O KC_O
#define HRM_E KC_E
#define HRM_U MT(MOD_LSFT, KC_U)
#define HRM_H MT(MOD_LSFT, KC_H)
#define HRM_T KC_T
#define HRM_N KC_N
#define HRM_S KC_S
// clang-format off
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_DVORAK] = LAYOUT( /* DVORAK */
KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R,
KC_QUOT, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_L,
KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,
KC_CLGV, KC_BSM1, KC_SPM2, KC_GUTA
KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R,
LSFT_QT, HRM_A, HRM_O, HRM_E, HRM_U, KC_I, KC_D, HRM_H, HRM_T, HRM_N, HRM_S, KC_L,
LSFT_SC, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z,
SUPER_L, KC_BSM1, KC_SPM2, KC_CLTA
),
[_LOWER] = LAYOUT( /* [> LOWER <] */
KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
KC_1, QK_GESC, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_QUOT, KC_0,
KC_TRNS, KC_TRNS, KC_TRNS, KC_BTN1, KC_BTN2, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_ENT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, KC_7, KC_8, KC_9,
KC_TILD, KC_F5, KC_F6, KC_F7, KC_F8, KC_GRV, XXXXXXX, KC_4, KC_5, KC_6, KC_BSLS, KC_DEL,
KC_F1, KC_F2, KC_F3, KC_F4, KC_TILD, XXXXXXX, KC_1, KC_2, KC_3, KC_MINS,
_______, _______, KC_EQL, KC_0
),
[_RAISE] = LAYOUT( /* [> RAISE <] */
KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9,
KC_F1, KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_PIPE, KC_F10,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UNDS, KC_PLUS, KC_TRNS, KC_TRNS, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
_______, _______, _______, _______, _______, _______, _______, LSFT(KC_INS),
_______, _______, _______, _______, _______, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_END,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, KC_LALT
),
[_GUI] = LAYOUT( /* [ GUI ] */
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______,
_______, KC_1, KC_2, KC_3, KC_4, _______, _______, _______, _______, _______, _______, _______,
KC_5, KC_6, KC_7, KC_8, QK_BOOT, _______, _______, _______, _______, _______,
_______, _______, _______, _______
),
[_SYMBOLS] = LAYOUT( /* [ SYMBOLS ] */
KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_LPRN, KC_RPRN,
KC_EXLM, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, _______, KC_DEL,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______,
_______, _______, _______, _______
)
};
const uint16_t PROGMEM jk_esc[] = {KC_J, KC_K, COMBO_END};
const uint16_t PROGMEM qj_esc[] = {KC_Q, KC_J, COMBO_END};
const uint16_t PROGMEM delete_word[] = {KC_C, KC_R, COMBO_END};
const uint16_t PROGMEM enter[] = {HRM_H, HRM_N, COMBO_END};
const uint16_t PROGMEM slsh[] = {HRM_S, KC_L, COMBO_END};
const uint16_t PROGMEM colon[] = {LSFT_QT, HRM_A, COMBO_END};
const uint16_t PROGMEM symbols[] = {KC_BSM1, KC_SPM2, COMBO_END};
combo_t key_combos[] = {
COMBO(jk_esc, KC_ESC),
COMBO(qj_esc, KC_ESC),
COMBO(delete_word, LCTL(KC_BSPC)),
COMBO(enter, KC_ENTER),
COMBO(slsh, KC_SLSH),
COMBO(colon, KC_COLN),
COMBO(symbols, MO(_SYMBOLS))
};
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
case HRM_U:
return TAPPING_TERM - 100;
case HRM_H:
return TAPPING_TERM - 100;
default:
return TAPPING_TERM;
}
}
uint16_t get_combo_term(uint16_t index, combo_t *combo) {
// decide by combo->keycode
switch (combo->keycode) {
case MO(_SYMBOLS):
return COMBO_TERM + 200;
case KC_ENTER:
return COMBO_TERM + 50;
}
return COMBO_TERM;
}

View file

@ -1 +1,2 @@
CONVERT_TO=blok
CONVERT_TO = blok
COMBO_ENABLE = yes