diff options
author | Joel Challis <git@zvecr.com> | 2023-11-26 18:36:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-27 05:36:45 +1100 |
commit | 1ed03f498fa204178c2696c510ac6a2cd8524e2d (patch) | |
tree | b97c1f983b7e4b57c007d0feedadd3ad3e39062b /users/drashna/pointing | |
parent | 4908d4b1ca260efecf3613e6517aa3a6f2034876 (diff) |
Remove userspace keymaps (#22544)
Diffstat (limited to 'users/drashna/pointing')
-rw-r--r-- | users/drashna/pointing/pointing.c | 118 | ||||
-rw-r--r-- | users/drashna/pointing/pointing.h | 11 | ||||
-rw-r--r-- | users/drashna/pointing/pointing_config.h | 6 | ||||
-rw-r--r-- | users/drashna/pointing/readme.md | 19 |
4 files changed, 0 insertions, 154 deletions
diff --git a/users/drashna/pointing/pointing.c b/users/drashna/pointing/pointing.c deleted file mode 100644 index 82cc5a3aa6..0000000000 --- a/users/drashna/pointing/pointing.c +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "pointing.h" -#include "math.h" - -static uint16_t mouse_debounce_timer = 0; -bool enable_acceleration = false; - -#ifdef TAPPING_TERM_PER_KEY -# define TAP_CHECK get_tapping_term(KC_BTN1, NULL) -#else -# ifndef TAPPING_TERM -# define TAPPING_TERM 200 -# endif -# define TAP_CHECK TAPPING_TERM -#endif - -__attribute__((weak)) void pointing_device_init_keymap(void) {} - -void pointing_device_init_user(void) { - set_auto_mouse_layer(_MOUSE); - set_auto_mouse_enable(true); - - pointing_device_init_keymap(); -} - -__attribute__((weak)) report_mouse_t pointing_device_task_keymap(report_mouse_t mouse_report) { - return mouse_report; -} - -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - mouse_xy_report_t x = mouse_report.x, y = mouse_report.y; - mouse_report.x = 0; - mouse_report.y = 0; - - if (x != 0 && y != 0 && (timer_elapsed(mouse_debounce_timer) > TAP_CHECK)) { - if (enable_acceleration) { - float magnitude = sqrtf( mouse_report.x * mouse_report.x + mouse_report.y * mouse_report.y ); - float adjusted_magnitude = powf(magnitude, 1.2f); - x = (mouse_xy_report_t)(x * adjusted_magnitude); - y = (mouse_xy_report_t)(y * adjusted_magnitude); -// x = (mouse_xy_report_t)(x > 0 ? x * x / 16 + x : -x * x / 16 + x); -// y = (mouse_xy_report_t)(y > 0 ? y * y / 16 + y : -y * y / 16 + y); - } - mouse_report.x = x; - mouse_report.y = y; - } - - return pointing_device_task_keymap(mouse_report); -} - -bool process_record_pointing(uint16_t keycode, keyrecord_t* record) { - switch (keycode) { - case KC_ACCEL: - enable_acceleration = record->event.pressed; - break; -#if defined(POINTING_DEVICE_MOUSE_JIGGLER_ENABLE) - case PD_JIGGLER: - if (record->event.pressed) { - pointing_device_mouse_jiggler_toggle(); - } -#endif - default: - mouse_debounce_timer = timer_read(); - break; - } - return true; -} - -layer_state_t layer_state_set_pointing(layer_state_t state) { - if (layer_state_cmp(state, _GAMEPAD) || layer_state_cmp(state, _DIABLO) || layer_state_cmp(state, _DIABLOII)) { - state |= ((layer_state_t)1 << _MOUSE); - set_auto_mouse_enable(false); // auto mouse can be disabled any time during run time - } else { - set_auto_mouse_enable(true); - } - return state; -} - -#if defined(POINTING_DEVICE_MOUSE_JIGGLER_ENABLE) -static uint16_t mouse_jiggler_timer; - -bool has_mouse_report_changed(report_mouse_t* new_report, report_mouse_t* old_report) { - // Only report every 5 seconds. - if (userspace_config.mouse_jiggler && timer_elapsed(mouse_jiggler_timer) > 5000) { - mouse_jiggler_timer = timer_read(); - return true; - } - return memcmp(new_report, old_report, sizeof(report_mouse_t)); -} - -void pointing_device_mouse_jiggler_toggle(void) { - mouse_jiggler_timer = timer_read(); - userspace_config.mouse_jiggler = !userspace_config.mouse_jiggler; -} - -#endif - -#if defined(POINTING_DEVICE_AUTO_MOUSE_ENABLE) -__attribute__((weak)) bool is_mouse_record_keymap(uint16_t keycode, keyrecord_t *record) { return false; } - -bool is_mouse_record_user(uint16_t keycode, keyrecord_t* record) { - if (is_mouse_record_keymap(keycode, record)) { - return true; - } - switch (keycode) { -# if defined(KEYBOARD_ploopy) - case DPI_CONFIG: -# elif (defined(KEYBOARD_bastardkb_charybdis) || defined(KEYBOARD_handwired_tractyl_manuform)) && !defined(NO_CHARYBDIS_KEYCODES) || (defined(KEYBOARD_bastardkb_dilemma) && !defined(NO_DILEMMA_KEYCODES)) - case QK_KB ... QK_KB_MAX: -# endif - case KC_ACCEL: - return true; - } - return false; -} -#endif diff --git a/users/drashna/pointing/pointing.h b/users/drashna/pointing/pointing.h deleted file mode 100644 index c97ce5b2db..0000000000 --- a/users/drashna/pointing/pointing.h +++ /dev/null @@ -1,11 +0,0 @@ -// Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> -// SPDX-License-Identifier: GPL-2.0-or-later - -#include "drashna.h" - -void pointing_device_init_keymap(void); -report_mouse_t pointing_device_task_keymap(report_mouse_t mouse_report); -void matrix_scan_pointing(void); -bool process_record_pointing(uint16_t keycode, keyrecord_t* record); -layer_state_t layer_state_set_pointing(layer_state_t state); -void pointing_device_mouse_jiggler_toggle(void); diff --git a/users/drashna/pointing/pointing_config.h b/users/drashna/pointing/pointing_config.h deleted file mode 100644 index 50c29ede85..0000000000 --- a/users/drashna/pointing/pointing_config.h +++ /dev/null @@ -1,6 +0,0 @@ -// Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> -// SPDX-License-Identifier: GPL-2.0-or-later - -#pragma once - -#define POINTING_DEVICE_MODES_ENABLE diff --git a/users/drashna/pointing/readme.md b/users/drashna/pointing/readme.md deleted file mode 100644 index 7770755050..0000000000 --- a/users/drashna/pointing/readme.md +++ /dev/null @@ -1,19 +0,0 @@ -# User Pointing Device customization - -To disable the customized pointing device code and implement it at the keymap, add `CUSTOM_POINTING_DEVICE = no` to your `rules.mk`. - -## Automatic Mouse Layer - -Movement on the optical sensor triggers a layer that has all of the mouse keys on that layer. After a set time, the layer will automatically turn itself off after 650ms. - -Also, using mousekeys will extend the amount of time that the layer will stay active. - -Additionally, layer keys for the mouse layer will lock the layer on. - -## Gaming - -When the gamepad or diablo layers are enabled, the mouse layer is locked on, as well. - -## Keycodes - -The only custom keycode for Pointing devices here is `KC_ACCEL`. This allow the mouse report to have an acceleration curve (exponential). |