From a0fed0ea176d1c986e40fc4981b900509c90d66e Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 21 May 2021 23:17:32 -0700 Subject: Convert Encoder callbacks to be boolean functions (#12805) Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> --- keyboards/splitkb/zima/keymaps/drashna/keymap.c | 12 ++---------- keyboards/splitkb/zima/zima.c | 14 ++++++++------ 2 files changed, 10 insertions(+), 16 deletions(-) (limited to 'keyboards/splitkb/zima') diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c index 9d3919ee28..d9e1f44e29 100644 --- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c +++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c @@ -122,19 +122,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { } - void encoder_update_user(uint8_t index, bool clockwise) { +bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code16(KC_VOLU); } else { tap_code16(KC_VOLD); } -# ifdef OLED_DRIVER_ENABLE - oled_timer = timer_read32(); -# endif -# if defined(AUDIO_ENABLE) && defined(AUDIO_CLICKY) - if (is_audio_on() && is_clicky_on()) clicky_play(); -# endif -# ifdef HAPTIC_ENABLE - if (haptic_config.enable) haptic_play(); -# endif + return true; } diff --git a/keyboards/splitkb/zima/zima.c b/keyboards/splitkb/zima/zima.c index 3989ebeb29..74f9c84a79 100644 --- a/keyboards/splitkb/zima/zima.c +++ b/keyboards/splitkb/zima/zima.c @@ -93,12 +93,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { #endif #ifdef ENCODER_ENABLE -__attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { - if (clockwise) { - tap_code16(KC_VOLU); - } else { - tap_code16(KC_VOLD); - } +bool encoder_update_kb(uint8_t index, bool clockwise) { # ifdef OLED_DRIVER_ENABLE oled_timer = timer_read32(); # endif @@ -108,5 +103,12 @@ __attribute__((weak)) void encoder_update_user(uint8_t index, bool clockwise) { # ifdef HAPTIC_ENABLE if (haptic_config.enable) haptic_play(); # endif + if (!encoder_update_user(index, clockwise)) return false; + if (clockwise) { + tap_code16(KC_VOLU); + } else { + tap_code16(KC_VOLD); + } + return true; } #endif -- cgit v1.2.3 From 4bb595f94b5c77e7a961ff69d2b4d9c53a9094fc Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sun, 25 Jul 2021 18:18:39 -0700 Subject: [Keyboard] Fix up SplitKB keyboards (#13511) --- keyboards/splitkb/zima/config.h | 41 +++++++++-------- keyboards/splitkb/zima/keymaps/via/config.h | 20 +++++++++ keyboards/splitkb/zima/keymaps/via/keymap.c | 68 +++++++++++++++++++++++++++++ keyboards/splitkb/zima/keymaps/via/rules.mk | 2 + 4 files changed, 110 insertions(+), 21 deletions(-) create mode 100644 keyboards/splitkb/zima/keymaps/via/config.h create mode 100644 keyboards/splitkb/zima/keymaps/via/keymap.c create mode 100644 keyboards/splitkb/zima/keymaps/via/rules.mk (limited to 'keyboards/splitkb/zima') diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h index fcfa37ff35..7e79e7f359 100644 --- a/keyboards/splitkb/zima/config.h +++ b/keyboards/splitkb/zima/config.h @@ -20,15 +20,15 @@ along with this program. If not, see . #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0xF75B -#define DEVICE_VER 0x0001 +#define VENDOR_ID 0x8D1D +#define PRODUCT_ID 0xF75B +#define DEVICE_VER 0x0001 #define MANUFACTURER splitkb -#define PRODUCT Zima +#define PRODUCT Zima /* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 3 +#define MATRIX_ROWS 4 +#define MATRIX_COLS 3 /* * Keyboard Matrix Assignments @@ -37,9 +37,8 @@ along with this program. If not, see . { C6, D6, D5 }, \ { C7, F7, D4 }, \ { E6, F5, F6 }, \ - { F0, F1, F4 } \ + { F0, F1, F4 }, \ } - #define UNUSED_PINS #define ENCODERS_PAD_A { B4 } @@ -53,11 +52,11 @@ along with this program. If not, see . #define AUDIO_CLICKY #define NO_MUSIC_MODE -#define RGB_DI_PIN B5 -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +#define RGB_DI_PIN B5 +#define RGBLED_NUM 5 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING @@ -67,7 +66,7 @@ along with this program. If not, see . #define RGBLIGHT_EFFECT_TWINKLE /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 +#define DEBOUNCE 5 /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST @@ -77,16 +76,16 @@ along with this program. If not, see . /* Locking resynchronize hack */ // #define LOCKING_RESYNC_ENABLE -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define FB_ERM_LRA 0 +#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define RATED_VOLTAGE 3 +#define V_PEAK 5 -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT buzz +#define DRV_GREETING alert_750ms +#define DRV_MODE_DEFAULT buzz // EC11K encoders have a different resolution than other EC11 encoders. // When using the default resolution of 4, if you notice your encoder skipping // every other tick, lower the resolution to 2. diff --git a/keyboards/splitkb/zima/keymaps/via/config.h b/keyboards/splitkb/zima/keymaps/via/config.h new file mode 100644 index 0000000000..5a0e407c95 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2019 Thomas Baart + * Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/splitkb/zima/keymaps/via/keymap.c b/keyboards/splitkb/zima/keymaps/via/keymap.c new file mode 100644 index 0000000000..e9fb001bbe --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/via/keymap.c @@ -0,0 +1,68 @@ +/* Copyright 2019 Thomas Baart + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_ortho_4x3(/* Base */ + KC_MUTE, TG(1), TG(2), + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3 + ), + [1] = LAYOUT_ortho_4x3(/* Layer 1 */ + RESET, _______, XXXXXXX, + AU_ON, AU_OFF, XXXXXXX, + CK_TOGG, XXXXXXX, CK_UP, + CK_RST, XXXXXXX, CK_DOWN + ), + [2] = LAYOUT_ortho_4x3(/* Layer 2*/ + RGB_TOG, RGB_MOD, _______, + RGB_HUI, RGB_SAI, RGB_VAI, + RGB_HUD, RGB_SAD, RGB_VAD, + HPT_TOG, HPT_FBK, HPT_CONT + ), + [3] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [4] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [5] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [6] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [7] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), +}; diff --git a/keyboards/splitkb/zima/keymaps/via/rules.mk b/keyboards/splitkb/zima/keymaps/via/rules.mk new file mode 100644 index 0000000000..1eb438e469 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +HAPTIC_ENABLE = no -- cgit v1.2.3 From eb46c954dcf99d842967cc6095827316ffddd291 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Mon, 26 Jul 2021 17:59:49 -0700 Subject: [Keymap] Drashna's Defaults cleanup (#13722) --- keyboards/splitkb/zima/keymaps/drashna/keymap.c | 26 +++++++++++++------------ keyboards/splitkb/zima/keymaps/drashna/rules.mk | 1 + 2 files changed, 15 insertions(+), 12 deletions(-) (limited to 'keyboards/splitkb/zima') diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c index d9e1f44e29..6e198e3ddd 100644 --- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c +++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c @@ -22,6 +22,7 @@ extern haptic_config_t haptic_config; #endif +// clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [0] = LAYOUT_ortho_4x3( /* Base */ KC_MUTE, TG(1), TG(2), @@ -43,12 +44,20 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ) }; +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = { + [0] = { { KC_DOWN, KC_UP } }, + [1] = { { KC_VOLD, KC_VOLU } }, + [2] = { { RGB_MOD, RGB_RMOD} }, +}; +#endif +// clang-format on -static bool is_asleep = false; +static bool is_asleep = false; static uint32_t oled_timer; void render_oled_logo(void) { - // clang-format off + // clang-format off static const char PROGMEM qmk_logo[] = { 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, @@ -68,9 +77,7 @@ void render_user_status(void) { oled_write_P(nukem_good[0], haptic_config.enable); } -void keyboard_post_init_user(void) { - oled_scroll_set_speed(0); -} +void keyboard_post_init_user(void) { oled_scroll_set_speed(0); } void oled_task_user(void) { if (is_asleep) { @@ -107,13 +114,9 @@ void oled_task_user(void) { } } -void suspend_power_down_user(void) { - is_asleep = true; -} +void suspend_power_down_user(void) { is_asleep = true; } -void suspend_wakeup_init_user(void) { - is_asleep = false; -} +void suspend_wakeup_init_user(void) { is_asleep = false; } bool process_record_user(uint16_t keycode, keyrecord_t* record) { oled_timer = timer_read32(); @@ -121,7 +124,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { return true; } - bool encoder_update_user(uint8_t index, bool clockwise) { if (clockwise) { tap_code16(KC_VOLU); diff --git a/keyboards/splitkb/zima/keymaps/drashna/rules.mk b/keyboards/splitkb/zima/keymaps/drashna/rules.mk index b9a1f7f256..b9dc009159 100644 --- a/keyboards/splitkb/zima/keymaps/drashna/rules.mk +++ b/keyboards/splitkb/zima/keymaps/drashna/rules.mk @@ -1,2 +1,3 @@ # is intentional. won't compile under size, otherwise. USER_NAME := not_drashna +ENCODER_MAP_ENABLE = yes -- cgit v1.2.3 From a03aa301def77c867ae6c6c840f7fc82b26d91d6 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Fri, 6 Aug 2021 23:59:56 -0700 Subject: Remove Full Bootmagic (#13846) * disambiguate Bootmagic rules in keymaps The files edited by this commit were added at a point in time where `BOOTMAGIC_ENABLE = yes` enabled full Bootmagic. This commit edits the files to specify that full Bootmagic is intended. * remove BOOTMAGIC_ENABLE=full setting * unify commented BOOTMAGIC_ENABLE rules in keyboards Explicitly sets `BOOTMAGIC_ENABLE = no` in keyboards where the rule was commented out. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-zA-Z]\+\).*;\1 = no # Virtual DIP switch configuration;g' {} + ``` * remove commented Bootmagic rules from keymap/user level Command: ``` find keyboards/ layouts/ users/ -type f -name 'rules.mk' -exec sed -i -e '/#.*\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*/d' {} + ``` * update keyboard BOOTMAGIC_ENABLE rule formatting Sets the formatting of BOOTMAGIC_ENABLE rules to `BOOTMAGIC_ENABLE = [value]`, without the inline comments (which will be replaced later). Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + ``` * update keyboards' BOOTMAGIC_ENABLE settings Updates keyboard `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Command: ``` find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = \)full;\1lite;g' '{}' + ``` * update keymap/user BOOTMAGIC_ENABLE settings Updates keymap/user `rules.mk` files to use `BOOTMAGIC_ENABLE = lite` where `BOOTMAGIC_ENABLE = full` was being used. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE[ \t=]\+\)full;\1lite;g' '{}' + ``` * remove and replace inline comments in keyboards and keymap/user files Removes and replaces the inline comments, which have been updated to read `Enable Bootmagic Lite`. Commands: ``` find keyboards/ -type f -name 'rules.mk' -and -path '*/keymaps/*' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE\)[ \t=]\+\([a-z]\+\).*;\1 = \2;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = lite\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = yes\);\1 # Enable Bootmagic Lite;g' '{}' + find keyboards/ layouts/community/ users/ -type f -name 'rules.mk' -exec sed -i -e 's;\(BOOTMAGIC_ENABLE = no\);\1 # Enable Bootmagic Lite;g' '{}' + ``` * rename improperly named makefiles Some files intended to be used as makefiles had improper names causing them to not be used as intended when building. This commit corrects the filenames of the affected files. * update renamed file with new rule formatting * update QMK's template files Updates QMK's `rules.mk` templates to use the new inline comment. * update QMK Docs - remove documentation of full Bootmagic - update links to Bootmagic Lite doc - add doc for Magic Keycodes * rules.mk patch for coarse/ixora and coarse/vinta --- keyboards/splitkb/zima/rules.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'keyboards/splitkb/zima') diff --git a/keyboards/splitkb/zima/rules.mk b/keyboards/splitkb/zima/rules.mk index 71c9dc6e8c..06d0b68bb1 100644 --- a/keyboards/splitkb/zima/rules.mk +++ b/keyboards/splitkb/zima/rules.mk @@ -7,7 +7,7 @@ BOOTLOADER = atmel-dfu # Build Options # change yes to no to disable # -BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration +BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite MOUSEKEY_ENABLE = no # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control CONSOLE_ENABLE = no # Console for debug -- cgit v1.2.3 From 58a5030661b57f1dd05693053df2eddadc285f64 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Sat, 21 Aug 2021 13:34:44 -0700 Subject: [Keymap] Drashna's Improve OLEDs and custom Split code (#14063) * Fill the oleds with right mods * Enable double mods on x32 oleds * Disable forced NKRO * Make oleds fancy only on good MCUs * Overhaul oled display * Further enhance oled, with kitty! * Final oled form * Not working transport * Transport id of woring * Add acceleration * fix button placement for accel macro * Fix accelartion location and behavior * Remove OLED sync code * Fix alignment issue * Remove audio hack * Fix up zima keymap * Add matrix slave scan function and cleanup drashna.h * Clean up user space * Allow userspace sync to be disable-able * Fix weird issue with audio * Fix alignment issue with user split sync * Disable second rgb matrix task * Disable additional animations * Change dynamic keymap settings * Hacky fix for borked corne * Add Blackpill (F411) support to tractyl manuform * remove manual via eeprom reset * Remove all references to rgblight twinkle * Fix issues with config processing --- keyboards/splitkb/zima/keymaps/drashna/config.h | 2 ++ keyboards/splitkb/zima/keymaps/drashna/keymap.c | 36 +++++++++++++++++++------ 2 files changed, 30 insertions(+), 8 deletions(-) (limited to 'keyboards/splitkb/zima') diff --git a/keyboards/splitkb/zima/keymaps/drashna/config.h b/keyboards/splitkb/zima/keymaps/drashna/config.h index 91d657eda1..133ab6a914 100644 --- a/keyboards/splitkb/zima/keymaps/drashna/config.h +++ b/keyboards/splitkb/zima/keymaps/drashna/config.h @@ -30,3 +30,5 @@ // # define OLED_LOGO_CORNE // # define OLED_LOGO_GOTHAM #define OLED_LOGO_SCIFI + +#define ENCODER_RESOLUTION 2 diff --git a/keyboards/splitkb/zima/keymaps/drashna/keymap.c b/keyboards/splitkb/zima/keymaps/drashna/keymap.c index 6e198e3ddd..29d03ec918 100644 --- a/keyboards/splitkb/zima/keymaps/drashna/keymap.c +++ b/keyboards/splitkb/zima/keymaps/drashna/keymap.c @@ -15,7 +15,6 @@ * along with this program. If not, see . */ #include QMK_KEYBOARD_H -#include #ifdef HAPTIC_ENABLE # include "haptic.h" @@ -90,15 +89,35 @@ void oled_task_user(void) { oled_scroll_off(); oled_write_P(PSTR("SplitKB's Zima"), false); char layer[2] = {0}; - snprintf(layer, sizeof(layer), "%d", get_highest_layer(layer_state)); + uint8_t n = get_highest_layer(layer_state); + layer[1] = '\0'; + layer[0] = '0' + n % 10; oled_write_P(PSTR(" L:"), false); oled_write_ln(layer, false); oled_write_ln_P(PSTR("--------------"), false); if (rgblight_is_enabled()) { oled_write_P(PSTR("HSV: "), false); - char rgbs[14]; - snprintf(rgbs, sizeof(rgbs), "%3d, %3d, %3d", rgblight_get_hue(), rgblight_get_sat(), rgblight_get_val()); - oled_write_ln(rgbs, false); + char hsv_char[4]; + n = rgblight_get_hue(); + hsv_char[3] = '\0'; + hsv_char[2] = '0' + n % 10; + hsv_char[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; + hsv_char[0] = n / 10 ? '0' + n / 10 : ' '; + oled_write(hsv_char, false); + oled_write_P(PSTR(", "), false); + n = rgblight_get_sat(); + hsv_char[3] = '\0'; + hsv_char[2] = '0' + n % 10; + hsv_char[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; + hsv_char[0] = n / 10 ? '0' + n / 10 : ' '; + oled_write(hsv_char, false); + oled_write_P(PSTR(", "), false); + n = rgblight_get_val(); + hsv_char[3] = '\0'; + hsv_char[2] = '0' + n % 10; + hsv_char[1] = (n /= 10) % 10 ? '0' + (n) % 10 : (n / 10) % 10 ? '0' : ' '; + hsv_char[0] = n / 10 ? '0' + n / 10 : ' '; + oled_write_ln(hsv_char, false); } else { oled_write_ln_P(PSTR("RGB LIGHT DISABLED"), false); } @@ -125,10 +144,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) { } bool encoder_update_user(uint8_t index, bool clockwise) { + oled_timer = timer_read32(); if (clockwise) { - tap_code16(KC_VOLU); + tap_code_delay(KC_VOLU, 10); } else { - tap_code16(KC_VOLD); + tap_code_delay(KC_VOLD, 10); } - return true; + return false; } -- cgit v1.2.3 From 4e1c5887c5c08ebd2cf7868c8d9292aa728e7bf0 Mon Sep 17 00:00:00 2001 From: Xelus22 <17491233+Xelus22@users.noreply.github.com> Date: Tue, 24 Aug 2021 16:28:26 +1000 Subject: [Core] Refactor OLED to allow easy addition of other types (#13454) * add docs * core changes * update keyboards to new OLED * updated users to new OLED * update layouts to new OLED * fixup docs * drashna's suggestion * fix up docs * new keyboards with oled * core split changes * remaining keyboard files * Fix The Helix keyboards oled options * reflect develop Co-authored-by: Drashna Jaelre Co-authored-by: mtei <2170248+mtei@users.noreply.github.com> --- keyboards/splitkb/zima/rules.mk | 3 ++- keyboards/splitkb/zima/zima.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'keyboards/splitkb/zima') diff --git a/keyboards/splitkb/zima/rules.mk b/keyboards/splitkb/zima/rules.mk index 06d0b68bb1..e069e14816 100644 --- a/keyboards/splitkb/zima/rules.mk +++ b/keyboards/splitkb/zima/rules.mk @@ -22,7 +22,8 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth AUDIO_ENABLE = yes # Audio output ENCODER_ENABLE = yes # ENables the use of one or more encoders -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays +OLED_ENABLE = yes +OLED_DRIVER = SSD1306 # Enables the use of OLED displays HAPTIC_ENABLE += DRV2605L # Supported but not included by defaut LTO_ENABLE = yes diff --git a/keyboards/splitkb/zima/zima.c b/keyboards/splitkb/zima/zima.c index 74f9c84a79..6570f3449c 100644 --- a/keyboards/splitkb/zima/zima.c +++ b/keyboards/splitkb/zima/zima.c @@ -21,7 +21,7 @@ extern haptic_config_t haptic_config; #endif -#ifdef OLED_DRIVER_ENABLE +#ifdef OLED_ENABLE static bool is_asleep = false; static uint32_t oled_timer; @@ -94,7 +94,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) { #ifdef ENCODER_ENABLE bool encoder_update_kb(uint8_t index, bool clockwise) { -# ifdef OLED_DRIVER_ENABLE +# ifdef OLED_ENABLE oled_timer = timer_read32(); # endif # if defined(AUDIO_ENABLE) && defined(AUDIO_CLICKY) -- cgit v1.2.3