CHARYBDIS

This commit is contained in:
oco9oco 2025-05-22 16:54:50 +09:00
commit 2f8dd62b58
8 changed files with 142 additions and 102 deletions

View file

@ -1,11 +1,11 @@
#define CHARYBDIS_CONFIG_SYNC #define CHARYBDIS_CONFIG_SYNC
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE #define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_DEFAULT_LAYER 10 #define AUTO_MOUSE_DEFAULT_LAYER 10
#define AUTO_MOUSE_TIME 400 #define AUTO_MOUSE_TIME 500
#define AUTO_MOUSE_DELAY TAPPING_TERM #define AUTO_MOUSE_DELAY 0
#define CHARYBDIS_DRAGSCROLL_REVERSE_Y #define CHARYBDIS_DRAGSCROLL_REVERSE_Y
#define TAPPING_TOGGLE 1 #define TAPPING_TOGGLE 1
#undef POINTING_DEVICE_TASK_THROTTLE_MS // #undef POINTING_DEVICE_TASK_THROTTLE_MS
#define POINTING_DEVICE_TASK_THROTTLE_MS 5 // #define POINTING_DEVICE_TASK_THROTTLE_MS

View file

@ -41,26 +41,50 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_charybdis_wrapper( [_BASE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_ESC, __________________NUMROW_L_________________, __________________NUMROW_R_________________, KC_MINS, KC_ESC, __________________NUMROW_L_________________, __________________NUMROW_R_________________, KC_MINS,
KC_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL, KC_CAPS, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL,
SFT_CAPS,__________________QWERTY_SACS_L2___________, __________________QWERTY_R2________________, KC_QUOT, USR_LNG, __________________QWERTY_SACS_L2___________, __________________QWERTY_R2________________, KC_QUOT,
KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, __________________QWERTY_HOME_R3___________, KC_BSLS, KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, __________________QWERTY_HOME_R3___________, KC_BSLS,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
THUMB_L1,THUMB_L2, USR_LNG,/* */THUMB_R3,THUMB_R2, THUMB_L1,THUMB_L2, THUMB_L3, THUMB_R3,THUMB_R2,
THUMB_L3, TT(_ONEHAND), THUMB_R1 TG(_BASE_NOMOD), TT(_ONEHAND), THUMB_R1
// ╰───────────────────────────╯ ╰──────────────────╯ // ╰───────────────────────────╯ ╰──────────────────╯
), ),
[_IPC] = LAYOUT_charybdis_wrapper( [_BASE_NOMOD] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
ALT_F4, C(KC_F1),KC_P, KC_X, INV_DSP, IME_CHG, KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, XXXXXXX, _______, KC_ESC, __________________NUMROW_L_________________, __________________NUMROW_R_________________, KC_MINS,
ALT_TAB, INV_DSP, XXXXXXX, CLASS_A, SNIPING, KC_BTN2, KC_GRV, _________NUM_789_________, XXXXXXX, _______, ALT_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL,
_______, IPC(A), IPC(S), IPC_D_, IPC(F), KC_BTN1, AT_IPC, _________NUM_456_________, KC_COLN, KC_DQUO, _______, __________________QWERTY_L2_SFTA___________, __________________QWERTY_R2________________, KC_QUOT,
KC_LGUI, IPC(Z), HWP_CITE, IPC(C), XXXXXXX, DRGSCRL, HWP_MACRO,_________NUM_123_________, _______, KC_PIPE, _______, __________________QWERTY_L3________________, __________________QWERTY_HOME_R3___________, KC_BSLS,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, _______, _______,/* */_______, LT(_NAV, KC_0), THUMB_L1,THUMB_L2, THUMB_L3, THUMB_R3,THUMB_R2,
QK_BOOT, _______,/* */IME_CHG _______, TT(_ONEHAND), THUMB_R1
// ╰───────────────────────────╯ ╰──────────────────╯ // ╰───────────────────────────╯ ╰──────────────────╯
), ),
[_IPC] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
ALT_F4, C(KC_F1),XXXXXXX, SCRNSHOT,INV_DSP, XXXXXXX, KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, XXXXXXX, _______,
ALT_TAB, INV_DSP, XXXXXXX, USR_LNG, CLASS_A, XXXXXXX, KC_GRV, _________NUM_789_________, XXXXXXX, _______,
KC_CAPS, IPC(A), IPC(S), IPC_D_, IPC(F), KC_DOT, AT_IPC, _________NUM_456_________, KC_COLN, KC_DQUO,
KC_LGUI, IPC(Z), HWP_CITE, IPC(C), KC_EQL, XXXXXXX, HWP_MACRO,_________NUM_123_________, _______, KC_PIPE,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
TO(_DOOM), _______, _______,/* */_______, LT(_NAV, KC_0),
QK_BOOT, _______,/* */IME_CHG
// ╰───────────────────────────╯ ╰──────────────────╯
),
[_DOOM] = LAYOUT_charybdis_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, __________________NUMROW_L_________________, __________________NUMROW_R_________________, KC_MINS,
KC_TAB, KC_ENT, KC_Q, KC_W, KC_E, KC_R, TO(_BASE),XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,
KC_TAB, KC_LSFT, KC_A, KC_S, KC_D, KC_G, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,
KC_ENT, KC_Z, KC_X, KC_4, KC_V, KC_B, XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX,XXXXXXX, XXXXXXX,
KC_F, KC_SPC, KC_C, KC_ENT, THUMB_R3,
XXXXXXX, TO(_BASE), THUMB_R2
),
// [_NUM] = LAYOUT_charybdis_wrapper( // [_NUM] = LAYOUT_charybdis_wrapper(
// // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
// XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
@ -75,9 +99,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAV] = LAYOUT_charybdis_wrapper( [_NAV] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, XXXXXXX, A(KC_7), A(KC_5), A(KC_9), A(KC_0), XXXXXXX, _______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, XXXXXXX, A(KC_7), A(KC_5), A(KC_9), A(KC_0), XXXXXXX,
ALT_TAB, NAV_NS,LCA(KC_J),LCA(KC_K),LCA(KC_L), KC_F6, S(A(KC_3)), A(KC_4), A(KC_8), A(KC_6), KC_NO, KC_NO, ALT_TAB, NAV_NS,LCA(KC_J),LCA(KC_K),LCA(KC_L), KC_F5, S(A(KC_3)), A(KC_4), A(KC_8), A(KC_6), KC_NO, KC_NO,
KC_LGUI, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_F7, KC_INS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, DPI_MOD, KC_LGUI, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_F6, KC_INS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, DPI_MOD,
G(C(KC_D)), NAV(Z), C(KC_X), C(KC_C), C(KC_V), C(KC_B), KC_APP, KC_HOME, KC_PGDN, KC_PGUP, KC_END, DPI_RMOD, G(C(KC_D)), NAV(Z), C(KC_X), C(KC_C), C(KC_V), KC_F7, KC_APP, KC_HOME, KC_PGDN, KC_PGUP, KC_END, DPI_RMOD,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, KC_BSPC, KC_DEL,/* */_______, _______, _______, KC_BSPC, KC_DEL,/* */_______, _______,
_______, _______,/* */_______ _______, _______,/* */_______
@ -86,9 +110,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_MOUSE] = LAYOUT_charybdis_wrapper( [_MOUSE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, KC_F8, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT, _______, CTRL_F1, KC_F2, KC_F3, ALT_F4, KC_F5, KC_F8, KC_F7, KC_F8, KC_F9, KC_F10, QK_BOOT,
KC_U, KC_BTN4, KC_WH_D, KC_MS_U, KC_WH_U, KC_F6, KC_F9, KC_WH_L, KC_WH_R, XXXXXXX, XXXXXXX, QK_MAKE, KC_U, KC_BTN4, KC_WH_D, KC_MS_U, KC_WH_U, KC_F5, KC_F9, KC_WH_L, KC_WH_R, XXXXXXX, XXXXXXX, QK_MAKE,
KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F7, KC_F10, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT, KC_P, KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, KC_F6, KC_F10, KC_ACL0, KC_BTN1, KC_BTN2, KC_BTN3, KC_ENT,
KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, BOLDFACE, KC_APP, KC_ACL0, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX, KC_X, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, KC_F7, KC_APP, KC_ACL0, KC_BTN4, KC_BTN5, XXXXXXX, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, KC_BSPC, KC_DEL,/* */_______, _______, _______, KC_BSPC, KC_DEL,/* */_______, _______,
_______, _______,/* */_______ _______, _______,/* */_______
@ -98,9 +122,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNC] = LAYOUT_charybdis_wrapper( [_FUNC] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DT_PRNT, KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX, XXXXXXX,
XXXXXXX, KC_LSFT, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_F11, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, XXXXXXX, KC_LSFT, KC_LALT, KC_LCTL, KC_LSFT, DT_UP, KC_F11, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX,
XXXXXXX, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, XXXXXXX, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, DT_DOWN, KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, _______, _______,/* */_______, _______, _______, _______, _______,/* */_______, _______,
_______, _______,/* */_______ _______, _______,/* */_______
@ -109,17 +133,36 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ONEHAND] = LAYOUT_charybdis_wrapper( [_ONEHAND] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, CTRL_F1, KC_LEFT, XXXXXXX, KC_RGHT, KC_F5, S_D_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, _______, CTRL_F1, C(KC_W), XXXXXXX, XXXXXXX, KC_F5, S_D_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
XXXXXXX, XXXXXXX, KC_WH_D, DRG_TOG, KC_WH_U, KC_F6, \S_D_RMOD,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_MAKE, ALT_TAB, XXXXXXX, XXXXXXX, DRGSCRL, A(KC_S), KC_F5, S_D_RMOD,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_MAKE,
XXXXXXX, KC_LCTL, KC_BTN2, DRGSCRL, KC_BTN1, KC_F7, DPI_MOD, XXXXXXX, XXXXXXX, G(KC_6), XXXXXXX, XXXXXXX, ALT_TAB, C(KC_A), LT(_ONEHAND,KC_BTN2), SNIPING, KC_BTN1, KC_F6, DPI_MOD, KC_ENT, XXXXXXX, G(KC_6), XXXXXXX, XXXXXXX,
XXXXXXX, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), XXXXXXX, DPI_RMOD,XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), KC_F7, DPI_RMOD,C(A(KC_1)), C(A(KC_2)), KC_BTN3, XXXXXXX, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
DRGSCRL, SNIPING, TO(_BASE),/* */_______, _______, _______, _______, TO(_BASE),/* */_______, _______,
_______, _______,/* */_______ C(KC_TAB), _______,/* */_______
// ╰───────────────────────────╯ ╰──────────────────╯ // ╰───────────────────────────╯ ╰──────────────────╯
), ),
}; };
#ifdef CHORDAL_HOLD
const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM =
LAYOUT(
'*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*', '*',
'*', '*', 'R', 'R', 'R', 'R', 'L', 'L', 'L', 'L', 'R', '*',
'*', 'L', '*', '*', 'L', '*', 'L', 'L', 'L', 'L', '*', '*',
'*', '*', '*', '*', '*', '*', 'L', 'L', '*', '*', '*', '*',
'*', '*', '*', '*', '*',
'*', '*', '*'
);
// char chordal_hold_handedness(keypos_t key) {
// if (key.col == 0 || key.col == MATRIX_COLS - 1) {
// return '*'; // Exempt the outer columns.
// }
// // On split keyboards, typically, the first half of the rows are on the
// // left, and the other half are on the right.
// return key.row < MATRIX_ROWS / 2 ? 'L' : 'R';
// }
#endif
#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE #ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
@ -154,6 +197,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
if (!now_on && mouse_layer_on) { if (!now_on && mouse_layer_on) {
// 마우스 레이어 탈출 시 // 마우스 레이어 탈출 시
unregister_code(KC_F13); unregister_code(KC_F13);
clear_keyboard();
} }
mouse_layer_on = now_on; mouse_layer_on = now_on;
return state; return state;
@ -162,10 +206,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) { bool is_mouse_record_kb(uint16_t keycode, keyrecord_t* record) {
switch(keycode) { switch(keycode) {
case DRGSCRL: case DRGSCRL:
case DRG_TOG:
case SNIPING: case SNIPING:
case ALT_TAB:
case KC_LCTL: case KC_LCTL:
case KC_LALT:
case KC_LSFT: case KC_LSFT:
case KC_F5:
case KC_F6:
case KC_F7:
return true; return true;
default: default:
return false; return false;
@ -174,13 +222,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
} }
#endif #endif
#ifdef CHORDAL_HOLD
char chordal_hold_handedness(keypos_t key) {
if (key.col == 0 || key.col == MATRIX_COLS - 1) {
return '*'; // Exempt the outer columns.
}
// On split keyboards, typically, the first half of the rows are on the
// left, and the other half are on the right.
return key.row < MATRIX_ROWS / 2 ? 'L' : 'R';
}
#endif

View file

@ -33,9 +33,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
), ),
[_IPC] = LAYOUT_crkbd_wrapper( [_IPC] = LAYOUT_crkbd_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------| // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
A(KC_F4), C(KC_F1), SCRNSHOT, G(KC_E), CLASS_A, HWP_MACRO, KC_GRV, _________NUM_789_________, _______, KC_PLUS, A(KC_F4), C(KC_F1), SCRNSHOT, G(KC_E), CLASS_A, XXXXXXX, KC_GRV, _________NUM_789_________, _______, KC_PLUS,
TO(_DOOM), IPC(A), IPC(S), _IPC_MIN, IPC(F), KC_DOT, AT_IPC, _________NUM_456_________, KC_COLN, KC_DQUO, TO(_DOOM), IPC(A), IPC(S), _IPC_MIN, IPC(F), KC_DOT, AT_IPC, _________NUM_456_________, KC_COLN, KC_DQUO,
XXXXXXX, IPC(Z), HWP_CITE, IPC(C), KC_EQL, KC_BSLS, XXXXXXX, _________NUM_123_________, _______, KC_PIPE, XXXXXXX, IPC(Z), HWP_CITE, IPC(C), KC_EQL, KC_BSLS, HWP_MACRO, _________NUM_123_________, _______, KC_PIPE,
TO(_BASE_SWAP), _______, TO(_BASE), KC_LPRN, KC_RPRN, LT(_NAV,KC_0) TO(_BASE_SWAP), _______, TO(_BASE), KC_LPRN, KC_RPRN, LT(_NAV,KC_0)
), ),
[_NUM] = LAYOUT_crkbd_wrapper( [_NUM] = LAYOUT_crkbd_wrapper(

View file

@ -3,3 +3,18 @@
## 앞으로 적용할 텍스트 단축어 ## 앞으로 적용할 텍스트 단축어
- 청구항 - 청구항
- 인용발명 - 인용발명
인용바렴ㅇ
ㅁ다라서 청구항 1은 통상의 기술자가 인용발명 1에 의해 쉽게 발명할 수 임ㅅㅅ브니다.
임ㅅ브니다.
임ㅅㅅ브니다.
임ㅅ습니다
있ㅅ브니다.
있습니다.
임ㅅ스빈다
임ㅅ습니다.
임ㅅㅅ브니다
임ㅅ습니다.
있습니다
임ㅅ다고

View file

@ -15,15 +15,18 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
/* Handedness. */ /* Handedness. */
// #define MASTER_LEFT // #define MASTER_LEFT
// #undef MASTER_RIGHT // #undef MASTER_LEFT
// #define MASTER_LEFT // #define MASTER_RIGHT
// TAP-HOLD OPTIONS
#define TAPPING_TERM 200 #define TAPPING_TERM 200
#define QUICK_TAP_TERM 0 #define QUICK_TAP_TERM 0
//#define PERMISSIVE_HOLD_PER_KEY //#define PERMISSIVE_HOLD_PER_KEY
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY #define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
// #define CHORDAL_HOLD //#define CHORDAL_HOLD
// AUTO SHIFT OPTIONS // AUTO SHIFT OPTIONS
#define NO_AUTO_SHIFT_ALPHA #define NO_AUTO_SHIFT_ALPHA

View file

@ -313,7 +313,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false; return false;
break; break;
case IPC(A): case IPC(A):
if (__TAPPED__ && __PRESSED__) { if (__TAPPED__ && __PRESSED__) {
if(!cite_done){tap_code(KC_BSPC);} if(!cite_done){tap_code(KC_BSPC);}
switch (switch_cite){ switch (switch_cite){
@ -331,6 +331,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
case 3: case 3:
SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_D) SS_TAP(X_LNG1)); SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_D) SS_TAP(X_LNG1));
switch_cite = 4;
break;
case 4:
SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_E) SS_TAP(X_LNG1));
switch_cite = 0; switch_cite = 0;
break; break;
} }
@ -354,6 +358,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return false; return false;
break; break;
case IPC(F): case IPC(F):
if (__TAPPED__ && __PRESSED__) { if (__TAPPED__ && __PRESSED__) {
SEND_STRING(", "); SEND_STRING(", ");
@ -398,11 +403,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case SFT_CAPS: case SFT_CAPS:
if (__TAPPED__ && __PRESSED__) { if (__TAPPED__ && __PRESSED__) {
tap_code16(KC_CAPS); tap_code(KC_LNG1);
} else if (__PRESSED__) { } else if (__PRESSED__) {
register_code(KC_LNG1); register_code(KC_CAPS);
} else { } else {
unregister_code(KC_LNG1); unregister_code(KC_CAPS);
} }
return false; return false;
break; break;
@ -488,7 +493,16 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false; return false;
break; break;
case LT(_ONEHAND,KC_BTN2):
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_BTN2);
} else if (__PRESSED__) {
register_code(KC_LALT);
} else {
unregister_code(KC_LALT);
}
return false;
break;
} }
return true; return true;
@ -536,7 +550,6 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
case THUMB_R1: case THUMB_R1:
case THUMB_R3: case THUMB_R3:
case SFT_CAPS: case SFT_CAPS:
// case THUMB_R2: // case THUMB_R2:
// case SFTT_A: // case SFTT_A:
// case SFTT_F: // case SFTT_F:
@ -561,53 +574,19 @@ void matrix_scan_user(void) { // The very important timer.
} }
} }
#ifdef CHORDAL_HOLD #ifdef CHORDAL_HOLD
bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record, // bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record,
uint16_t other_keycode, keyrecord_t* other_record) { // uint16_t other_keycode, keyrecord_t* other_record) {
// Exceptionally allow some one-handed chords for hotkeys. // // Exceptionally allow some one-handed chords for hotkeys.
switch (tap_hold_keycode) { // switch (tap_hold_keycode) {
case LSFT_T(KC_A): // case LSFT_T(KC_A):
if (other_keycode == KC_Q ||other_keycode == KC_W || other_keycode == KC_E || other_keycode == KC_R || other_keycode == KC_T) { // if (other_keycode == KC_Q ||other_keycode == KC_W || other_keycode == KC_E || other_keycode == KC_R || other_keycode == KC_T) {
return true; // return true;
} else {return false;} // } else {return false;}
break; // break;
// }
case LSFT_T(KC_F): // // Otherwise defer to the opposite hands rule.
if (other_keycode == KC_Q) { // return get_chordal_hold_default(tap_hold_record, other_record);
return true; // }
} else {return false;}
break;
case LALT_T(KC_S):
if (other_keycode == THUMB_L1) {
return true;
} else {return false;}
break;
case THUMB_L1:
case THUMB_L2:
case THUMB_L3:
case TT(_ONEHAND):
case THUMB_R1:
case THUMB_R2:
case THUMB_R3:
return true;
break;
case IPC(A):
case IPC(S):
case IPC_D_:
case IPC(F):
case IPC(Z):
if (other_keycode == IPC(A)||other_keycode == IPC(S)||other_keycode == IPC_D_||other_keycode == IPC(F)||other_keycode == IPC(Z)) {
return true;
}
}
// Otherwise defer to the opposite hands rule.
return get_chordal_hold_default(tap_hold_record, other_record);
}
#endif #endif
// charybdis trackball angular alignment calibration(floating point) // charybdis trackball angular alignment calibration(floating point)
// This code rotates the mouse report by 15 degrees counter-clockwise. // This code rotates the mouse report by 15 degrees counter-clockwise.

