diff --git a/.vscode/TAP_HOLD.code-snippets b/.vscode/TAP_HOLD.code-snippets
new file mode 100644
index 00000000..07389f87
--- /dev/null
+++ b/.vscode/TAP_HOLD.code-snippets
@@ -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"
+ }
+}
\ No newline at end of file
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/config.h
index 9ca44e02..ab34e821 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/config.h
@@ -3,7 +3,7 @@
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_DEFAULT_LAYER 10
- #define AUTO_MOUSE_TIME 300
+ #define AUTO_MOUSE_TIME 500
#define AUTO_MOUSE_DELAY 0
#endif
#define CHARYBDIS_DRAGSCROLL_REVERSE_Y
@@ -11,7 +11,7 @@
#ifdef 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
#define CHARYBDIS_MINIMUM_DEFAULT_DPI 400
#define CHARYBDIS_DEFAULT_DPI_CONFIG_STEP 150
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/keymap.c
index c139a931..1f0d8e58 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/oco9oco/keymap.c
@@ -57,10 +57,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_ESC, KC_WH_L, KC_BTN2, KC_BTN3, KC_BTN1, KC_WH_R, __________________NUMROW_R_________________, KC_MINS,
- KC_TAB, __________________QWERTY_L1________________, __________________QWERTY_R1________________, KC_EQL,
- 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,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, __________________NUMROW_R_________________, KC_MINS,
+ 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,
+ 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,
TG(_ONEHAND), TG(_BASE_NOMOD), THUMB_R1
@@ -146,9 +146,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ONEHAND] = LAYOUT_charybdis_wrapper(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
_______, 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,
- ALT_TAB, KC_LSFT, KC_BTN2, DRGSCRL, KC_BTN1, KC_F7, DPI_MOD, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, 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_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,
+ _______, KC_LSFT, OH(KC_BTN2), KC_BTN3, KC_BTN1, KC_F7, DPI_MOD, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, 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)
@@ -207,15 +207,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool now_on = layer_state_cmp(state, _ONEHAND);
if (now_on && !mouse_layer_on) {
// 마우스 레이어 진입 시
- register_code(KC_LCTL);
- tap_code(KC_F9);
- unregister_code(KC_LCTL);
+ // register_code(KC_LCTL);
+ // tap_code(KC_F9);
+ // unregister_code(KC_LCTL);
} else
if (!now_on && mouse_layer_on) {
// 마우스 레이어 탈출 시
- register_code(KC_LCTL);
- tap_code(KC_F9);
- unregister_code(KC_LCTL);
+ // register_code(KC_LCTL);
+ // tap_code(KC_F9);
+ // unregister_code(KC_LCTL);
}
mouse_layer_on = now_on;
return state;
diff --git a/keyboards/bastardkb/tbkmini/keymaps/oco9oco/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/oco9oco/keymap.c
index bc133bd2..0852c421 100644
--- a/keyboards/bastardkb/tbkmini/keymaps/oco9oco/keymap.c
+++ b/keyboards/bastardkb/tbkmini/keymaps/oco9oco/keymap.c
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE_NOMOD] = LAYOUT_crkbd_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
KC_ESC, __________________QWERTY_L1________________, __________________QWERTY_R1________________, _______,
- SFT_CAPS,__________________QWERTY_L2________________, __________________QWERTY_R2________________, KC_QUOT,
+ SFT_CAPS,__________________QWERTY_L2________________, __________________QWERTY_R2________________, KC_QUOT,
_______, __________________QWERTY_L3________________, __________________QWERTY_HOME_R3___________, KC_BSLS,
THUMB_L1, THUMB_L2, THUMB_L3, TH_BK_R1, THUMB_R3, THUMB_R2
),
@@ -33,17 +33,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_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,
- 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)
),
[_NUM] = LAYOUT_crkbd_wrapper(
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
- _______, KC_P, KC_O, KC_I, KC_U, KC_Y, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_EQL,
- _______, XXXXXXX, KC_L, KC_K, KC_J, KC_H, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_COLN, KC_DQUO,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_M, KC_N, KC_B, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PIPE,
- _______, _______, _______, _______, _______, _______
+ A(KC_F4), C(KC_F1), SCRNSHOT, G(KC_E), CLASS_A, JIGGLE, 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,
+ 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
// |--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|--------|
diff --git a/users/oco9oco/oco9oco.c b/users/oco9oco/oco9oco.c
index 6cd45a6b..cad14885 100644
--- a/users/oco9oco/oco9oco.c
+++ b/users/oco9oco/oco9oco.c
@@ -13,8 +13,8 @@ along with this program. If not, see .
*/
#include "oco9oco.h"
-bool is_alt_tab_active = false; // ADD this near the beginning of keymap.c
-uint16_t alt_tab_timer = 0; // we will be using them soon.
+bool is_alt_tab_active = false; // ADD this near the beginning of keymap.c
+uint16_t alt_tab_timer = 0; // we will be using them soon.
void appcmd(uint16_t keycode) {
tap_code(KC_APP);
@@ -22,7 +22,7 @@ void appcmd(uint16_t keycode) {
}
bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
+ switch (keycode) {
case KC_Q:
case KC_W:
case KC_E:
@@ -37,7 +37,6 @@ bool get_custom_auto_shifted_key(uint16_t keycode, keyrecord_t *record) {
// process_record_user
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
-
switch (keycode) {
case THUMB_L2:
case THUMB_L3:
@@ -49,8 +48,10 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
cite_done = true;
} else {
if (num_in_prns) {
- if(prns_pressed){tap_code(KC_RGHT);}
- if(brkt_pressed){
+ if (prns_pressed) {
+ tap_code(KC_RGHT);
+ }
+ if (brkt_pressed) {
cite_done = true;
tap_code(KC_RGHT);
}
@@ -79,7 +80,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
case 1:
SEND_STRING("E05B");
- switch_cite = 2; // case 2 추가되는 경우 switch_cite = 2;
+ switch_cite = 2; // case 2 추가되는 경우 switch_cite = 2;
break;
case 2:
SEND_STRING("E06B");
@@ -136,48 +137,47 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// HWP_CITE
case HWP_MACRO:
- if(__PRESSED__){
- tap_code_delay(KC_F6,200);
+ if (__PRESSED__) {
+ tap_code_delay(KC_F6, 200);
register_code(KC_LALT);
- tap_code_delay(KC_O,200);
- tap_code_delay(KC_F,200);
+ tap_code_delay(KC_O, 200);
+ tap_code_delay(KC_F, 200);
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);
register_code(KC_LALT);
- tap_code_delay(KC_I,200);
+ tap_code_delay(KC_I, 200);
unregister_code(KC_LALT);
tap_code(KC_DOWN);
register_code(KC_LALT);
- tap_code_delay(KC_B,200);
- tap_code_delay(KC_Y,200);
- tap_code_delay(KC_A,200);
- tap_code_delay(KC_Y,200);
- tap_code_delay(KC_N,200);
- tap_code_delay(KC_D,200);
+ tap_code_delay(KC_B, 200);
+ tap_code_delay(KC_Y, 200);
+ tap_code_delay(KC_A, 200);
+ tap_code_delay(KC_Y, 200);
+ tap_code_delay(KC_N, 200);
+ tap_code_delay(KC_D, 200);
unregister_code(KC_LALT);
- tap_code_delay(KC_ESC,200);
+ tap_code_delay(KC_ESC, 200);
register_code(KC_LCTL);
- tap_code_delay(KC_K,200);
- tap_code_delay(KC_O,200);
+ tap_code_delay(KC_K, 200);
+ tap_code_delay(KC_O, 200);
unregister_code(KC_LCTL);
register_code(KC_LALT);
- tap_code_delay(KC_N,200);
+ tap_code_delay(KC_N, 200);
unregister_code(KC_LALT);
- tap_code_delay(KC_PGDN,100);
- tap_code_delay(KC_END,100);
+ tap_code_delay(KC_PGDN, 100);
+ tap_code_delay(KC_END, 100);
register_code(KC_LALT);
- tap_code_delay(KC_D,200);
+ tap_code_delay(KC_D, 200);
unregister_code(KC_LALT);
-
}
break;
case HWP_CITE:
@@ -260,7 +260,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
// return false;
// break;
- case LT(_BASE,KC_ENT):
+ case LT(_BASE, KC_ENT):
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_ENT);
} else if (__PRESSED__) {
@@ -273,34 +273,36 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
case IPC(A):
if (__TAPPED__ && __PRESSED__) {
- if(!cite_done){tap_code(KC_BSPC);}
- switch (switch_cite){
+ if (!cite_done) {
+ tap_code(KC_BSPC);
+ }
+ switch (switch_cite) {
case 0:
- SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_A) SS_TAP(X_LNG1));
- switch_cite = 1;
- break;
+ SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_A) SS_TAP(X_LNG1));
+ switch_cite = 1;
+ break;
case 1:
- SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_B) SS_TAP(X_LNG1));
- switch_cite = 2;
- break;
+ SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_B) SS_TAP(X_LNG1));
+ switch_cite = 2;
+ break;
case 2:
- SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_C) SS_TAP(X_LNG1));
- switch_cite = 3;
- break;
+ SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_C) SS_TAP(X_LNG1));
+ switch_cite = 3;
+ break;
case 3:
- SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_D) SS_TAP(X_LNG1));
- switch_cite = 4;
- break;
+ 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;
- break;
- }
+ SEND_STRING(SS_TAP(X_LNG1) SS_TAP(X_E) SS_TAP(X_LNG1));
+ switch_cite = 0;
+ break;
+ }
} else if (__PRESSED__) {
register_code(KC_LSFT);
} else {
unregister_code(KC_LSFT);
- cite_done=false;
+ cite_done = false;
}
return false;
break;
@@ -359,33 +361,17 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
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
case DRG_TOG:
if (__PRESSED__) {
register_code(KC_F15);
- } else {
+ } else {
unregister_code(KC_F15);
- }
+ }
return true;
break;
#endif
-
// appcmd function
case JOINTBL:
if (__PRESSED__) {
@@ -428,7 +414,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
tap_code16(KC_DEL);
} else if (__PRESSED__) {
register_code16(SNIPING);
- }else {
+ } else {
unregister_code16(SNIPING);
}
return false;
@@ -469,13 +455,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
SEND_STRING("@IPC");
}
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:
- if(__PRESSED__){
+ if (__PRESSED__) {
tap_code16(LCA(KC_J));
tap_code16(LCA(KC_H));
}
@@ -493,7 +475,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
break;
case USR_LNG:
- if (__TAPPED__ && __PRESSED__) {
+ if (__PRESSED__ && __TAPPED__) {
tap_code(KC_LNG1);
} else if (__PRESSED__) {
register_code(KC_LNG2);
@@ -503,26 +485,48 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
return false;
break;
- case LT(_ONEHAND,KC_BTN2):
+ case OH(KC_BTN2):
if (__TAPPED__ && __PRESSED__) {
tap_code(KC_BTN2);
} else if (__PRESSED__) {
+ layer_move(_BASE);
register_code(KC_LALT);
} else {
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;
break;
}
-
-return true;
+ return true;
};
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
-
// case THUMB_L2:
- // return TAPPING_TERM - 50;
+ // return TAPPING_TERM - 50;
// case SFTT_A:
// case SFTT_F:
// case CTLT_D:
@@ -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) {
switch (keycode) {
-// case LSFT_T(KC_W):
+ // case LSFT_T(KC_W):
case THUMB_L1:
case THUMB_L2:
case THUMB_L3:
@@ -565,7 +569,7 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
// case SFTT_F:
case IPC(A):
case IPC(S):
- case IPC_D_:
+ case IPC_D_:
case IPC(F):
case IPC(Z):
return true;
@@ -574,14 +578,13 @@ bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t *record) {
}
}
-
void matrix_scan_user(void) { // The very important timer.
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 2000) {
- unregister_code(KC_LALT);
- is_alt_tab_active = false;
+ if (is_alt_tab_active) {
+ if (timer_elapsed(alt_tab_timer) > 2000) {
+ unregister_code(KC_LALT);
+ is_alt_tab_active = false;
+ }
}
- }
}
#ifdef CHORDAL_HOLD
// bool get_chordal_hold(uint16_t tap_hold_keycode, keyrecord_t* tap_hold_record,
@@ -598,27 +601,3 @@ void matrix_scan_user(void) { // The very important timer.
// return get_chordal_hold_default(tap_hold_record, other_record);
// }
#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;
-// }
\ No newline at end of file
diff --git a/users/oco9oco/oco9oco.h b/users/oco9oco/oco9oco.h
index 0f1352b6..197fef99 100644
--- a/users/oco9oco/oco9oco.h
+++ b/users/oco9oco/oco9oco.h
@@ -53,6 +53,10 @@ along with this program. If not, see .
#define F8_8 LT(_BASE, KC_8)
#define F9_9 LT(_BASE, KC_9)
#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
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 IME_CHG G(C(KC_SPC))
#define INV_DSP G(C(KC_C))
-#define USR_LNG LT(_BASE, KC_LNG1)
+
//#define DRGMT LT(_ONEHAND, KC_F22)
#define BULLET_U C(S(KC_LBRC))
#define BULLET_D C(S(KC_RBRC))