Added Host State Auto Mouse

- added mouse layer to userspace
- Ploopy Nano now turns on num lock when pointer is moved
- When the keyboard detects num lock it turns the mouse layer on
- cleaned up unused key overrides and combos
- Rules.mk was redone to drastically reduce memory footprint
- merged all config files into the main one
- made a clever way to have two _user functions in the userspace
- revised drag scroll bind for comfort
- removed dpi toggle functionality for nano for now. Need to find way to
add it back
This commit is contained in:
Victor 2024-06-24 23:56:41 -05:00
parent 1f8602a49c
commit 169f363763
Failed to generate hash of commit
25 changed files with 309 additions and 486 deletions

View file

@ -1,5 +1,5 @@
# override userspace defaults # override userspace defaults
HOST_STATE_AUTO_MOUSE = no
# override keyboard defaults # override keyboard defaults
# keyboards\bastardkb\info.json # keyboards\bastardkb\info.json

View file

@ -41,6 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_NAVIGATION] = SWOOP(LAYER_NAVIGATION), [_NAVIGATION] = SWOOP(LAYER_NAVIGATION),
[_NUMBER] = SWOOP(LAYER_NUMBER), [_NUMBER] = SWOOP(LAYER_NUMBER),
[_SYMBOL] = SWOOP(LAYER_SYMBOL), [_SYMBOL] = SWOOP(LAYER_SYMBOL),
[_MOUSE] = SWOOP(LAYER_MOUSE),
[_CONFIG] = SWOOP(LAYER_CONFIG) [_CONFIG] = SWOOP(LAYER_CONFIG)
}; };
@ -57,6 +58,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) }, [_NAVIGATION] = { ENCODER_CCW_CW(ZOOMOUT, ZOOMIN), ENCODER_CCW_CW(___x___, ___x___) },
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) }, [_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(KC_LEFT, KC_RGHT) },
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) }, [_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
[_MOUSE] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) } [_CONFIG] = { ENCODER_CCW_CW(RBSELYR, BASELYR), ENCODER_CCW_CW(TR_RRMD, TR_RMOD) }
}; };

View file

@ -15,10 +15,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#pragma once #pragma once
#define PLOOPY_HOST_LED_CONTROL #define NO_ACTION_ONESHOT
#define PLOOPY_DRAGSCROLL_INVERT #define PLOOPY_DRAGSCROLL_INVERT
#define PLOOPY_DRAGSCROLL_DIVISOR_H 25.0 #define PLOOPY_DRAGSCROLL_DIVISOR_H 25.0
#define PLOOPY_DRAGSCROLL_DIVISOR_V 20.0 #define PLOOPY_DRAGSCROLL_DIVISOR_V 20.0
#define PLOOPY_DPI_OPTIONS { 300, 550, 800, 1200 } #define PLOOPY_DPI_OPTIONS { 300, 550, 800, 1200 }
#define PLOOPY_DPI_DEFAULT 2 #define PLOOPY_DPI_DEFAULT 2
#define POINTING_DEVICE_AUTO_MOUSE_ENABLE
#define AUTO_MOUSE_DEFAULT_LAYER 1

View file