View file

@ -84,6 +84,7 @@ Z X C V B N M , . /
// |--------|--------|--------|--------|--------| // |--------|--------|--------|--------|--------|
#define __________________QWERTY_L1________________ KC_Q, KC_W, KC_E, KC_R, KC_T #define __________________QWERTY_L1________________ KC_Q, KC_W, KC_E, KC_R, KC_T
#define __________________QWERTY_L2________________ KC_A, KC_S, KC_D, KC_F, KC_G #define __________________QWERTY_L2________________ KC_A, KC_S, KC_D, KC_F, KC_G
#define __________________QWERTY_L2_STFA___________ SFTT_A, KC_S, KC_D, KC_F, KC_G
#define __________________QWERTY_L3_SFTZ___________ SFTT_Z, KC_X, KC_C, KC_V, KC_B #define __________________QWERTY_L3_SFTZ___________ SFTT_Z, KC_X, KC_C, KC_V, KC_B
#define __________________QWERTY_GUIZ_L3___________ LGUI_T(KC_Z), KC_X, KC_C, KC_V, KC_B #define __________________QWERTY_GUIZ_L3___________ LGUI_T(KC_Z), KC_X, KC_C, KC_V, KC_B
@ -294,6 +295,10 @@ bool qwert;
#define __NUM_456 KC_4, KC_5, KC_6 #define __NUM_456 KC_4, KC_5, KC_6
#define __NUM_123 KC_1, KC_2, KC_3 #define __NUM_123 KC_1, KC_2, KC_3
enum custom_keycodes { enum custom_keycodes {
PRNS = SAFE_RANGE, PRNS = SAFE_RANGE,
BRKT, BRKT,

View file

@ -12,6 +12,6 @@ SRC+=oco9oco.c
MOUSEKEY_ENABLE = yes MOUSEKEY_ENABLE = yes
# RGB 라이트 기능 활성화 # RGB 라이트 기능 활성화
RGBLIGHT_ENABLE = no RGBLIGHT_ENABLE = no
DYNAMIC_TAPPING_TERM_ENABLE = yes
# 트랙볼 캘리브레이션용. 버벅거린다면 주석처리 # 트랙볼 캘리브레이션용. 버벅거린다면 주석처리
FLOAT_ENABLE = yes FLOAT_ENABLE = yes