Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some optimization to the Tetris keyboard #4645

Merged
merged 1 commit into from
Dec 14, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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