@ -15,7 +15,14 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "t4corun.h" #include "t4corun.h"
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}}; //const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {{{ KC_NO }}};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( KC_NO ),
[1] = LAYOUT( KC_NO )
};
static bool num_lock_state = false; static bool num_lock_state = false;
static bool scroll_lock_state = false; static bool scroll_lock_state = false;
@ -27,20 +34,43 @@ void keyboard_post_init_user(void) {
} }
void pointing_device_init_user(void) {
set_auto_mouse_enable(true);
}
layer_state_t layer_state_set_user(layer_state_t state) {
switch(get_highest_layer(state)) {
case 1:
if(!host_keyboard_led_state().num_lock) {
tap_code16(KC_NUM);
}
break;
default:
if(host_keyboard_led_state().num_lock) {
tap_code16(KC_NUM);
}
break;
}
return state;
}
bool led_update_user(led_t led_state) { bool led_update_user(led_t led_state) {
// when scroll lock is pressed, toggle drag scroll state // when scroll lock is pressed, toggle drag scroll state
if ( scroll_lock_state != led_state.scroll_lock ) { if ( scroll_lock_state != led_state.scroll_lock ) {
toggle_drag_scroll(); toggle_drag_scroll();
auto_mouse_reset_trigger(true);
scroll_lock_state = led_state.scroll_lock; scroll_lock_state = led_state.scroll_lock;
} }
/*
// when num lock is pressed, cycle dpi // when num lock is pressed, cycle dpi
if ( num_lock_state != led_state.num_lock ) { if ( num_lock_state != led_state.num_lock ) {
cycle_dpi(); cycle_dpi();
num_lock_state = led_state.num_lock; num_lock_state = led_state.num_lock;
} }
*/
// when all three are enabled, go to bootloader // when all three are enabled, go to bootloader
if ( led_state.num_lock && led_state.caps_lock && led_state.scroll_lock ) { if ( led_state.num_lock && led_state.caps_lock && led_state.scroll_lock ) {
reset_keyboard(); reset_keyboard();

View file

@ -7,6 +7,7 @@ CAPS_WORD_ENABLE = no
MOUSEKEY_ENABLE = no MOUSEKEY_ENABLE = no
COMBO_ENABLE = no COMBO_ENABLE = no
KEY_OVERRIDE_ENABLE = no KEY_OVERRIDE_ENABLE = no
HOST_STATE_AUTO_MOUSE = no
# override keyboard defaults # override keyboard defaults
# keyboards\ploopyco\trackball_nano\info.json # keyboards\ploopyco\trackball_nano\info.json

View file

@ -7,7 +7,6 @@
* Pattern * Pattern
* - This will hold config for features we force to be on * - This will hold config for features we force to be on
* - bring in additional configuration for features that can be enabled/disabled * - bring in additional configuration for features that can be enabled/disabled
* - clear and reset the setting
*/ */
#pragma once #pragma once
@ -16,46 +15,166 @@
#undef LOCKING_SUPPORT_ENABLE #undef LOCKING_SUPPORT_ENABLE
#undef LOCKING_RESYNC_ENABLE #undef LOCKING_RESYNC_ENABLE
//Clear variables we plan to use that might be set elsewhere
#undef USB_POLLING_INTERVAL_MS
#undef LAYER_STATE_8BIT
//Set common configuration for all keyboards //Set common configuration for all keyboards
#define USB_POLLING_INTERVAL_MS 1 #define USB_POLLING_INTERVAL_MS 1
#define LAYER_STATE_8BIT #define LAYER_STATE_8BIT
#include "config/tapping_config.h" /* Tapping, Oneshot
* https://docs.qmk.fm/tap_hold
* https://docs.qmk.fm/one_shot_keys
*/
#define TAP_CODE_DELAY 5 //time before tap is released
#define TAP_HOLD_CAPS_DELAY TAP_CODE_DELAY //turning down delay for caps lock so ploopy can do DPI switching
#define WAIT_DELAY 5 //custom variable to configure time between taps
#define TAPPING_TERM 175
#define QUICK_TAP_TERM 120
#define ONESHOT_TAP_TOGGLE 3
#define ONESHOT_TIMEOUT 2000
/* Caps Word
* https://docs.qmk.fm/features/caps_word
*
* Explore these
* #undef BOTH_SHIFTS_TURNS_ON_CAPS_WORD
* #undef CAPS_WORD_INVERT_ON_SHIFT
*/
#if defined(CAPS_WORD_ENABLE) #if defined(CAPS_WORD_ENABLE)
# include "config/capsword_config.h" # define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
#endif # define CAPS_WORD_IDLE_TIMEOUT 2000
#endif //CAPS_WORD_ENABLE
#if defined(RGB_MATRIX_ENABLE)
# include "config/rgbmatrix_config.h"
#endif
#if defined(MOUSEKEY_ENABLE)
# include "config/mouse_config.h"
#endif
/* Combos
* https://docs.qmk.fm/features/combo
*/
#if defined(COMBO_ENABLE) #if defined(COMBO_ENABLE)
# include "config/combo_config.h" # define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout
#endif # define EXTRA_SHORT_COMBOS
# define COMBO_TERM 35
# define COMBO_MUST_TAP_PER_COMBO
# define COMBO_SHOULD_TRIGGER
#endif //COMBO_ENABLE
/* Split keyboard
* https://docs.qmk.fm/features/split_keyboard
*/
#if defined(SPLIT_KEYBOARD) #if defined(SPLIT_KEYBOARD)
# include "config/split_config.h" # define SPLIT_TRANSPORT_MIRROR
#endif # define SPLIT_LAYER_STATE_ENABLE
# define SPLIT_LED_STATE_ENABLE
# define SPLIT_MODS_ENABLE
# define SPLIT_OLED_ENABLE
# define SPLIT_ACTIVITY_ENABLE
# define SPLIT_WPM_ENABLE
# define MASTER_RIGHT
#endif //SPLIT_KEYBOARD
/* OLED
* https://docs.qmk.fm/features/oled_driver
*/
#if defined(OLED_ENABLE) #if defined(OLED_ENABLE)
# include "config/oled_config.h" # define OLED_TIMEOUT 60000 //1 min
#endif # define OLED_FONT_H "./lib/font.c"
#endif //OLED_ENABLE
/* Haptic Feedback
* https://docs.qmk.fm/features/haptic_feedback
*/
#if defined(HAPTIC_ENABLE) #if defined(HAPTIC_ENABLE)
# include "config/haptic_config.h" # if defined(HAPTIC_DRV2605L)
#endif # define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100
# define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100
# endif //HAPTIC_DRV2605L
#endif //HAPTIC_ENABLE
/* Audio
* https://docs.qmk.fm/features/audio
* https://docs.qmk.fm/squeezing_avr#audio-settings
*/
#if defined(AUDIO_ENABLE) #if defined(AUDIO_ENABLE)
# include "config/audio_config.h" # define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0)
#endif # define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1)
# define NO_MUSIC_MODE
# define AUDIO_CLICKY
# define STARTUP_SONG SONG(KLOR_SOUND)
# define GOODBYE_SONG SONG(BYE_SOUND)
# define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND) \
,SONG(COLEMAK_SOUND) \
,SONG(GUITAR_SOUND) \
}
#endif //AUDIO_ENABLE
/* RGB Matrix
* https://docs.qmk.fm/features/rgb_matrix
*/
#if defined(RGB_MATRIX_ENABLE)
# define RGB_MATRIX_SLEEP
# define RGB_MATRIX_TIMEOUT 60000 //1 min
# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
# define RGB_MATRIX_DEFAULT_HUE 4
# define RGB_MATRIX_DEFAULT_SAT 79
# define RGB_MATRIX_DEFAULT_VAL 59
# define RGB_MATRIX_DEFAULT_SPD 32
# if defined(KEYBOARD_bastardkb_charybdis_3x5) \
|| defined(KEYBOARD_dztech_dz60rgb_v2_1) \
|| defined(KEYBOARD_bluebell_swoop) \
|| defined(KEYBOARD_klor_2040)
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
//enable minimal effects to save memory
# else
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING
# endif //KEYBOARD_bastardkb_charybdis_3x5...
//heatmap specific settings
# if defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP)
# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 9 //default 25
# define RGB_MATRIX_TYPING_HEATMAP_SPREAD 40 //40
# define RGB_MATRIX_TYPING_HEATMAP_AREA_LIMIT 16 //16
# define RGB_MATRIX_TYPING_HEATMAP_INCREASE_STEP 20 //32
# endif //ENABLE_RGB_MATRIX_TYPING_HEATMAP
#endif //RGB_MATRIX_ENABLE

View file

@ -1,30 +0,0 @@
#pragma once
/* Audio
*
* https://docs.qmk.fm/#/feature_audio
* https://docs.qmk.fm/#/squeezing_avr?id=audio-settings
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef NO_MUSIC_MODE
#undef AUDIO_CLICKY
#undef STARTUP_SONG
#undef GOODBYE_SONG
#undef DEFAULT_LAYER_SONGS
#undef KLOR_SOUND
//Set common configuration for all keyboards
#define KLOR_SOUND W__NOTE(_DS0), W__NOTE(_DS1), H__NOTE(_DS2), H__NOTE(_DS3), Q__NOTE(_DS4), Q__NOTE(_DS5), E__NOTE(_DS6), E__NOTE(_DS7), S__NOTE(_DS8), Q__NOTE(_GS0)
#define BYE_SOUND H__NOTE(_DS4), H__NOTE(_DS3), W__NOTE(_DS1)
#define NO_MUSIC_MODE
#define AUDIO_CLICKY
#define STARTUP_SONG SONG(KLOR_SOUND)
#define GOODBYE_SONG SONG(BYE_SOUND)
#define DEFAULT_LAYER_SONGS \
{ SONG(QWERTY_SOUND) \
,SONG(COLEMAK_SOUND) \
,SONG(GUITAR_SOUND) \
}

View file

@ -1,20 +0,0 @@
#pragma once
/* Caps Word
*
* https://docs.qmk.fm/#/feature_caps_word
*
* Explore these
* #undef BOTH_SHIFTS_TURNS_ON_CAPS_WORD
* #undef CAPS_WORD_INVERT_ON_SHIFT
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
#undef CAPS_WORD_IDLE_TIMEOUT
//Set common configuration for all keyboards
#define DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD
#define CAPS_WORD_IDLE_TIMEOUT 2000

View file

@ -1,26 +0,0 @@
#pragma once
/* Combos
*
* https://docs.qmk.fm/#/feature_combo
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef COMBO_ONLY_FROM_LAYER
#undef EXTRA_SHORT_COMBOS
#undef COMBO_TERM
#undef COMBO_MUST_TAP_PER_COMBO
#undef COMBO_SHOULD_TRIGGER
//Set common configuration for all keyboards
#define COMBO_ONLY_FROM_LAYER 0 //this will always setup combos based off of QWERTY layout
#define EXTRA_SHORT_COMBOS
#define COMBO_TERM 35
#define COMBO_MUST_TAP_PER_COMBO
#define COMBO_SHOULD_TRIGGER

View file

@ -1,17 +0,0 @@
#pragma once
/* Haptic Feedback
*
* https://docs.qmk.fm/#/feature_haptic_feedback
*
*/
#if defined(HAPTIC_DRV2605L)
//Clear variables we plan to use that might be set elsewhere
# undef DRV2605L_GREETING
# undef DRV2605L_DEFAULT_MODE
//Set common configuration for all keyboards
# define DRV2605L_GREETING DRV2605L_EFFECT_750_MS_ALERT_100
# define DRV2605L_DEFAULT_MODE DRV2605L_EFFECT_STRONG_CLICK_1_100
#endif //HAPTIC_DRV2605L

View file

@ -1,33 +0,0 @@
#pragma once
/* Mouse Key
*
* https://docs.qmk.fm/#/feature_mouse_keys
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef MOUSEKEY_DELAY
#undef MOUSEKEY_INTERVAL
#undef MOUSEKEY_MOVE_DELTA
#undef MOUSEKEY_MAX_SPEED
#undef MOUSEKEY_TIME_TO_MAX
#undef MOUSEKEY_WHEEL_DELAY
#undef MOUSEKEY_WHEEL_INTERVAL
#undef MOUSEKEY_WHEEL_DELTA
#undef MOUSEKEY_WHEEL_MAX_SPEED
#undef MOUSEKEY_WHEEL_TIME_TO_MAX
//Set common configuration for all keyboards
#define MOUSEKEY_DELAY 20
#define MOUSEKEY_INTERVAL 12
#define MOUSEKEY_MOVE_DELTA 8
#define MOUSEKEY_MAX_SPEED 6
#define MOUSEKEY_TIME_TO_MAX 50
#define MOUSEKEY_WHEEL_DELAY 10
#define MOUSEKEY_WHEEL_INTERVAL 80
#define MOUSEKEY_WHEEL_DELTA 2
#define MOUSEKEY_WHEEL_MAX_SPEED 8
#define MOUSEKEY_WHEEL_TIME_TO_MAX 40

View file

@ -1,15 +0,0 @@
#pragma once
/* OLED
*
* https://docs.qmk.fm/#/feature_oled_driver
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef OLED_TIMEOUT
#undef OLED_FONT_H
//Set common configuration for all keyboards
#define OLED_TIMEOUT 60000 //1 min
#define OLED_FONT_H "./lib/font.c"

View file

@ -1,179 +0,0 @@
#pragma once
/* RGB Matrix
*
* https://docs.qmk.fm/#/feature_rgb_matrix
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef RGB_MATRIX_SLEEP
#undef RGB_MATRIX_TIMEOUT
#undef RGB_MATRIX_DEFAULT_MODE
#undef RGB_MATRIX_MAXIMUM_BRIGHTNESS
#undef RGB_MATRIX_DEFAULT_HUE
#undef RGB_MATRIX_DEFAULT_SAT
#undef RGB_MATRIX_DEFAULT_VAL
#undef RGB_MATRIX_DEFAULT_SPD
#undef RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS
#undef RGB_MATRIX_TYPING_HEATMAP_SPREAD
#undef RGB_MATRIX_TYPING_HEATMAP_AREA_LIMIT
#undef RGB_MATRIX_TYPING_HEATMAP_INCREASE_STEP
// For full list of effects, see:
// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effects
#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_BREATHING
#undef ENABLE_RGB_MATRIX_BAND_SAT
#undef ENABLE_RGB_MATRIX_BAND_VAL
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#undef ENABLE_RGB_MATRIX_CYCLE_ALL
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING
#undef ENABLE_RGB_MATRIX_RAINDROPS
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_HUE_BREATHING
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
#undef ENABLE_RGB_MATRIX_HUE_WAVE
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
#undef ENABLE_RGB_MATRIX_STARLIGHT
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT
#undef ENABLE_RGB_MATRIX_RIVERFLOW
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#undef ENABLE_RGB_MATRIX_SPLASH
#undef ENABLE_RGB_MATRIX_MULTISPLASH
#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
#undef ENABLE_RGB_MATRIX_ALPHAS_MODS
#undef ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_BREATHING
#undef ENABLE_RGB_MATRIX_BAND_SAT
#undef ENABLE_RGB_MATRIX_BAND_VAL
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
#undef ENABLE_RGB_MATRIX_CYCLE_ALL
#undef ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
#undef ENABLE_RGB_MATRIX_DUAL_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
#undef ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
#undef ENABLE_RGB_MATRIX_FLOWER_BLOOMING
#undef ENABLE_RGB_MATRIX_RAINDROPS
#undef ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
#undef ENABLE_RGB_MATRIX_HUE_BREATHING
#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
#undef ENABLE_RGB_MATRIX_HUE_WAVE
#undef ENABLE_RGB_MATRIX_PIXEL_FRACTAL
#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
#undef ENABLE_RGB_MATRIX_PIXEL_RAIN
#undef ENABLE_RGB_MATRIX_STARLIGHT
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_HUE
#undef ENABLE_RGB_MATRIX_STARLIGHT_DUAL_SAT
#undef ENABLE_RGB_MATRIX_RIVERFLOW
#undef ENABLE_RGB_MATRIX_TYPING_HEATMAP
#undef ENABLE_RGB_MATRIX_DIGITAL_RAIN
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
#undef ENABLE_RGB_MATRIX_SPLASH
#undef ENABLE_RGB_MATRIX_MULTISPLASH
#undef ENABLE_RGB_MATRIX_SOLID_SPLASH
#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
//Set common configuration for all keyboards
#define RGB_MATRIX_SLEEP
#define RGB_MATRIX_TIMEOUT 60000 //1 min
#define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150
#define RGB_MATRIX_DEFAULT_HUE 4
#define RGB_MATRIX_DEFAULT_SAT 79
#define RGB_MATRIX_DEFAULT_VAL 59
#define RGB_MATRIX_DEFAULT_SPD 32
//Set per keyboard configuration
#if defined(KEYBOARD_bastardkb_charybdis_3x5) \
|| defined(KEYBOARD_dztech_dz60rgb_v2_1) \
|| defined(KEYBOARD_bluebell_swoop) \
|| defined(KEYBOARD_klor_2040)
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
# define ENABLE_RGB_MATRIX_DUAL_BEACON
# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
# define ENABLE_RGB_MATRIX_HUE_BREATHING
# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
# define ENABLE_RGB_MATRIX_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_TYPING_HEATMAP
//enable minimal effects to save memory
#else
# define ENABLE_RGB_MATRIX_BREATHING
# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
# define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_BREATHING
#endif //KEYBOARD_bastardkb_charybdis_3x5...
//heatmap specific settings
#if defined(ENABLE_RGB_MATRIX_TYPING_HEATMAP)
# define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 9 //default 25
# define RGB_MATRIX_TYPING_HEATMAP_SPREAD 40 //40
# define RGB_MATRIX_TYPING_HEATMAP_AREA_LIMIT 16 //16
# define RGB_MATRIX_TYPING_HEATMAP_INCREASE_STEP 20 //32
#endif //ENABLE_RGB_MATRIX_TYPING_HEATMAP

View file

@ -1,28 +0,0 @@
#pragma once
/* Split keyboard
*
* https://docs.qmk.fm/#/feature_split_keyboard
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef SPLIT_TRANSPORT_MIRROR
#undef SPLIT_LAYER_STATE_ENABLE
#undef SPLIT_LED_STATE_ENABLE
#undef SPLIT_MODS_ENABLE
#undef SPLIT_OLED_ENABLE
#undef SPLIT_ACTIVITY_ENABLE
#undef SPLIT_USB_DETECT
#undef SPLIT_WPM_ENABLE
//Set common configuration for all keyboards
#define SPLIT_TRANSPORT_MIRROR
#define SPLIT_LAYER_STATE_ENABLE
#define SPLIT_LED_STATE_ENABLE
#define SPLIT_MODS_ENABLE
#define SPLIT_OLED_ENABLE
#define SPLIT_ACTIVITY_ENABLE
#define SPLIT_WPM_ENABLE
#define MASTER_RIGHT

View file

@ -1,33 +0,0 @@
#pragma once
/* Tapping, Oneshot
*
* https://docs.qmk.fm/#/tap_hold
* https://docs.qmk.fm/#/one_shot_keys
*
*/
//Clear variables we plan to use that might be set elsewhere
#undef TAP_CODE_DELAY
#undef TAP_HOLD_CAPS_DELAY
#undef TAPPING_TERM
#undef QUICK_TAP_TERM
#undef ONESHOT_TAP_TOGGLE
#undef ONESHOT_TIMEOUT
//Set common configuration for all keyboards
#define TAP_CODE_DELAY 5 //time before tap is released
#define TAP_HOLD_CAPS_DELAY TAP_CODE_DELAY //turning down delay for caps lock so ploopy can do DPI switching
#define WAIT_DELAY 5 //custom variable to configure time between taps
#define TAPPING_TERM 175
#define QUICK_TAP_TERM 120
#define ONESHOT_TAP_TOGGLE 3
#define ONESHOT_TIMEOUT 2000

View file

@ -29,14 +29,17 @@ bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode
switch (combo_index) { switch (combo_index) {
case MOUSE_BUTTON1: // case MOUSE_BUTTON1:
// case MOUSE_BUTTON2: // case MOUSE_BUTTON2:
// case MOUSE_BUTTON3: // case MOUSE_BUTTON3:
// case MOUSE_BUTTON4: // case MOUSE_BUTTON4:
// case MOUSE_BUTTON5: // case MOUSE_BUTTON5:
case MOUSE_DRGTOG: case MOUSE_DRGTOG:
if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) return false; if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER )
&& ( get_highest_layer(layer_state | default_layer_state) != _MOUSE )) {
return false;
}
default: default:
return true; return true;

View file

@ -2,12 +2,12 @@
#include "t4corun.h" #include "t4corun.h"
const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END }; //const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END };
//const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END }; //const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END };
//const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END }; //const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END };
//const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END }; //const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END };
//const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END }; //const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END };
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_C, COMBO_END }; const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_V, COMBO_END };
const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, COMBO_END }; const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, COMBO_END };
@ -16,7 +16,7 @@ const uint16_t PROGMEM key_tab_combo[] = { KC_J, KC_K, COMBO_END };
enum combos { enum combos {
MOUSE_BUTTON1, // MOUSE_BUTTON1,
// MOUSE_BUTTON2, // MOUSE_BUTTON2,
// MOUSE_BUTTON3, // MOUSE_BUTTON3,
// MOUSE_BUTTON4, // MOUSE_BUTTON4,
@ -34,7 +34,7 @@ uint16_t COMBO_LEN = COMBO_LENGTH;
combo_t key_combos[COMBO_LENGTH] = { combo_t key_combos[COMBO_LENGTH] = {
[MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1), // [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
// [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2), // [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
// [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3), // [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3),
// [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4), // [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4),

View file

@ -0,0 +1,15 @@
#include "hoststateautomouse.h"
// keyboard side code to simulate auto mouse between ploopy nano and qmk keyboard
// nano pointer movement activates auto mouse layer, which toggles numlock
// when num lock is enabled, keyboard turns on mouse layer
bool led_update_user(led_t led_state) {
if(host_keyboard_led_state().num_lock) {
layer_on(_MOUSE);
} else if (!host_keyboard_led_state().num_lock) {
layer_off(_MOUSE);
}
return true;
}

View file

@ -0,0 +1,3 @@
#pragma once
#include "t4corun.h"

View file

@ -29,9 +29,6 @@ const key_override_t f10_override = ko_make_with_layers(MOD_MASK_CSA, K
const key_override_t f11_override = ko_make_with_layers(MOD_MASK_CSA, KC_DOT, KC_F11, 1<<_NUMBER); const key_override_t f11_override = ko_make_with_layers(MOD_MASK_CSA, KC_DOT, KC_F11, 1<<_NUMBER);
const key_override_t f12_override = ko_make_with_layers(MOD_MASK_CSA, KC_MINS, KC_F12, 1<<_NUMBER); const key_override_t f12_override = ko_make_with_layers(MOD_MASK_CSA, KC_MINS, KC_F12, 1<<_NUMBER);
const key_override_t mb2_override = ko_make_with_layers(MOD_MASK_CTRL, KC_BTN2, KC_BTN4, 1<<_NUMBER);
const key_override_t mb3_override = ko_make_with_layers(MOD_MASK_ALT, KC_BTN3, KC_BTN5, 1<<_NUMBER);
#if defined(HAPTIC_ENABLE) #if defined(HAPTIC_ENABLE)
const key_override_t hfnext_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HNXT, HF_PREV, 1<<_CONFIG); const key_override_t hfnext_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HNXT, HF_PREV, 1<<_CONFIG);
const key_override_t hfconu_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HCNU, HF_COND, 1<<_CONFIG); const key_override_t hfconu_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HCNU, HF_COND, 1<<_CONFIG);
@ -57,8 +54,6 @@ const key_override_t **key_overrides = (const key_override_t *[]) {
&f10_override, &f10_override,
&f11_override, &f11_override,
&f12_override, &f12_override,
&mb2_override,
&mb3_override,
#if defined(HAPTIC_ENABLE) #if defined(HAPTIC_ENABLE)
&hfnext_override, &hfnext_override,

View file

@ -42,9 +42,12 @@ void render_layer_state(uint8_t col, uint8_t line, bool moveCursor) {
case _SYMBOL: case _SYMBOL:
oled_write_P(PSTR(OLED_RENDER_LAYER_4), false); oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
break; break;
case _CONFIG: case _MOUSE:
oled_write_P(PSTR(OLED_RENDER_LAYER_5), false); oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
break; break;
case _CONFIG:
oled_write_P(PSTR(OLED_RENDER_LAYER_6), false);
break;
default: default:
oled_write_P(PSTR(OLED_RENDER_LAYER_1), false); oled_write_P(PSTR(OLED_RENDER_LAYER_1), false);
break; break;
@ -62,7 +65,8 @@ void render_layer_state_list(uint8_t col, uint8_t line, bool moveCursor) {
oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION); oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION);
oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER); oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER);
oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL); oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL);
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _CONFIG); oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE);
oled_write_P(PSTR(OLED_RENDER_LAYER_6), get_highest_layer(layer_state) == _CONFIG);
} }

