Skip to content

Commit

Permalink
Add some optimization to the Tetris keyboard (#4645)
Browse files Browse the repository at this point in the history
  • Loading branch information
drashna authored and mechmerlin committed Dec 14, 2018
1 parent 02d44be commit 161ffa0
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 44 deletions.
12 changes: 6 additions & 6 deletions keyboards/tetris/config.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#ifndef CONFIG_H
#define CONFIG_H
#pragma once

#include "config_common.h"

Expand All @@ -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
Expand Down Expand Up @@ -41,22 +41,22 @@
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
#define STARTUP_SONG SONG(ONE_UP_SOUND)
#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
42 changes: 14 additions & 28 deletions keyboards/tetris/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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 */

Expand Down Expand Up @@ -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 */

Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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 */
Expand All @@ -844,4 +831,3 @@ void led_set_user( uint8_t usb_led )
}
old_usb_led = usb_led;
} // End of led_set_user

21 changes: 11 additions & 10 deletions keyboards/tetris/rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 161ffa0

Please sign in to comment.