카리브디스 키맵 수정

This commit is contained in:
oco9oco 2025-09-26 09:02:13 +09:00
commit 3ae4e099f0
6 changed files with 142 additions and 134 deletions

25
.vscode/TAP_HOLD.code-snippets vendored Normal file
View file

@ -0,0 +1,25 @@
{
// Place your qmk_userspace 작업 영역 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
"TAP_HOLD": {
"scope": "c, cpp",
"prefix": "th_process",
"body": [
" case $1:",
"if (__TAPPED__ && __PRESSED__) {",
"tap_code($2);",
"} else if (__PRESSED__) {",
"register_code($3);",
"} else {",
"unregister_code($3);",
"}return false;break;}",
"$4"
],
"description": "QMK tap-hold macro"
}
}

View file

@ -3,7 +3,7 @@
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE #define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE #ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_DEFAULT_LAYER 10 #define AUTO_MOUSE_DEFAULT_LAYER 10
#define AUTO_MOUSE_TIME 300 #define AUTO_MOUSE_TIME 500
#define AUTO_MOUSE_DELAY 0 #define AUTO_MOUSE_DELAY 0
#endif #endif
#define CHARYBDIS_DRAGSCROLL_REVERSE_Y #define CHARYBDIS_DRAGSCROLL_REVERSE_Y
@ -11,7 +11,7 @@
#ifdef POINTING_DEVICE_TASK_THROTTLE_MS #ifdef POINTING_DEVICE_TASK_THROTTLE_MS
#undef POINTING_DEVICE_TASK_THROTTLE_MS #undef POINTING_DEVICE_TASK_THROTTLE_MS
#define POINTING_DEVICE_TASK_THROTTLE_MS 3 #define POINTING_DEVICE_TASK_THROTTLE_MS 2
#endif #endif
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 400 #define CHARYBDIS_MINIMUM_DEFAULT_DPI 400
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 150 #define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 150

View file