View file

@ -11,7 +11,8 @@
# define OLED_RENDER_LAYER_2 "Navigation" # define OLED_RENDER_LAYER_2 "Navigation"
# define OLED_RENDER_LAYER_3 "Number " # define OLED_RENDER_LAYER_3 "Number "
# define OLED_RENDER_LAYER_4 "Symbol " # define OLED_RENDER_LAYER_4 "Symbol "
# define OLED_RENDER_LAYER_5 "Config " # define OLED_RENDER_LAYER_5 "Mouse "
# define OLED_RENDER_LAYER_6 "Config "
#else #else
//128x32 are ? x 5 char wide //128x32 are ? x 5 char wide
# define OLED_RENDER_DEFAULT_LAYER1 "Qwrty" # define OLED_RENDER_DEFAULT_LAYER1 "Qwrty"
@ -22,7 +23,8 @@
# define OLED_RENDER_LAYER_2 " Nav " # define OLED_RENDER_LAYER_2 " Nav "
# define OLED_RENDER_LAYER_3 " Num " # define OLED_RENDER_LAYER_3 " Num "
# define OLED_RENDER_LAYER_4 " Sym " # define OLED_RENDER_LAYER_4 " Sym "
# define OLED_RENDER_LAYER_5 " Cfg " # define OLED_RENDER_LAYER_5 " Mou "
# define OLED_RENDER_LAYER_6 " Cfg "
#endif #endif
void render_oled_128x64(void); void render_oled_128x64(void);

