96 lines
3.9 KiB
C
96 lines
3.9 KiB
C
#pragma once
|
|
#include "quantum.h"
|
|
|
|
#include "abstraction.h"
|
|
|
|
// enum for combos.
|
|
enum combos {
|
|
// left hand combinations.
|
|
R_U_PINKY_RING,
|
|
R_U_RING_MIDDLE,
|
|
R_U_RING_INDEX,
|
|
R_U_MIDDLE_INDEX,
|
|
R_U_MIDDLE_INNER_INDEX,
|
|
R_U_INDEX_INNER_INDEX,
|
|
R_L_PINKY_RING,
|
|
R_L_RING_MIDDLE,
|
|
R_L_RING_INDEX,
|
|
R_L_MIDDLE_INDEX,
|
|
R_L_INDEX_INNER_INDEX,
|
|
|
|
// right hand combinations.
|
|
L_U_PINKY_RING,
|
|
L_U_RING_MIDDLE,
|
|
L_U_RING_INDEX,
|
|
L_U_MIDDLE_INDEX,
|
|
L_U_MIDDLE_INNER_INDEX,
|
|
L_U_INNER_INNER_INDEX,
|
|
L_L_PINKY_RING,
|
|
L_L_RING_MIDDLE,
|
|
L_L_MIDDLE_INDEX,
|
|
L_L_RING_INDEX,
|
|
L_L_INDEX_INNER_INDEX,
|
|
|
|
// both hands combinations.
|
|
B_L_MIDDLE_MIDDLE,
|
|
};
|
|
|
|
// left hand combinations.
|
|
const uint16_t PROGMEM lu_p_r_combo[] = {LUP, LUR, COMBO_END};
|
|
const uint16_t PROGMEM lu_r_m_combo[] = {LUR, LUM, COMBO_END};
|
|
const uint16_t PROGMEM lu_r_i_combo[] = {LUR, LUI, COMBO_END};
|
|
const uint16_t PROGMEM lu_m_i_combo[] = {LUM, LUI, COMBO_END};
|
|
const uint16_t PROGMEM lu_m_ii_combo[] = {LUM, LUII, COMBO_END};
|
|
const uint16_t PROGMEM lu_i_ii_combo[] = {LUI, LUII, COMBO_END};
|
|
const uint16_t PROGMEM ll_p_r_combo[] = {LLP, LLR, COMBO_END};
|
|
const uint16_t PROGMEM ll_r_m_combo[] = {LLR, LLM, COMBO_END};
|
|
const uint16_t PROGMEM ll_r_i_combo[] = {LLR, LLI, COMBO_END};
|
|
const uint16_t PROGMEM ll_m_i_combo[] = {LLM, LLI, COMBO_END};
|
|
const uint16_t PROGMEM ll_i_ii_combo[] = {LLI, LLII, COMBO_END};
|
|
|
|
// right hand combinations.
|
|
const uint16_t PROGMEM ru_p_r_combo[] = {RUP, RUR, COMBO_END};
|
|
const uint16_t PROGMEM ru_r_m_combo[] = {RUR, RUM, COMBO_END};
|
|
const uint16_t PROGMEM ru_r_i_combo[] = {RUR, RUI, COMBO_END};
|
|
const uint16_t PROGMEM ru_m_i_combo[] = {RUM, RUI, COMBO_END};
|
|
const uint16_t PROGMEM ru_m_ii_combo[] = {RUM, RUII, COMBO_END};
|
|
const uint16_t PROGMEM ru_i_ii_combo[] = {RUI, RUII, COMBO_END};
|
|
const uint16_t PROGMEM rl_p_r_combo[] = {RLP, RLR, COMBO_END};
|
|
const uint16_t PROGMEM rl_r_m_combo[] = {RLR, RLM, COMBO_END};
|
|
const uint16_t PROGMEM rl_r_i_combo[] = {RLR, RLI, COMBO_END};
|
|
const uint16_t PROGMEM rl_m_i_combo[] = {RLM, RLI, COMBO_END};
|
|
const uint16_t PROGMEM rl_i_ii_combo[] = {RLI, RLII, COMBO_END};
|
|
|
|
// both hand combinations.
|
|
const uint16_t PROGMEM bl_m_m_combo[] = {LLM, RLM, COMBO_END};
|
|
|
|
combo_t key_combos[COMBO_COUNT] = {
|
|
// left hand combinations.
|
|
[R_U_PINKY_RING] = COMBO(lu_p_r_combo, KC_TAB),
|
|
[R_U_RING_MIDDLE] = COMBO(lu_r_m_combo, KC_QUES),
|
|
[R_U_RING_INDEX] = COMBO(lu_r_i_combo, PRVTAB),
|
|
[R_U_MIDDLE_INDEX] = COMBO(lu_m_i_combo, KC_UNDS),
|
|
[R_U_MIDDLE_INNER_INDEX] = COMBO(lu_m_ii_combo, KC_ENT),
|
|
[R_U_INDEX_INNER_INDEX] = COMBO(lu_i_ii_combo, KC_PIPE),
|
|
[R_L_PINKY_RING] = COMBO(ll_p_r_combo, KC_ENT),
|
|
[R_L_RING_MIDDLE] = COMBO(ll_r_m_combo, LCTL(KC_W)),
|
|
[R_L_RING_INDEX] = COMBO(ll_r_i_combo, KC_TAB),
|
|
[R_L_MIDDLE_INDEX] = COMBO(ll_m_i_combo, KC_DELT),
|
|
[R_L_INDEX_INNER_INDEX] = COMBO(ll_i_ii_combo, KC_TILD),
|
|
|
|
// right hand combinations.
|
|
[L_U_PINKY_RING] = COMBO(ru_p_r_combo, KC_BSPC),
|
|
[L_U_RING_MIDDLE] = COMBO(ru_r_m_combo, KC_SLSH),
|
|
[L_U_RING_INDEX] = COMBO(ru_r_i_combo, NXTTAB),
|
|
[L_U_MIDDLE_INDEX] = COMBO(ru_m_i_combo, KC_MINS),
|
|
[L_U_MIDDLE_INNER_INDEX] = COMBO(ru_m_ii_combo, KC_ENT),
|
|
[L_U_INNER_INNER_INDEX] = COMBO(ru_i_ii_combo, KC_BSLS),
|
|
[L_L_PINKY_RING] = COMBO(rl_p_r_combo, KC_BSLS),
|
|
[L_L_RING_MIDDLE] = COMBO(rl_r_m_combo, KC_APP),
|
|
[L_L_RING_INDEX] = COMBO(rl_r_i_combo, LSFT(KC_TAB)),
|
|
[L_L_MIDDLE_INDEX] = COMBO(rl_m_i_combo, KC_DELT),
|
|
[L_L_INDEX_INNER_INDEX] = COMBO(rl_i_ii_combo, KC_GRV),
|
|
|
|
// both hand combinations.
|
|
[B_L_MIDDLE_MIDDLE] = COMBO(bl_m_m_combo, KC_ENT),
|
|
}; |