@ -57,10 +57,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_charybdis_wrapper( [_BASE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_ESC, KC_WH_L, KC_BTN2, KC_BTN3, KC_BTN1, KC_WH_R, __________________NUMROW_R_________________, KC_MINS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, __________________NUMROW_R_________________, KC_MINS,
KC_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, __________________QWERTY_R1________________, KC_EQL,
SFT_CAPS, __________________QWERTY_SACS_L2___________, __________________QWERTY_R2________________, KC_QUOT, SFT_CAPS, __________________QWERTY_SACS_L2___________, __________________QWERTY_R2________________, KC_QUOT,
KC_LGUI, KC_Z, KC_X, KC_C, KC_V, KC_B, __________________QWERTY_HOME_R3___________, KC_BSLS, G_LNG, KC_Z, KC_X, KC_C, KC_V, KC_B, __________________QWERTY_HOME_R3___________, KC_BSLS,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
THUMB_L1,THUMB_L2, THUMB_L3, THUMB_R3,THUMB_R2, THUMB_L1,THUMB_L2, THUMB_L3, THUMB_R3,THUMB_R2,
TG(_ONEHAND), TG(_BASE_NOMOD), THUMB_R1 TG(_ONEHAND), TG(_BASE_NOMOD), THUMB_R1
@ -146,9 +146,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ONEHAND] = LAYOUT_charybdis_wrapper( [_ONEHAND] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮ // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, S_D_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F5, S_D_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT,
KC_TAB, XXXXXXX, XXXXXXX, SNIPING, XXXXXXX, KC_F6, S_D_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_MAKE, KC_TAB, XXXXXXX, XXXXXXX, SNIPING, XXXXXXX, KC_F6, S_D_RMOD, C(A(KC_1)), C(A(KC_2)), C(A(KC_3)), XXXXXXX, QK_MAKE,
ALT_TAB, KC_LSFT, KC_BTN2, DRGSCRL, KC_BTN1, KC_F7, DPI_MOD, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, KC_LSFT, OH(KC_BTN2), KC_BTN3, KC_BTN1, KC_F7, DPI_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
KC_ENT, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), C(KC_B), DPI_RMOD, XXXXXXX, KC_BTN1, KC_BTN2, SNIPING, XXXXXXX, KC_ENT, XXXXXXX, XXXXXXX, DRGSCROLL, KC_BTN3, C(KC_B), DPI_RMOD, KC_ENT, KC_BTN1, KC_BTN2, SNIPING, XXXXXXX,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯ // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
_______, _______, _______,/* */_______, _______, _______, _______, _______,/* */_______, _______,
KC_TRNS, _______,/* */TO(_BASE) KC_TRNS, _______,/* */TO(_BASE)
@ -207,15 +207,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool now_on = layer_state_cmp(state, _ONEHAND); bool now_on = layer_state_cmp(state, _ONEHAND);
if (now_on && !mouse_layer_on) { if (now_on && !mouse_layer_on) {
// 마우스 레이어 진입 시 // 마우스 레이어 진입 시
register_code(KC_LCTL); // register_code(KC_LCTL);
tap_code(KC_F9); // tap_code(KC_F9);
unregister_code(KC_LCTL); // unregister_code(KC_LCTL);
} else } else
if (!now_on && mouse_layer_on) { if (!now_on && mouse_layer_on) {
// 마우스 레이어 탈출 시 // 마우스 레이어 탈출 시
register_code(KC_LCTL); // register_code(KC_LCTL);
tap_code(KC_F9); // tap_code(KC_F9);
unregister_code(KC_LCTL); // unregister_code(KC_LCTL);
} }
mouse_layer_on = now_on; mouse_layer_on = now_on;
return state; return state;

View file

@ -33,17 +33,17 @@ 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, JIGGLE, 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, HWP_MACRO, _________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(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------| // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
_______, KC_P, KC_O, KC_I, KC_U, KC_Y, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL, A(KC_F4), C(KC_F1), SCRNSHOT, G(KC_E), CLASS_A, JIGGLE, KC_GRV, _________NUM_789_________, _______, KC_PLUS,
_______, XXXXXXX, KC_L, KC_K, KC_J, KC_H, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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, XXXXXXX, XXXXXXX, KC_M, KC_N, KC_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 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, LT(_NAV,KC_0), KC_RPRN
), ),
[_NAV] = LAYOUT_split_3x6_3( //Navigations [_NAV] = LAYOUT_split_3x6_3( //Navigations
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------| // |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|

View file

@ -22,7 +22,7 @@ void appcmd(uint16_t keycode) {
} }
bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) { bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
switch(keycode) { switch (keycode) {
case KC_Q: case KC_Q:
case KC_W: case KC_W:
case KC_E: case KC_E:
@ -37,7 +37,6 @@ bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
// process_record_user // process_record_user
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
case THUMB_L2: case THUMB_L2:
case THUMB_L3: case THUMB_L3:
@ -49,8 +48,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
cite_done = true; cite_done = true;
} else { } else {
if (num_in_prns) { if (num_in_prns) {
if(prns_pressed){tap_code(KC_RGHT);} if (prns_pressed) {
if(brkt_pressed){ tap_code(KC_RGHT);
}
if (brkt_pressed) {
cite_done = true; cite_done = true;
tap_code(KC_RGHT); tap_code(KC_RGHT);
} }
@ -136,48 +137,47 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// HWP_CITE // HWP_CITE
case HWP_MACRO: case HWP_MACRO:
if(__PRESSED__){ if (__PRESSED__) {
tap_code_delay(KC_F6,200); tap_code_delay(KC_F6, 200);
register_code(KC_LALT); register_code(KC_LALT);
tap_code_delay(KC_O,200); tap_code_delay(KC_O, 200);
tap_code_delay(KC_F,200); tap_code_delay(KC_F, 200);
unregister_code(KC_LALT); unregister_code(KC_LALT);
tap_code_delay(KC_DOWN,100); tap_code_delay(KC_DOWN, 100);
tap_code_delay(KC_DOWN,100); tap_code_delay(KC_DOWN, 100);
tap_code(KC_ENT); tap_code(KC_ENT);
register_code(KC_LALT); register_code(KC_LALT);
tap_code_delay(KC_I,200); tap_code_delay(KC_I, 200);
unregister_code(KC_LALT); unregister_code(KC_LALT);
tap_code(KC_DOWN); tap_code(KC_DOWN);
register_code(KC_LALT); register_code(KC_LALT);
tap_code_delay(KC_B,200); tap_code_delay(KC_B, 200);
tap_code_delay(KC_Y,200); tap_code_delay(KC_Y, 200);
tap_code_delay(KC_A,200); tap_code_delay(KC_A, 200);
tap_code_delay(KC_Y,200); tap_code_delay(KC_Y, 200);
tap_code_delay(KC_N,200); tap_code_delay(KC_N, 200);
tap_code_delay(KC_D,200); tap_code_delay(KC_D, 200);
unregister_code(KC_LALT); unregister_code(KC_LALT);
tap_code_delay(KC_ESC,200); tap_code_delay(KC_ESC, 200);
register_code(KC_LCTL); register_code(KC_LCTL);
tap_code_delay(KC_K,200); tap_code_delay(KC_K, 200);
tap_code_delay(KC_O,200); tap_code_delay(KC_O, 200);
unregister_code(KC_LCTL); unregister_code(KC_LCTL);
register_code(KC_LALT); register_code(KC_LALT);
tap_code_delay(KC_N,200); tap_code_delay(KC_N, 200);
unregister_code(KC_LALT); unregister_code(KC_LALT);
tap_code_delay(KC_PGDN,100); tap_code_delay(KC_PGDN, 100);
tap_code_delay(KC_END,100); tap_code_delay(KC_END, 100);
register_code(KC_LALT); register_code(KC_LALT);
tap_code_delay(KC_D,200); tap_code_delay(KC_D, 200);
unregister_code(KC_LALT); unregister_code(KC_LALT);
} }
break; break;
case HWP_CITE: case HWP_CITE:
@ -260,7 +260,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// return false; // return false;
// break; // break;
case LT(_BASE,KC_ENT): case LT(_BASE, KC_ENT):
if (__TAPPED__ && __PRESSED__) { if (__TAPPED__ && __PRESSED__) {
tap_code(KC_ENT); tap_code(KC_ENT);
} else if (__PRESSED__) { } else if (__PRESSED__) {
@ -273,8 +273,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case IPC(A): case IPC(A):
if (__TAPPED__ && __PRESSED__) { if (__TAPPED__ && __PRESSED__) {
if(!cite_done){tap_code(KC_BSPC);} if (!cite_done) {
switch (switch_cite){ tap_code(KC_BSPC);
}
switch (switch_cite) {
case 0: case 0:
SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_A) SS_TAP(X_LNG1)); SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_A) SS_TAP(X_LNG1));
switch_cite = 1; switch_cite = 1;
@ -300,7 +302,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
register_code(KC_LSFT); register_code(KC_LSFT);
} else { } else {
unregister_code(KC_LSFT); unregister_code(KC_LSFT);
cite_done=false; cite_done = false;
} }
return false; return false;
break; break;
@ -359,21 +361,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false; return false;
break; break;
case SFT_CAPS:
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_LNG1);
} else if (__PRESSED__) {
tap_code(KC_CAPS);
} else {
// DO NOTHING ON RELEASE
}
return false;
break;
#ifdef CHARYBDIS_CONFIG_SYNC #ifdef CHARYBDIS_CONFIG_SYNC
case DRG_TOG: case DRG_TOG:
if (__PRESSED__) { if (__PRESSED__) {
@ -385,7 +372,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break; break;
#endif #endif
// appcmd function // appcmd function
case JOINTBL: case JOINTBL:
if (__PRESSED__) { if (__PRESSED__) {
@ -428,7 +414,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
tap_code16(KC_DEL); tap_code16(KC_DEL);
} else if (__PRESSED__) { } else if (__PRESSED__) {
register_code16(SNIPING); register_code16(SNIPING);
}else { } else {
unregister_code16(SNIPING); unregister_code16(SNIPING);
} }
return false; return false;
@ -469,13 +455,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("@IPC"); SEND_STRING("@IPC");
} }
break; break;
// case SLSH_LL:
// if (__PRESSED__) {
// SEND_STRING(SS_TAP(X_LEFT) SS_TAP(X_LEFT) SS_TAP(X_SLSH) SS_TAP(X_RGHT) SS_TAP(X_RGHT));
// }
// break;
case NAV_NS: case NAV_NS:
if(__PRESSED__){ if (__PRESSED__) {
tap_code16(LCA(KC_J)); tap_code16(LCA(KC_J));
tap_code16(LCA(KC_H)); tap_code16(LCA(KC_H));
} }
@ -493,7 +475,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
break; break;
case USR_LNG: case USR_LNG:
if (__TAPPED__ && __PRESSED__) { if (__PRESSED__ && __TAPPED__) {
tap_code(KC_LNG1); tap_code(KC_LNG1);
} else if (__PRESSED__) { } else if (__PRESSED__) {
register_code(KC_LNG2); register_code(KC_LNG2);
@ -503,24 +485,46 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false; return false;
break; break;
case LT(_ONEHAND,KC_BTN2): case OH(KC_BTN2):
if (__TAPPED__ && __PRESSED__) { if (__TAPPED__ && __PRESSED__) {
tap_code(KC_BTN2); tap_code(KC_BTN2);
} else if (__PRESSED__) { } else if (__PRESSED__) {
layer_move(_BASE);
register_code(KC_LALT); register_code(KC_LALT);
} else { } else {
unregister_code(KC_LALT); unregister_code(KC_LALT);
layer_move(_ONEHAND);
}
return false;
break;
case G_LNG:
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_LNG2);
} else if (__PRESSED__) {
register_code(KC_LGUI);
} else {
unregister_code(KC_LGUI);
}
return false;
break;
case SFT_CAPS:
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_CAPS);
} else if (__PRESSED__) {
tap_code(KC_LNG1);
} else {
// DO NOTHING ON RELEASE
} }
return false; return false;
break; break;
} }
return true;
return true;
}; };
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
// case THUMB_L2: // case THUMB_L2:
// return TAPPING_TERM - 50; // return TAPPING_TERM - 50;
// case SFTT_A: // case SFTT_A:
@ -553,7 +557,7 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
// } // }
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) { bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
switch (keycode) { switch (keycode) {
// case LSFT_T(KC_W): // case LSFT_T(KC_W):
case THUMB_L1: case THUMB_L1:
case THUMB_L2: case THUMB_L2:
case THUMB_L3: case THUMB_L3:
@ -574,7 +578,6 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
} }
} }
void matrix_scan_user(void) { // The very important timer. void matrix_scan_user(void) { // The very important timer.
if (is_alt_tab_active) { if (is_alt_tab_active) {
if (timer_elapsed(alt_tab_timer) > 2000) { if (timer_elapsed(alt_tab_timer) > 2000) {
@ -598,27 +601,3 @@ void matrix_scan_user(void) { // The very important timer.
// return get_chordal_hold_default(tap_hold_record, other_record); // return get_chordal_hold_default(tap_hold_record, other_record);
// } // }
#endif #endif
// charybdis trackball angular alignment calibration(floating point)
// This code rotates the mouse report by 15 degrees counter-clockwise.
// #include "math.h"
// report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
// report_mouse_t new_report = mouse_report;
// // 15도 회전 변환 공식 (반시계 방향)
// // x' = cos(15°) * x - sin(15°) * y
// // y' = sin(15°) * x + cos(15°) * y
// float old_x = (float)mouse_report.x;
// float old_y = (float)mouse_report.y;
// float new_x = COS15 * old_x - SIN15 * old_y;
// float new_y = SIN15 * old_x + COS15 * old_y;
// new_report.x = (int8_t)roundf(new_x);
// new_report.y = (int8_t)roundf(new_y);
// return new_report;
// }

View file

@ -53,6 +53,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#define F8_8 LT(_BASE, KC_8) #define F8_8 LT(_BASE, KC_8)
#define F9_9 LT(_BASE, KC_9) #define F9_9 LT(_BASE, KC_9)
#define F0_0 LT(_BASE, KC_0) #define F0_0 LT(_BASE, KC_0)
#define OH(x) LT(_ONEHAND,(x))
#define G_LNG LT(_BASE, KC_LNG2)
#define USR_LNG LT(_BASE, KC_LNG1)
/* REGIONS /* REGIONS
N N N N N N E E N N N N N N N N N N N N E E N N N N N N
@ -118,7 +122,7 @@ Z X C V B N M , . /
#define _NUM_MIN LCTL_T(KC_MINS) #define _NUM_MIN LCTL_T(KC_MINS)
#define IME_CHG G(C(KC_SPC)) #define IME_CHG G(C(KC_SPC))
#define INV_DSP G(C(KC_C)) #define INV_DSP G(C(KC_C))
#define USR_LNG LT(_BASE, KC_LNG1)
//#define DRGMT LT(_ONEHAND, KC_F22) //#define DRGMT LT(_ONEHAND, KC_F22)
#define BULLET_U C(S(KC_LBRC)) #define BULLET_U C(S(KC_LBRC))
#define BULLET_D C(S(KC_RBRC)) #define BULLET_D C(S(KC_RBRC))