View file

@ -31,12 +31,14 @@ AUDIO_ENABLE ?= no
WPM_ENABLE ?= yes WPM_ENABLE ?= yes
# qmk features we will force as these are critical for my workflow # qmk features we will force as these are critical for my workflow
EXTRAKEY_ENABLE = yes EXTRAKEY_ENABLE ?= yes
CAPS_WORD_ENABLE = yes CAPS_WORD_ENABLE ?= yes
MOUSEKEY_ENABLE = yes MOUSEKEY_ENABLE ?= yes
COMBO_ENABLE = yes COMBO_ENABLE ?= yes
KEY_OVERRIDE_ENABLE = yes KEY_OVERRIDE_ENABLE ?= yes
# custom features
HOST_STATE_AUTO_MOUSE ?= yes #allows kb to enable mouse layer on Ploopy Nano movement
# --------------------------------------------------------- # ---------------------------------------------------------
# include my code that will be common across all my keyboards # include my code that will be common across all my keyboards
@ -44,13 +46,21 @@ KEY_OVERRIDE_ENABLE = yes
SRC += \ SRC += \
t4corun.c \ t4corun.c \
features/taphold.c \ features/taphold.c \
features/capsword.c \
features/keyoverride.c \
INTROSPECTION_KEYMAP_C += features/combo.c
# --------------------------------------------------------- # ---------------------------------------------------------
# include optional code for enabled features for each keyboard # include additional code for enabled features for each keyboard
ifeq ($(strip $(COMBO_ENABLE)), yes)
INTROSPECTION_KEYMAP_C += features/combo.c
endif
ifeq ($(strip $(KEY_OVERRIDE_ENABLE)), yes)
SRC += features/keyoverride.c
endif
ifeq ($(strip $(CAPS_WORD_ENABLE)), yes)
SRC += features/capsword.c
endif
ifeq ($(strip $(OLED_ENABLE)), yes) ifeq ($(strip $(OLED_ENABLE)), yes)
SRC += features/oled.c SRC += features/oled.c
@ -58,4 +68,8 @@ endif
ifeq ($(strip $(AUDIO_ENABLE)), yes) ifeq ($(strip $(AUDIO_ENABLE)), yes)
MUSIC_MODE = no MUSIC_MODE = no
endif
ifeq ($(strip $(HOST_STATE_AUTO_MOUSE)), yes)
SRC += features/hoststateautomouse.c
endif endif

