From 161ffa0af6b9af76b8e73a3f274bbc415ae9f842 Mon Sep 17 00:00:00 2001 From: Drashna Jaelre Date: Fri, 14 Dec 2018 10:42:31 -0800 Subject: [PATCH] Add some optimization to the Tetris keyboard (#4645) --- keyboards/tetris/config.h | 12 +++---- keyboards/tetris/keymaps/default/keymap.c | 42 ++++++++--------------- keyboards/tetris/rules.mk | 21 ++++++------ 3 files changed, 31 insertions(+), 44 deletions(-) diff --git a/keyboards/tetris/config.h b/keyboards/tetris/config.h index 7e7dac7cf..c2e552449 100644 --- a/keyboards/tetris/config.h +++ b/keyboards/tetris/config.h @@ -1,5 +1,4 @@ -#ifndef CONFIG_H -#define CONFIG_H +#pragma once #include "config_common.h" @@ -10,6 +9,7 @@ #define MANUFACTURER Fengz #define PRODUCT Tetris #define DESCRIPTION Planck mit + #define QMK_ESC_OUTPUT B0 #define QMK_ESC_INPUT D7 #define QMK_LED B7 @@ -41,8 +41,10 @@ keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \ ) +#define NO_ACTION_MACRO +#define NO_ACTION_FUNCTION + #define TAPPING_TERM 200 -#define PERMISSIVE_HOLD #ifdef AUDIO_ENABLE #define B5_AUDIO @@ -50,13 +52,11 @@ #define NO_MUSIC_MODE #endif +#if RGBLIGHT_ENABLE #define RGB_DI_PIN F5 -#ifdef RGB_DI_PIN #define RGBLIGHT_ANIMATIONS #define RGBLIGHT_SLEEP #define RGBLED_NUM 47 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 12 //#define RGBLIGHT_LIMIT_VAL 128 #endif - -#endif diff --git a/keyboards/tetris/keymaps/default/keymap.c b/keyboards/tetris/keymaps/default/keymap.c index 61f2961b4..5f48bd07a 100644 --- a/keyboards/tetris/keymaps/default/keymap.c +++ b/keyboards/tetris/keymaps/default/keymap.c @@ -286,7 +286,7 @@ static uint16_t Type_Hue=270; void matrix_init_user( void ) { - _delay_ms( 200 ); + wait_ms( 200 ); /* Encoder init */ encoder_state = PIND & 0x3; @@ -368,27 +368,22 @@ void matrix_scan_user( void ) switch ( layer ) { case 0: - register_code( KC_VOLD ); - unregister_code( KC_VOLD ); + tap_code( KC_VOLD ); break; case _CODE: - register_code( KC_LEFT ); - unregister_code( KC_LEFT ); + tap_code( KC_LEFT ); break; case _RGB: rgblight_decrease_val(); break; case _NUMB: - register_code( KC_LEFT ); - unregister_code( KC_LEFT ); + tap_code( KC_LEFT ); break; case _MARO: - register_code( KC_UP ); - unregister_code( KC_UP ); + tap_code( KC_UP ); break; default: - register_code( KC_VOLD ); - unregister_code( KC_VOLD ); + tap_code( KC_VOLD ); } /* End of Set Encoder Keycode */ @@ -441,27 +436,22 @@ void matrix_scan_user( void ) switch ( layer ) { case 0: - register_code( KC_VOLU ); - unregister_code( KC_VOLU ); + tap_code( KC_VOLU ); break; case _CODE: - register_code( KC_RGHT ); - unregister_code( KC_RGHT ); + tap_code( KC_RGHT ); break; case _RGB: rgblight_increase_val(); break; case _NUMB: - register_code( KC_RGHT ); - unregister_code( KC_RGHT ); + tap_code( KC_RGHT ); break; case _MARO: - register_code( KC_DOWN ); - unregister_code( KC_DOWN ); + tap_code( KC_DOWN ); break; default: - register_code( KC_VOLU ); - unregister_code( KC_VOLU ); + tap_code( KC_VOLU ); } /* End of Set Encoder Keycode */ @@ -739,11 +729,8 @@ bool process_record_user( uint16_t keycode, keyrecord_t *record ){ if (record->event.pressed) { // Do something when pressed } else { - register_code( KC_0 ); // send 0 - unregister_code( KC_0 ); - - register_code( KC_0 ); // send 0 twice without macro - unregister_code( KC_0 ); + tap_code( KC_0 ); // send 0 + tap_code( KC_0 ); // send 0 twice without macro } return false; // Skip all further processing of this key @@ -818,7 +805,7 @@ bool process_record_user( uint16_t keycode, keyrecord_t *record ){ void led_set_user( uint8_t usb_led ) { static uint8_t old_usb_led = 0; - _delay_ms( 10 ); /* gets rid of tick */ + wait_ms( 10 ); /* gets rid of tick */ if ( (usb_led & (1 << USB_LED_CAPS_LOCK) ) && !(old_usb_led & (1 << USB_LED_CAPS_LOCK) ) ) { /* CAPS on */ @@ -844,4 +831,3 @@ void led_set_user( uint8_t usb_led ) } old_usb_led = usb_led; } // End of led_set_user - diff --git a/keyboards/tetris/rules.mk b/keyboards/tetris/rules.mk index 784f6e462..4741c162b 100644 --- a/keyboards/tetris/rules.mk +++ b/keyboards/tetris/rules.mk @@ -44,17 +44,18 @@ BOOTLOADER =qmk-dfu # Build Options # comment out to disable the options. # -BOOTMAGIC_ENABLE ?= no # Virtual DIP switch configuration(+1000) -MOUSEKEY_ENABLE ?= no # Mouse keys(+4700) -EXTRAKEY_ENABLE ?= yes # Audio control and System control(+450) -CONSOLE_ENABLE ?= no # Console for debug(+400) -COMMAND_ENABLE ?= no # Commands for debug and configuration -SLEEP_LED_ENABLE ?= no # Breathing sleep LED during USB suspend -NKRO_ENABLE ?= yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work -BACKLIGHT_ENABLE ?= no # Enable keyboard backlight functionality -AUDIO_ENABLE ?= yes -RGBLIGHT_ENABLE ?= yes +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) +MOUSEKEY_ENABLE = no # Mouse keys(+4700) +EXTRAKEY_ENABLE = yes # Audio control and System control(+450) +CONSOLE_ENABLE = no # Console for debug(+400) +COMMAND_ENABLE = no # Commands for debug and configuration +SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend +NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +AUDIO_ENABLE = yes +RGBLIGHT_ENABLE = yes TAP_DANCE_ENABLE = no + EXTRAFLAGS += -flto # Make the hex smaller LAYOUTS = planck_mit