Add mouse wiggler and enhanced lock function

main
Ashelyn Dawn 3 years ago
parent f900f592d4
commit a5f547f107

@ -7,6 +7,7 @@
#define _T3 _TALI_LAYER3
#define _GL _GAME_LAYER
#define _FL _FUNCTION_LAYER
#define _F2 _FUNCTION2_LAYER
#define _UL _UNB_W_LAY
#define _U2 _UNB_W_LAY_2
#define _TT _TEAMS_LAYER
@ -29,6 +30,8 @@ enum ashe_keycodes {
AD_UASH, // Æ: Upper-case ash
AD_LASH, // æ: Lower-case ash
AD_TEAM, // Teams push-to-talk macro
AD_MOUS, // Toggle mouse wiggle
AD_LOCK, // Lock screen and toggle layer
// Pomodoro
ADP_PAU, // Pause
@ -51,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_TYPING_LAYER] = LAYOUT_65_ansi_blocker(
KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_RCTL, \
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, \
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, \
MO(_F2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME, \
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END, \
KC_LCTL, AD_WIND, KC_LALT, KC_SPC, KC_RALT, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \
),
@ -86,10 +89,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FUNCTION_LAYER] = LAYOUT_65_ansi_blocker(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RCTL(KC_BSPC), RALT(KC_PSCR), \
_______, RGB_SPD, RGB_VAI, RGB_SPI, RGB_HUI, TG(_TL), _______, U_T_AUTO,U_T_AGCR,_______, KC_PSCR, KC_SLCK, KC_PAUS, _______, KC_DEL, \
_______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, TG(_GL), TG(_UL), _______, _______, G(KC_L), _______, _______, RCTL(KC_ENT), KC_VOLU, \
_______, RGB_RMOD,RGB_VAD, RGB_MOD, RGB_HUD, TG(_GL), TG(_UL), _______, _______, AD_LOCK, _______, _______, RCTL(KC_ENT), KC_VOLU, \
_______, RGB_TOG, _______, _______, _______, MD_BOOT, NK_TOGG, DBG_TOG, _______, _______, RCTL(KC_SLSH), _______, KC_PGUP, KC_VOLD, \
KC_NLCK, _______, _______, KC_MEDIA_PLAY_PAUSE, _______, MO(_FL), RCTL(KC_LEFT), KC_PGDN, RCTL(KC_RGHT) \
),
[_FUNCTION2_LAYER] = LAYOUT_65_ansi_blocker(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
MO(_F2), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, AD_MOUS, _______, _______, _______, _______, _______ \
),
[_WIN_LAYER] = LAYOUT_65_ansi_blocker(
KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
_______, _______, _______, _______, _______, TG(_TT), _______, _______, _______, _______, _______, _______, _______, _______, _______, \
@ -156,6 +166,7 @@ void keyboard_post_init_user(void) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
static uint32_t key_timer;
static bool gui_disable_tap;
bool had_shift = MODS_SHIFT;
// Enable / disable WIN_LAYER
if (keycode == AD_WIND) {
@ -232,6 +243,32 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
unregister_code(KC_LSHIFT);
return false;
case AD_MOUS:
if (!record -> event.pressed) return false;
enable_mouse_wiggle = !enable_mouse_wiggle;
return false;
case AD_LOCK:
if (record -> event.pressed) {
// Lock device
if (had_shift) {
unregister_code(KC_RSHIFT);
}
register_code(KC_LGUI);
tap_code(KC_L);
unregister_code(KC_LGUI);
if (had_shift) {
register_code(KC_RSHIFT);
}
} else {
if (had_shift) {
layer_on(_TALI_LAYER);
}
}
return false;
// Pomodoro new, play / payse
case ADP_NEW:
if (!record->event.pressed) return false;
@ -329,6 +366,9 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
void rgb_matrix_indicators_user(void) {
static uint32_t wiggle_timer;
static bool wiggle_left;
if (g_suspend_state || disable_layer_color ||
rgb_matrix_get_flags() == LED_FLAG_NONE ||
rgb_matrix_get_flags() == LED_FLAG_UNDERGLOW) {
@ -338,6 +378,25 @@ void rgb_matrix_indicators_user(void) {
set_layer_color(get_highest_layer(layer_state));
tick_pom();
if (enable_mouse_wiggle) {
hsv_matrix_set_color(61, (uint8_t[3]) C_TALI);
if (!wiggle_timer) {
wiggle_timer = timer_read32();
}
if (timer_elapsed32(wiggle_timer) > 1500) {
wiggle_timer = 0;
wiggle_left = !wiggle_left;
if (wiggle_left) {
tap_code(KC_MS_LEFT);
} else {
tap_code(KC_MS_RIGHT);
}
}
}
}
const uint16_t NUMPAD_CODES[] = {

@ -21,6 +21,7 @@ enum layout_names {
_UNB_W_LAY,
_UNB_W_LAY_2,
_FUNCTION_LAYER,
_FUNCTION2_LAYER,
_WIN_LAYER,
_TALI_LAYER,
_TALI_LAYER2,
@ -31,5 +32,6 @@ enum layout_names {
extern bool g_suspend_state;
bool disable_layer_color;
bool enable_mouse_wiggle;
void send_alt_code(int);

@ -5,7 +5,7 @@ BOOTMAGIC_ENABLE = no
# AUTO_SHIFT_ENABLE = yes # Auto Shift
NKRO_ENABLE = yes # USB Nkey Rollover
DYNAMIC_MACRO_ENABLE = no # Dynamic macro recording and play
MOUSEKEY_ENABLE = no # Enable mouse control keycodes. Increases firmware size.
MOUSEKEY_ENABLE = yes # Enable mouse control keycodes. Increases firmware size.
TAP_DANCE_ENABLE = no # Enable tap dance keys
CONSOLE_ENABLE = no # Enable debugging console. Increases firmware size.
TERMINAL_ENABLE = no

Loading…
Cancel
Save