View file

@ -18,8 +18,11 @@ void setLunaJumped(void) { showedJump = true;}
// Hold Navigation and Number to get Symbol // Hold Navigation and Number to get Symbol
layer_state_t layer_state_set_user(layer_state_t state) { return update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL); } #if !defined(KEYBOARD_ploopyco)
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL);
}
#endif
// Customize behavior for existing keycodes or create new ones // Customize behavior for existing keycodes or create new ones
bool process_record_user(uint16_t keycode, keyrecord_t *record) { bool process_record_user(uint16_t keycode, keyrecord_t *record) {
@ -50,6 +53,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} }
return false; return false;
/*
// makes num lock a hold instead of toggle // makes num lock a hold instead of toggle
// prevents accidental ploopy nano going into bootloader // prevents accidental ploopy nano going into bootloader
case KC_NUM: case KC_NUM:
@ -59,7 +63,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
tap_code(KC_NUM); tap_code(KC_NUM);
} }
return false; return false;
*/
case KC_SPC: case KC_SPC:
if (record->event.pressed) { if (record->event.pressed) {
isJumping = true; isJumping = true;

View file

@ -15,6 +15,7 @@ enum layers {
_NAVIGATION, _NAVIGATION,
_NUMBER, _NUMBER,
_SYMBOL, _SYMBOL,
_MOUSE,
_CONFIG _CONFIG
}; };
@ -55,8 +56,8 @@ enum keycodes {
#define ___x___ KC_NO #define ___x___ KC_NO
// momentary layer // momentary layer
#define NAV MO(_NAVIGATION) #define NAV MO(_NAVIGATION)
#define NUM MO(_NUMBER) #define NUM MO(_NUMBER)
#define CONFIG MO(_CONFIG) #define CONFIG MO(_CONFIG)
// Windows Shortcuts // Windows Shortcuts
@ -115,71 +116,71 @@ enum keycodes {
#if defined(KEYBOARD_bastardkb_charybdis_3x5) #if defined(KEYBOARD_bastardkb_charybdis_3x5)
//these mouse codes are defined in charybdis.h //these mouse codes are defined in charybdis.h
# define TR_SNIP SNIPING # define TR_SNIP SNIPING
# define TR_DRGS DRG_TOG # define TR_DRGS DRG_TOG
# define TR_SDPI S_D_MOD //sniping dpi # define TR_SDPI S_D_MOD //sniping dpi
# define TR_PDPI DPI_MOD //pointer dpi # define TR_PDPI DPI_MOD //pointer dpi
#else #else
# define TR_SNIP ___x___ # define TR_SNIP ___x___
# define TR_DRGS KC_SCRL //use host status for ploopy nano drag scroll # define TR_DRGS KC_SCRL //use host status for ploopy nano drag scroll
# define TR_SDPI ___x___ # define TR_SDPI ___x___
# define TR_PDPI KC_NUM //use host status for ploopy nano dpi switch # define TR_PDPI KC_NUM //use host status for ploopy nano dpi switch
#endif //KEYBOARD_bastardkb_charybdis_3x5 #endif //KEYBOARD_bastardkb_charybdis_3x5
#if defined(DYNAMIC_MACRO_ENABLE) #if defined(DYNAMIC_MACRO_ENABLE)
# define TR_DMR1 DM_REC1 # define TR_DMR1 DM_REC1
# define TR_DMP1 DM_PLY1 # define TR_DMP1 DM_PLY1
#else #else
# define TR_DMR1 ___x___ # define TR_DMR1 ___x___
# define TR_DMP1 ___x___ # define TR_DMP1 ___x___
#endif //DYNAMIC_MACRO_ENABLE #endif //DYNAMIC_MACRO_ENABLE
#if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE) #if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
# define TR_RHUI RGB_HUI # define TR_RHUI RGB_HUI
# define TR_RSAI RGB_SAI # define TR_RSAI RGB_SAI
# define TR_RVAI RGB_VAI # define TR_RVAI RGB_VAI
# define TR_RSPI RGB_SPI # define TR_RSPI RGB_SPI
# define TR_RTOG RGB_TOG # define TR_RTOG RGB_TOG
# define TR_RMOD RGB_MOD # define TR_RMOD RGB_MOD
# define TR_RRMD RGB_RMOD # define TR_RRMD RGB_RMOD
#else #else
# define TR_RHUI ___x___ # define TR_RHUI ___x___
# define TR_RSAI ___x___ # define TR_RSAI ___x___
# define TR_RVAI ___x___ # define TR_RVAI ___x___
# define TR_RSPI ___x___ # define TR_RSPI ___x___
# define TR_RTOG ___x___ # define TR_RTOG ___x___
# define TR_RMOD ___x___ # define TR_RMOD ___x___
# define TR_RRMD ___x___ # define TR_RRMD ___x___
#endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE #endif //RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE
#if defined(HAPTIC_ENABLE) #if defined(HAPTIC_ENABLE)
# define TR_HTOG HF_TOGG # define TR_HTOG HF_TOGG
# define TR_HFBK HF_FDBK # define TR_HFBK HF_FDBK
# define TR_HNXT HF_NEXT # define TR_HNXT HF_NEXT
# define TR_HCNU HF_CONU # define TR_HCNU HF_CONU
# define TR_HRST HF_RST # define TR_HRST HF_RST
#else #else
# define TR_HTOG ___x___ # define TR_HTOG ___x___
# define TR_HFBK ___x___ # define TR_HFBK ___x___
# define TR_HNXT ___x___ # define TR_HNXT ___x___
# define TR_HCNU ___x___ # define TR_HCNU ___x___
# define TR_HRST ___x___ # define TR_HRST ___x___
#endif //HAPTIC_ENABLe #endif //HAPTIC_ENABLe
#if defined(AUDIO_ENABLE) #if defined(AUDIO_ENABLE)
# define TR_ATOG AU_TOGG # define TR_ATOG AU_TOGG
# define TR_CTOG CK_TOGG # define TR_CTOG CK_TOGG
# define TR_CKUP CK_UP # define TR_CKUP CK_UP
# define TR_CRST CK_RST # define TR_CRST CK_RST
#else #else
# define TR_ATOG ___x___ # define TR_ATOG ___x___
# define TR_CTOG ___x___ # define TR_CTOG ___x___
# define TR_CKUP ___x___ # define TR_CKUP ___x___
# define TR_CRST ___x___ # define TR_CRST ___x___
#endif //AUDIO_ENABLE #endif //AUDIO_ENABLE
@ -225,7 +226,7 @@ enum keycodes {
#define LAYER_NUMBER \ #define LAYER_NUMBER \
KC_ESC, KC_BTN3, KC_BTN2, KC_BTN1, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \ KC_ESC, ___x___, ___x___, ___x___, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
_GACS_MODS________________________, TR_SCLN, KC_0, KC_4, KC_5, KC_6, KC_DOT, \ _GACS_MODS________________________, TR_SCLN, KC_0, KC_4, KC_5, KC_6, KC_DOT, \
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \ _UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
_LAYER_TRANS_____________, _BASE_R4_________________ _LAYER_TRANS_____________, _BASE_R4_________________
@ -238,6 +239,13 @@ enum keycodes {
_LAYER_TRANS_____________, _LAYER_TRANS_____________ _LAYER_TRANS_____________, _LAYER_TRANS_____________
#define LAYER_MOUSE \
___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, ___x___, \
_GACS_MODS________________________, KC_BTN3, ___x___, ___x___, ___x___, ___x___, ___x___, \
___x___, ___x___, ___x___, KC_BTN4, KC_BTN5, ___x___, ___x___, ___x___, ___x___, ___x___, \
___x___, KC_BTN1, KC_BTN2, ___x___, ___x___, ___x___
#define LAYER_CONFIG \ #define LAYER_CONFIG \
TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR, QK_BOOT, _______, \ TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR, QK_BOOT, _______, \
TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \ TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \