From 10fed13d0fdeba396158c1284fda1c035a209549 Mon Sep 17 00:00:00 2001 From: Victor Date: Tue, 14 May 2024 20:00:23 -0500 Subject: [PATCH] I think I fixed all the issues with klor basic keymap - Modernized Geist's repo - Converted to data driven json config, nearly emulating what geist had in default - still allowed Atmel and RP2040. Compiles for both - added default saegewerk and worked out haptic driver kinks - had to replace deprecated defines - Still testing and can't test everything - only have Saegewerk, not the other three layouts - only have RP2040 - Also missed soldering the encoder diodes - not going to test RGBlight - still need to add my keymap lol --- keyboards/klor/info.json | 1 + keyboards/klor/keymaps/default/keymap.c | 17 +- keyboards/klor/keymaps/geist/config.h | 97 --- keyboards/klor/keymaps/geist/keymap.c | 802 ---------------------- keyboards/klor/keymaps/geist/rules.mk | 17 - keyboards/klor/keymaps/saegewerk/keymap.c | 16 +- keyboards/klor/keymaps/saegewerk/rules.mk | 6 +- 7 files changed, 25 insertions(+), 931 deletions(-) delete mode 100644 keyboards/klor/keymaps/geist/config.h delete mode 100644 keyboards/klor/keymaps/geist/keymap.c delete mode 100644 keyboards/klor/keymaps/geist/rules.mk diff --git a/keyboards/klor/info.json b/keyboards/klor/info.json index 24e9b17d..14cd898c 100644 --- a/keyboards/klor/info.json +++ b/keyboards/klor/info.json @@ -25,6 +25,7 @@ "encoder": true, "extrakey": false, "grave_esc": false, + "haptic": false, "magic": false, "mousekey": false, "music": false, diff --git a/keyboards/klor/keymaps/default/keymap.c b/keyboards/klor/keymaps/default/keymap.c index bdb3b5df..b76d1b02 100644 --- a/keyboards/klor/keymaps/default/keymap.c +++ b/keyboards/klor/keymaps/default/keymap.c @@ -20,9 +20,12 @@ #include #include #include "klor.h" -//#ifdef HAPTIC_ENABLE -//#include "drivers/haptic/DRV2605L.h" -//#endif //HAPTIC ENABLE + +// this should be handled by common_rules.mk but the code doesn't work without it +#ifdef HAPTIC_ENABLE +#include "drivers/haptic/drv2605l.h" +#endif //HAPTIC ENABLE + // ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ @@ -616,7 +619,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #endif // AUDIO_ENABLE } #ifdef HAPTIC_ENABLE - DRV_pulse(pulsing_strong); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_STRONG_1_100); #endif // HAPTIC_ENABLE eeconfig_update_keymap(keymap_config.raw); clear_keyboard(); // ──── clear to prevent stuck keys @@ -632,7 +635,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { set_single_persistent_default_layer(_COLEMAK); #ifdef HAPTIC_ENABLE - DRV_pulse(transition_hum); + drv2605l_pulse(DRV2605L_EFFECT_TRANSITION_HUM_1_100); #endif // HAPTIC_ENABLE } return false; @@ -640,7 +643,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { set_single_persistent_default_layer(_QWERTY); #ifdef HAPTIC_ENABLE - DRV_pulse(transition_hum); + drv2605l_pulse(DRV2605L_EFFECT_TRANSITION_HUM_1_100); #endif // HAPTIC_ENABLE } return false; @@ -692,7 +695,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case KC_MPLY: if (record->event.pressed) { #ifdef HAPTIC_ENABLE - DRV_pulse(sharp_click); + drv2605l_pulse(DRV2605L_EFFECT_SHARP_CLICK_100); #endif // HAPTIC_ENABL } break; diff --git a/keyboards/klor/keymaps/geist/config.h b/keyboards/klor/keymaps/geist/config.h deleted file mode 100644 index 06c77177..00000000 --- a/keyboards/klor/keymaps/geist/config.h +++ /dev/null @@ -1,97 +0,0 @@ -#pragma once - -/* The way how "handedness" is decided (which half is which), -see https://docs.qmk.fm/#/feature_split_keyboard?id=setting-handedness -for more options. -*/ - -#define MASTER_LEFT -// #define MASTER_RIGHT - - -//#define TAPPING_TERM 170 -#define TAPPING_TERM 170 - -// Prevent normal rollover on alphas from accidentally triggering mods. -#define IGNORE_MOD_TAP_INTERRUPT - -// Enable rapid switch from tap to hold, disables double tap hold auto-repeat. -#define TAPPING_FORCE_HOLD - -// Auto Shift -#define NO_AUTO_SHIFT_ALPHA -#define AUTO_SHIFT_TIMEOUT TAPPING_TERM -#define AUTO_SHIFT_NO_SETUP - -#undef LOCKING_SUPPORT_ENABLE -#undef LOCKING_RESYNC_ENABLE -#define NO_ACTION_ONESHOT -//#define NO_ACTION_TAPPING -//#define NO_MUSIC_MODE - -#define COMBO_COUNT 1 - - -#ifdef POINTING_DEVICE_ENABLE -//# define POINTING_DEVICE_ROTATION_90 -# define SPLIT_POINTING_ENABLE -# define POINTING_DEVICE_RIGHT -# define POINTING_DEVICE_ROTATION_270 -#endif - -// RGB matrix support -#ifdef RGB_MATRIX_ENABLE -# define RGB_MATRIX_STARTUP_MODE RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -// RGB Matrix Animation modes. Explicitly enabled -// For full list of effects, see: -// https://docs.qmk.fm/#/feature_rgb_matrix?id=rgb-matrix-effect - -//# define ENABLE_RGB_MATRIX_ALPHAS_MODS -# define ENABLE_RGB_MATRIX_SOLID_COLOR -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE -# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN -# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_BREATHING -# define ENABLE_RGB_MATRIX_BAND_SAT -# define ENABLE_RGB_MATRIX_BAND_VAL -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT -# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL -# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT -# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL -# define ENABLE_RGB_MATRIX_CYCLE_ALL -# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT -# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN -# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON -# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN -//# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL -# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL -# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL -# define ENABLE_RGB_MATRIX_DUAL_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_BEACON -# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS -//# define ENABLE_RGB_MATRIX_RAINDROPS -//# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS -# define ENABLE_RGB_MATRIX_HUE_BREATHING -# define ENABLE_RGB_MATRIX_HUE_PENDULUM -# define ENABLE_RGB_MATRIX_HUE_WAVE -//# define ENABLE_RGB_MATRIX_PIXEL_RAIN -//# define ENABLE_RGB_MATRIX_PIXEL_FLOW -# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL -// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined ├─────────────────────────────┐ -# define ENABLE_RGB_MATRIX_TYPING_HEATMAP -//# define ENABLE_RGB_MATRIX_DIGITAL_RAIN -// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined ├────────────┐ -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS -//# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS -# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS -//# define ENABLE_RGB_MATRIX_SPLASH -# define ENABLE_RGB_MATRIX_MULTISPLASH -//# define ENABLE_RGB_MATRIX_SOLID_SPLASH -# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH -#endif - - diff --git a/keyboards/klor/keymaps/geist/keymap.c b/keyboards/klor/keymaps/geist/keymap.c deleted file mode 100644 index 909a82ec..00000000 --- a/keyboards/klor/keymaps/geist/keymap.c +++ /dev/null @@ -1,802 +0,0 @@ -/* - - █ █ █ ▄▄▄▀▀▀▀▀▀▄▄▄ █▀▀▀▀▀▀▀▀▀▀█ - █ █ █ ▄▀ ▀▄ █ █ - █ █ █ ▄▀ ▀▄ █ █ - █ █ █ █ █ █ █ - █ █ █ █ █ █ █ - █ █ █ █ █ █▄▄▄▄▄▄▄▄▄▄█ - █ █ █ █ █ █ █ █ - █ █ █ █ █ █ █ █ - █ █ █ █ ▀▄ ▄▀ █ █ - ██ █ █ ▀▄ ▄▀ █ █ - █ █ █▄▄▄▄▄▄▄▄ ▀▀▀▄▄▄▄▄▄▀▀▀ █ █ - - ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ - ┌─┐┌─╴╷┌──┬─ - │ ┐├─╴│└─┐│ - └─┘└─╴╵╶─┘╵ -*/ -#include QMK_KEYBOARD_H -#include -#include -#include "klor.h" -#ifdef HAPTIC_ENABLE -#include "drivers/haptic/DRV2605L.h" -#endif //HAPTIC ENABLE - - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ D E F I N I T I O N S │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e l a y e r s │ -// └───────────────────────────────────────────────────────────┘ - -enum klor_layers { - /* _M_XYZ = Mac Os, _W_XYZ = Win/Linux */ - _COLEMAK, - _QWERTY, - _LOWER, - _RAISE, - _ADJUST, -}; - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e k e y c o d e s │ -// └───────────────────────────────────────────────────────────┘ - -enum custom_keycodes { - COLEMAK = SAFE_RANGE, - QWERTY, - LOWER, - RAISE, - ADJUST, - OS_SWAP, - WMAIL, - GMAIL, - GIPHY, - MAKE_H, - SNAP1, - SNAP2 -}; - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e m a c r o n a m e s │ -// └───────────────────────────────────────────────────────────┘ - -// LEFT HAND HOME ROW MODS ├───────────────────────────────────┐ - -#define GUI_A MT(MOD_LGUI, KC_A) -#define ALT_R MT(MOD_LALT, KC_R) -#define CTL_S MT(MOD_LCTL, KC_S) -#define SHT_T MT(MOD_LSFT, KC_T) - -// RIGHT HAND HOME ROW MODS ├───────────────────────────────────┐ - -#define SHT_N MT(MOD_RSFT, KC_N) -#define CTL_E MT(MOD_LCTL, KC_E) -#define ALT_I MT(MOD_LALT, KC_I) -#define GUI_O MT(MOD_LGUI, KC_O) - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e c o m b o s │ -// └───────────────────────────────────────────────────────────┘ - -const uint16_t PROGMEM esc_combo[] = {KC_TAB, KC_Q, COMBO_END}; -//const uint16_t PROGMEM save_combo[] = {KC_D, KC_S, COMBO_END}; -combo_t key_combos[COMBO_COUNT] = { - COMBO(esc_combo, KC_ESC) - //COMBO(save_combo, C(KC_S)) -}; - - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e k e y o v e r r i d e s │ -// └───────────────────────────────────────────────────────────┘ - -const key_override_t sve_key_override = ko_make_basic(MOD_MASK_GUI, KC_S, C(KC_S)); - -// This globally defines all key overrides to be used ├───────────┐ -const key_override_t **key_overrides = (const key_override_t *[]){ - &sve_key_override, - NULL // Null terminate the array of overrides! -}; - - -// ┌───────────────────────────────────────────────────────────┐ -// │ d e f i n e s o u n d s │ -// └───────────────────────────────────────────────────────────┘ - -#ifdef AUDIO_ENABLE - #define WINXP_SOUND W__NOTE(_DS6), Q__NOTE(_DS5), H__NOTE(_AS5), H__NOTE(_GS5), H__NOTE(_DS5), H__NOTE(_DS6), H__NOTE(_AS5) - #define MAC_SOUND S__NOTE(_CS5), B__NOTE(_C5) - - float winxp_song[][2] = SONG(WINXP_SOUND); - float mac_song[][2] = SONG(MAC_SOUND); -#endif // AUDIO_ENABLE - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ K E Y M A P S │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - -/* - ┌───────────────────────────────────────────────────────────┐ - │ c o l e m a k │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ - │ Q │ W │ F │ P │ G │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ J │ L │ U │ Y │ ; │ - ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐ - │ TAB │ A │ R │ S │ T │ D ├─╯ ╰─┤ H │ N │ E │ I │ O │ " │ - ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ - │ DEL │ Z │ X │ C │ V │ B ││ SHIFT ││PLY/PSE ││ K │ M │ , │ . │ / │ SHIFT │ - └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘ - │ CTRL │ LOWER │ SPACE │ ALT ││ CMD/WIN │ ENTER │ RAISE │ BSPCE │ - └─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */ - - [_COLEMAK] = LAYOUT_polydactyl( - //╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, - KC_TAB, GUI_A, ALT_R, CTL_S, SHT_T, KC_D, KC_H, SHT_N, CTL_E, ALT_I, GUI_O, KC_QUOT, - KC_Q, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_MPLY, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS, - KC_DEL, LOWER, KC_SPC, KC_ESC, KC_LGUI, KC_ENT, RAISE, KC_BSPC - ), - /* - ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ - - ┌───────────────────────────────────────────────────────────┐ - │ q w e r t y │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ - │ Q │ W │ E │ R │ T │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ Y │ U │ I │ O │ P │ - ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐ - │ TAB │ A │ S │ D │ F │ G ├─╯ ╰─┤ H │ J │ K │ L │ ; │ " │ - ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ - │ DEL │ Z │ X │ C │ V │ B ││ SHIFT ││PLY/PSE ││ N │ M │ , │ . │ / │ SHIFT │ - └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘ - │ CTRL │ LOWER │ SPACE │ ALT ││ CMD/WIN │ ENTER │ RAISE │ BSPACE │ - └─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */ - - [_QWERTY] = LAYOUT_polydactyl( - //╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, - KC_DEL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_MPLY, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, - KC_LCTL, LOWER, KC_SPC, KC_LALT, KC_LGUI, KC_ENT, RAISE, KC_BSPC - ), - - /* - ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ - - ┌───────────────────────────────────────────────────────────┐ - │ l o w e r │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ - │ CAPSLCK │ NUMLCK │ ↑ │ = │ { │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ } │ 7 │ 8 │ 9 │ + │ - ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐ - │ ESC │ HOME │ ← │ ↓ │ → │ [ ├─╯ ╰─┤ ] │ 4 │ 5 │ 6 │ - │ ' │ - ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ - │ SCRNSHT │ END │ PG↑ │ SAVE │ PG↓ │ ( ││ MUTE ││PLY/PSE ││ ) │ 1 │ 2 │ 3 │ * │ ▼ │ - └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘ - │ ▼ │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ADJUST │ 0 │ - └─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */ - - [_LOWER] = LAYOUT_polydactyl( - //╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_CAPS, KC_NUM, KC_UP, KC_EQL, KC_LCBR, KC_RCBR, KC_P7, KC_P8, KC_P9, KC_PPLS, - KC_ESC, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_LBRC, KC_RBRC, KC_P4, KC_P5, KC_P6, KC_MINS, KC_DQT, - SNAP2, KC_END, KC_PGUP, C(KC_S), KC_PGDN, KC_LPRN, KC_MUTE, KC_MPLY, KC_RPRN, KC_P1, KC_P2, KC_P3, KC_PAST, _______, - _______, _______, _______, RGB_MOD, RGB_MOD, _______, _______, KC_P0 - ), - /* - ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ - - ┌───────────────────────────────────────────────────────────┐ - │ r a i s e │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ - │ ! │ @ │ # │ $ │ % │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ ^ │ & │ Ü │ ° │ / │ - ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐ - │ GMX │ Ä │ è │ SZ │ é │ ├─╯ ╰─┤ │ ¥ │ € │ £ │ Ö │ │ - ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ - │ WEB │ ` │ ~ │ CUE │ │ ││ MUTE ││PLY/PSE ││ │ │ │ DM REC1 │ DM STOP │ DM PLY1 │ - └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘ - │ GIPHY │ ADJUST │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │ ▼ │ - └─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */ - - [_RAISE] = LAYOUT_polydactyl( - //╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ - KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, RALT(KC_U),RALT(KC_3),KC_BSLS, - GMAIL, RALT(KC_A),RALT(KC_F),RALT(KC_S),RALT(KC_G),XXXXXXX, XXXXXXX,LSFT(RALT(KC_4)),RALT(KC_5), RALT(KC_4), RALT(KC_O), XXXXXXX, - WMAIL, KC_GRV, LSFT(KC_GRV),RALT(KC_C),XXXXXXX,XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, XXXXXXX, XXXXXXX, DM_REC1, DM_RSTP, DM_PLY1, - GIPHY, _______, _______, RGB_MOD, RGB_MOD, _______, _______, _______ - ), - /* - ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ - - ┌───────────────────────────────────────────────────────────┐ - │ a d j u s t │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ - │ AUDIO │ HAPTIC │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ F7 │ F8 │ F9 │ F14 │ - ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐ - │ RESET │ DEBUG │ QWERTY │ │ │ ├─╯ ╰─┤ │ F4 │ F5 │ F6 │ F12 │ F13 │ - ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ - │ MAKE │ OS SWAP │ COLEMAK │ │ │ ││ MUTE ││PLY/PSE ││ │ F1 │ F2 │ F3 │ F10 │ F11 │ - └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘ - │ ▼ │ ▼ │ ▼ │ ▼ ││ ▼ │ ▼ │ ▼ │ ▼ │ - └─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ */ - - [_ADJUST] = LAYOUT_polydactyl( - //╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ - AU_TOG, HPT_TOG, RGB_HUI, RGB_MOD, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, KC_F14, - QK_BOOT, DB_TOGG, QWERTY, RGB_SAI, XXXXXXX, XXXXXXX, XXXXXXX, KC_F4, KC_F5, KC_F6, KC_F12, KC_F13, - MAKE_H, OS_SWAP, COLEMAK, RGB_VAI, XXXXXXX, XXXXXXX, KC_MUTE, KC_MPLY, XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F10, KC_F11, - _______, _______, _______, _______, _______, _______, _______, _______ - ) - - /* - ╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸ - - ┌───────────────────────────────────────────────────────────┐ - │ t e m p l a t e │ - └───────────────────────────────────────────────────────────┘ - ┌─────────┬─────────┬─────────┬─────────┬─────────┐ ┌─────────┬─────────┬─────────┬─────────┬─────────┐ - │ │ │ │ │ │ ╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮╭╮ │ │ │ │ │ │ - ┌─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ │╰╯╰╯╰╯╰╯╰╯╰╯╰╯╰╯│ ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┐ - │ │ │ │ │ │ ├─╯ ╰─┤ │ │ │ │ │ │ - ├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤╭────────╮╭────────╮├─────────┼─────────┼─────────┼─────────┼─────────┼─────────┤ - │ │ │ │ │ │ ││ ││ ││ │ │ │ │ │ │ - └─────────┴─────────┴─────────┼─────────┼─────────┼─────────┼╰────────╯╰────────╯┼─────────┼─────────┼─────────┼─────────┴─────────┴─────────┘ - │ │ │ │ ││ │ │ │ │ - └─────────┴─────────┴─────────┴─────────┘└─────────┴─────────┴─────────┴─────────┘ - - [_TEMPLATE] = LAYOUT_polydactyl( - //╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷╷ ╷ ╷ ╷ ╷ ╷ ╷ ╷ - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______ - )*/ -}; - - - - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ T R A C K B A L L │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -#ifdef POINTING_DEVICE_ENABLE - -void pointing_device_init_user(void) { - set_auto_mouse_layer(_MOUSE); // only required if AUTO_MOUSE_DEFAULT_LAYER is not set to index of - set_auto_mouse_enable(true); // always required before the auto mouse feature will work -} - -report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) { - if (scrolling_mode) { - mouse_report.h = mouse_report.x; - mouse_report.v = mouse_report.y; - mouse_report.x = 0; - mouse_report.y = 0; - } - return mouse_report; -} - -#endif //POINTING_DEVICE_ENABLE - - - - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ H A P T I C F E E D B A C K │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -void keyboard_post_init_user(void) { - // Call the post init code. - #if HAPTIC_ENABLE - haptic_disable(); // disables per key haptic feedback by default - #endif //HAPTIC ENABLE - - #if RGB_MATRIX_ENABLE - rgblight_enable_noeeprom(); - //rgblight_sethsv_noeeprom(35, 255, 255); // set default RGB color to yellow - #endif //RGB_MATRIX_ENABLE -} - - - - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ O L E D │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -#ifdef OLED_ENABLE - -// ┌───────────────────────────────────────────────────────────┐ -// │ d y n a m i c m a c r o │ -// └───────────────────────────────────────────────────────────┘ - -char layer_state_str[24]; -char o_text[24] = ""; -int dmacro_num = 0; - -#ifdef DYNAMIC_MACRO_ENABLE - char dmacro_text[4][24] = { "", "RECORDING", "STOP RECORDING", "PLAY RECORDING"}; - static uint16_t dmacro_timer; - const char PROGMEM rec_ico[] = {0xD1, 0xE1, 0}; - const char PROGMEM stop_ico[] = {0xD3, 0xE1, 0}; - const char PROGMEM play_ico[] = {0xD2, 0xE1, 0}; - - - // DYNMACRO RECORD ├─────────────────────────────────────────────────────────────┐ - void dynamic_macro_record_start_user(void) { - dmacro_num = 1; - return; - } - - // DYNMACRO STOP RECORDING ├─────────────────────────────────────────────────────┐ - void dynamic_macro_record_end_user(int8_t direction) { - dmacro_num = 2; - dmacro_timer = timer_read(); - return; - } - - // DYNMACRO PLAY RECORDING ├─────────────────────────────────────────────────────┐ - void dynamic_macro_play_user(int8_t direction) { - dmacro_num = 3; - dmacro_timer = timer_read(); - return; - } -#endif //DYNAMIC_MACRO_ENABLE - - -void matrix_scan_user(void) { - #ifdef DYNAMIC_MACRO_ENABLE - // DynMacroTimer - if(dmacro_num > 0){ - if (timer_elapsed(dmacro_timer) < 3000) { - strcpy ( o_text, dmacro_text[dmacro_num] ); - } - else { - if (dmacro_num == 1) { - strcpy ( o_text, dmacro_text[1] ); - } - else { - strcpy ( o_text, layer_state_str ); - dmacro_num = 0; - } - } - } - #endif //DYNAMIC_MACRO_ENABLE -} - - -// ┌───────────────────────────────────────────────────────────┐ -// │ o l e d g r a p h i c s │ -// └───────────────────────────────────────────────────────────┘ - -void render_os_lock_status(void) { - static const char PROGMEM sep_v[] = {0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0}; - static const char PROGMEM sep_h1[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0}; - static const char PROGMEM sep_h2[] = {0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0xE1, 0}; - static const char PROGMEM face_1[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0xE1, 0}; - static const char PROGMEM face_2[] = {0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xE1, 0}; - static const char PROGMEM os_m_1[] = {0x95, 0x96, 0}; - static const char PROGMEM os_m_2[] = {0xB5, 0xB6, 0}; - static const char PROGMEM os_w_1[] = {0x97, 0x98, 0}; - static const char PROGMEM os_w_2[] = {0xB7, 0xB8, 0}; - static const char PROGMEM s_lock[] = {0x8F, 0x90, 0}; - static const char PROGMEM n_lock[] = {0x91, 0x92, 0}; - static const char PROGMEM c_lock[] = {0x93, 0x94, 0}; - static const char PROGMEM b_lock[] = {0xE1, 0xE1, 0}; - #ifdef AUDIO_ENABLE - static const char PROGMEM aud_en[] = {0xAF, 0xB0, 0}; - static const char PROGMEM aud_di[] = {0xCF, 0xD0, 0}; - #endif - #ifdef HAPTIC_ENABLE - static const char PROGMEM hap_en[] = {0xB1, 0xB2, 0}; - #endif - -// os mode status ────────────────────────────────────────┐ - - oled_write_ln_P(sep_v, false); - - if (keymap_config.swap_lctl_lgui) { - oled_write_P(os_m_1, false); // ──── MAC - } else { - oled_write_P(os_w_1, false); // ──── WIN - } - - oled_write_P(sep_h1, false); - oled_write_P(face_1, false); - - if (keymap_config.swap_lctl_lgui) { - oled_write_P(os_m_2, false); // ──── MAC - } else { - oled_write_P(os_w_2, false); // ──── WIN - } - - oled_write_P(sep_h1, false); - oled_write_P(face_2, false); - oled_write_ln_P(sep_v, false); - - -// lock key layer status ─────────────────────────────────┐ - - led_t led_usb_state = host_keyboard_led_state(); - - if (led_usb_state.num_lock) { - oled_write_P(n_lock, false); // ──── NUMLOCK - } else { - oled_write_P(b_lock, false); - } - if (led_usb_state.caps_lock) { - oled_write_P(c_lock, false); // ─── CAPSLOCK - } else { - oled_write_P(b_lock, false); - } - if (led_usb_state.scroll_lock) { // ─ SCROLLLOCK - oled_write_P(s_lock, false); - } else { - oled_write_P(b_lock, false); - } - -// hardware feature status ──────────────────────────────┐ - - oled_write_P(sep_h2, false); - - #ifndef AUDIO_ENABLE - oled_write_P(b_lock, false); - #endif - #ifndef HAPTIC_ENABLE - oled_write_P(b_lock, false); - #endif - - #ifdef AUDIO_ENABLE // ────────────────── AUDIO - if (is_audio_on()) { - oled_write_P(aud_en, false); - } else { - oled_write_P(aud_di, false); - } - #endif // AUDIO ENABLE - - #ifdef HAPTIC_ENABLE // ─────────────── HAPTIC - oled_write_P(hap_en, false); - #endif // HAPTIC ENABLE -} - - -// layer status ──────────────────────────────────────────┐ - -int layerstate = 0; - -layer_state_t layer_state_set_kb(layer_state_t state) { - switch (get_highest_layer(layer_state | default_layer_state)) { - case 0: - strcpy ( layer_state_str, "BASE COLEMAK"); - break; - case 1: - strcpy ( layer_state_str, "BASE QWERTY"); - break; - case 2: - strcpy ( layer_state_str, "LOWER"); - break; - case 3: - strcpy ( layer_state_str, "RAISE"); - break; - case 4: - strcpy ( layer_state_str, "ADJUST"); - break; - default: - strcpy ( layer_state_str, "XXXXXX"); - } - if (dmacro_num < 1) { - strcpy ( o_text, layer_state_str ); - } - //return state; - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -// ┌───────────────────────────────────────────────────────────┐ -// │ w r i t e t o o l e d │ -// └───────────────────────────────────────────────────────────┘ - -bool oled_task_kb(void) { - if (!oled_task_user()) { - return false; - } - if (is_keyboard_master()) { // ────────────────────────── PRIMARY SIDE - - // layer status ──────────────────────────────────────────────────┐ - #ifdef DYNAMIC_MACRO_ENABLE - if(dmacro_num == 1){ oled_write_P(rec_ico, false); } - if(dmacro_num == 2){ oled_write_P(stop_ico, false); } - if(dmacro_num == 3){ oled_write_P(play_ico, false); } - #endif //DYNAMIC_MACRO_ENABLE - - oled_write_ln(o_text, false); - render_os_lock_status(); - - } else { // ─────────────────────────────────────────── SECONDARY SIDE - - // KLOR face ─────────────────────────────────────────────────────┐ - - static const char PROGMEM klor_face[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, - 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, - 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x0f, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - }; - oled_write_raw_P(klor_face, sizeof(klor_face)); - } - return false; -} -#endif // OLED_ENABLE - - - -uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - case SHT_T: - return TAPPING_TERM - 150; - case SHT_N: - return TAPPING_TERM - 150; - default: - return TAPPING_TERM; - } -} - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ M A C R O S │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - - -bool process_record_user(uint16_t keycode, keyrecord_t *record) { - switch (keycode) { - - case OS_SWAP: - if (record->event.pressed) { - if (!keymap_config.swap_lctl_lgui) { - keymap_config.swap_lctl_lgui = true; // ─── MAC - #ifdef AUDIO_ENABLE - PLAY_SONG(mac_song); - #endif // AUDIO_ENABLE - } - else { - keymap_config.swap_lctl_lgui = false; // ─── WIN - #ifdef AUDIO_ENABLE - PLAY_SONG(winxp_song); - #endif // AUDIO_ENABLE - } - #ifdef HAPTIC_ENABLE - DRV_pulse(pulsing_strong); - #endif // HAPTIC_ENABLE - eeconfig_update_keymap(keymap_config.raw); - clear_keyboard(); // ──── clear to prevent stuck keys - return false; - } - - -// ┌───────────────────────────────────────────────────────────┐ -// │ l a y e r │ -// └───────────────────────────────────────────────────────────┘ - - case COLEMAK: - if (record->event.pressed) { - set_single_persistent_default_layer(_COLEMAK); - #ifdef HAPTIC_ENABLE - DRV_pulse(transition_hum); - #endif // HAPTIC_ENABLE - } - return false; - case QWERTY: - if (record->event.pressed) { - set_single_persistent_default_layer(_QWERTY); - #ifdef HAPTIC_ENABLE - DRV_pulse(transition_hum); - #endif // HAPTIC_ENABLE - } - return false; - case LOWER: - if (record->event.pressed) { - layer_on(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_LOWER); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - case RAISE: - if (record->event.pressed) { - layer_on(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } else { - layer_off(_RAISE); - update_tri_layer(_LOWER, _RAISE, _ADJUST); - } - return false; - case ADJUST: - if (record->event.pressed) { - layer_on(_ADJUST); - } else { - layer_off(_ADJUST); - } - return false; - - -// ┌───────────────────────────────────────────────────────────┐ -// │ q m k │ -// └───────────────────────────────────────────────────────────┘ - - case MAKE_H: - if (record->event.pressed) { - #ifdef KEYBOARD_klor_2040 - SEND_STRING ("qmk compile -kb klor/2040 -km geist"); - #else - SEND_STRING ("qmk compile -kb klor -km geist"); - #endif - tap_code(KC_ENTER); - } - break; - -// ┌───────────────────────────────────────────────────────────┐ -// │ p r o d u c t i v i t y │ -// └───────────────────────────────────────────────────────────┘ - - case WMAIL: - if (record->event.pressed) { - SEND_STRING ("igit.igit@web.de"); - } - break; - - case GMAIL: - if (record->event.pressed) { - SEND_STRING ("igit@gmx.de"); - } - break; - - case GIPHY: - if (record->event.pressed) { - SEND_STRING ("@gif "); - } - break; - - case SNAP1: - if (record->event.pressed) { - if (keymap_config.swap_lctl_lgui) { - SEND_STRING(SS_LSFT(SS_LCMD("4"))); //MAC - } else { - SEND_STRING(SS_LWIN(SS_TAP(X_PSCR))); //WIN - } - } - break; - - case SNAP2: - if (record->event.pressed) { - if (keymap_config.swap_lctl_lgui) { - SEND_STRING(SS_LSFT(SS_LCMD(SS_LCTL("4")))); //MAC - } else { - SEND_STRING(SS_LSFT(SS_LWIN("S"))); //WIN - } - } - break; - - case KC_MPLY: - if (record->event.pressed) { - #ifdef HAPTIC_ENABLE - DRV_pulse(sharp_click); - #endif // HAPTIC_ENABL - } - break; - } - return true; -} - - -// ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -// │ E N C O D E R │ -// └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -// ▝▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▘ - -#ifdef ENCODER_ENABLE - -// ┌───────────────────────────────────────────────────────────┐ -// │ e n c o d e r L │ -// └───────────────────────────────────────────────────────────┘ - -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - -// ┌───────────────────────────────────────────────────────────┐ -// │ e n c o d e r R │ -// └───────────────────────────────────────────────────────────┘ - - } else if (index == 1) { - if(IS_LAYER_ON(_LOWER)){ - if (clockwise) { - tap_code(KC_MNXT); - } else { - tap_code(KC_MPRV); - } - }else { - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - } - return true; -} - -#endif // ENCODER_ENABLE - - - - -/* - - ▐█ ▟▛ ▐█ ▄▆▀▀▀▀▀▀▆▄ ▐█▀▀▀▀▀█▌ - ▐█ ▟▛ ▐█ ▟▛ ▜▙ ▐█ █▌ - ▐█ ▟▛ ▐█ ▐█ █▋▐█ █▌ - ▐█ ▟█▙ ▐█ ▐█ █▋▐█▀▀▜█▀▀▘ - ▐█▟▛ ▜▙ ▐█ ▜▙ ▟▛ ▐█ ▜▙ - ▐█▛ ▜▙ ▐█▄▄▄▄ ▀▜▆▄▄▄▄▆▛▀ ▐█ ▜▙ - - ▄██████████████▄ - ████████████████ - ▄██████▀ ▀████▀ ▀██████▄ - ███████▄ ▄████▄ ▄███████ - ███████████▀▀▀▀███████████ - ▀█████████▀ ▄▄ ▀█████████▀ - ████▀ ▄██▄ ▀████ - ████▄▄████▄▄████ - -*/ - - - diff --git a/keyboards/klor/keymaps/geist/rules.mk b/keyboards/klor/keymaps/geist/rules.mk deleted file mode 100644 index ae2604f7..00000000 --- a/keyboards/klor/keymaps/geist/rules.mk +++ /dev/null @@ -1,17 +0,0 @@ -OLED_ENABLE = yes -OLED_DRIVER = SSD1306 -ENCODER_ENABLE = yes -EXTRAKEY_ENABLE = yes -DYNAMIC_MACRO_ENABLE = yes -COMBO_ENABLE = yes -KEY_OVERRIDE_ENABLE = yes - -#HAPTIC FEEBACK -HAPTIC_ENABLE = yes - -#PER KEY RGB -RGB_MATRIX_ENABLE = yes # Enable keyboard RGB matrix (do not use together with RGBLIGHT_ENABLE) - -#AUDIO -AUDIO_ENABLE = yes -MUSIC_ENABLE = yes \ No newline at end of file diff --git a/keyboards/klor/keymaps/saegewerk/keymap.c b/keyboards/klor/keymaps/saegewerk/keymap.c index 71d9efc2..092436a8 100644 --- a/keyboards/klor/keymaps/saegewerk/keymap.c +++ b/keyboards/klor/keymaps/saegewerk/keymap.c @@ -20,9 +20,11 @@ #include #include #include "klor.h" -//#ifdef HAPTIC_ENABLE -//#include "drivers/haptic/DRV2605L.h" -//#endif //HAPTIC ENABLE + +// this should be handled by common_rules.mk but the code doesn't work without it +#ifdef HAPTIC_ENABLE +#include "drivers/haptic/drv2605l.h" +#endif //HAPTIC ENABLE // ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ @@ -616,7 +618,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { #endif // AUDIO_ENABLE } #ifdef HAPTIC_ENABLE - DRV_pulse(pulsing_strong); + drv2605l_pulse(DRV2605L_EFFECT_PULSING_STRONG_1_100); #endif // HAPTIC_ENABLE eeconfig_update_keymap(keymap_config.raw); clear_keyboard(); // ──── clear to prevent stuck keys @@ -632,7 +634,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { set_single_persistent_default_layer(_COLEMAK); #ifdef HAPTIC_ENABLE - DRV_pulse(transition_hum); + drv2605l_pulse(DRV2605L_EFFECT_TRANSITION_HUM_1_100); #endif // HAPTIC_ENABLE } return false; @@ -640,7 +642,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { if (record->event.pressed) { set_single_persistent_default_layer(_QWERTY); #ifdef HAPTIC_ENABLE - DRV_pulse(transition_hum); + drv2605l_pulse(DRV2605L_EFFECT_TRANSITION_HUM_1_100); #endif // HAPTIC_ENABLE } return false; @@ -692,7 +694,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { case KC_MPLY: if (record->event.pressed) { #ifdef HAPTIC_ENABLE - DRV_pulse(sharp_click); + drv2605l_pulse(DRV2605L_EFFECT_SHARP_CLICK_100); #endif // HAPTIC_ENABL } break; diff --git a/keyboards/klor/keymaps/saegewerk/rules.mk b/keyboards/klor/keymaps/saegewerk/rules.mk index cd458864..441dc2ed 100644 --- a/keyboards/klor/keymaps/saegewerk/rules.mk +++ b/keyboards/klor/keymaps/saegewerk/rules.mk @@ -5,4 +5,8 @@ COMBO_ENABLE = no KEY_OVERRIDE_ENABLE = no #HAPTIC FEEBACK -HAPTIC_ENABLE = yes \ No newline at end of file +HAPTIC_ENABLE = yes + +RGB_MATRIX_ENABLE = yes + +MUSIC_ENABLE = yes \ No newline at end of file