feat: better osprette
This commit is contained in:
parent
221ec341e0
commit
96b52dcdcd
3 changed files with 99 additions and 22 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -1 +1,2 @@
|
|||
CONVERT_TO=blok
|
||||
CONVERT_TO = blok
|
||||
COMBO_ENABLE = yes
|
||||
|
|
Loading…
Add table
Reference in a new issue