diff options
Diffstat (limited to 'keyboards/helix/rev3_5rows/keymaps/five_rows')
5 files changed, 62 insertions, 247 deletions
diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h index 02d4425d62..ab679d14b9 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/config.h @@ -1,26 +1,7 @@ -/* -This is the c configuration file for the keymap +// Copyright (c) 2022 Takeshi Ishii (mtei@github) +// SPDX-License-Identifier: GPL-2.0-or-later -Copyright 2012 Jun Wako <wakojun@gmail.com> -Copyright 2015 Jack Humbert -Copyright 2020 mtei - -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 <http://www.gnu.org/licenses/>. -*/ - -#ifndef CONFIG_USER_H -#define CONFIG_USER_H +#pragma once #undef TAPPING_TERM #define TAPPING_TERM 300 @@ -37,50 +18,3 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define PSEUDO_SPRINTF_DEFINED -// place overrides here - -// If you need more program area, try select and reduce rgblight modes to use. - -#define DISABLE_SYNC_TIMER - -// Selection of RGBLIGHT MODE to use. -#undef RGBLIGHT_ANIMATIONS -#undef RGBLIGHT_EFFECT_BREATHING -#undef RGBLIGHT_EFFECT_RAINBOW_MOOD -#undef RGBLIGHT_EFFECT_RAINBOW_SWIRL -#undef RGBLIGHT_EFFECT_SNAKE -#undef RGBLIGHT_EFFECT_KNIGHT -#undef RGBLIGHT_EFFECT_CHRISTMAS -#undef RGBLIGHT_EFFECT_STATIC_GRADIENT -#undef RGBLIGHT_EFFECT_RGB_TEST -#undef RGBLIGHT_EFFECT_ALTERNATING - -#if defined(LED_ANIMATIONS) -# if LED_ANIMATIONS_LEVEL > 1 - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - #define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - #define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -# else - #define RGBLIGHT_EFFECT_BREATHING - #define RGBLIGHT_EFFECT_RAINBOW_MOOD - //#define RGBLIGHT_EFFECT_RAINBOW_SWIRL - //#define RGBLIGHT_EFFECT_SNAKE - //#define RGBLIGHT_EFFECT_KNIGHT - //#define RGBLIGHT_EFFECT_CHRISTMAS - #define RGBLIGHT_EFFECT_STATIC_GRADIENT - //#define RGBLIGHT_EFFECT_RGB_TEST - //#define RGBLIGHT_EFFECT_ALTERNATING -# endif -#endif - -#endif /* CONFIG_USER_H */ - -#ifdef DEBUG_CONFIG -# include "debug_config.h" -#endif diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c index 16eff49244..d992425de7 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/keymap.c @@ -15,16 +15,55 @@ */ #include QMK_KEYBOARD_H -#include "util.h" -#include "bootloader.h" -#ifdef PROTOCOL_LUFA -#include "lufa.h" -#include "split_util.h" + +#include "key_blocks.h" +#include "layer_number_util.h" + +#ifdef ENABLE_COLEMAK +# define COLEMAK_Colemak (COLEMAK, " Colemak"), +#else +# define COLEMAK_Colemak #endif -#ifdef CONSOLE_ENABLE - #include <print.h> +#ifdef ENABLE_DVORAK +# define DVORAK_Dvorak (DVORAK, " Dvorak"), +#else +# define DVORAK_Dvorak +#endif +#ifdef ENABLE_EUCALYN +# define EUCALYN_Eucalyn (EUCALYN, " Eucalyn"), +#else +# define EUCALYN_Eucalyn +#endif + +#define LAYER_NAME_LIST \ + (QWERTY, " Qwerty"), \ + COLEMAK_Colemak \ + DVORAK_Dvorak \ + EUCALYN_Eucalyn \ + (KEYPAD, " Keypad"), \ + (AUX, ":AUX"), \ + (KAUX, ":00"), \ + (LOWER, ":Func"), \ + (RAISE, ":Extra"), \ + (PADFUNC, ":PadFunc"), \ + (ADJUST, ":Adjust") + +enum layer_number { + // _QWERTY, _COLEMAK, ... + MAP(BUILD_LAYER_ENUM_NUMBER, LAYER_NAME_LIST) +}; + +#ifdef OLED_ENABLE +// static const char QWERTY_name[] PROGMEM = " Qwerty"; ... +MAP(BUILD_LAYER_NAME_STR, LAYER_NAME_LIST) + +const char *layer_names[] = { + // [_QWERTY] = QWERTY_name, ... + MAP(BUILD_LAYER_NAME_TABLE, LAYER_NAME_LIST) +}; #endif -#include "layer_number.h" + +const size_t num_of_layer_names = GET_ITEM_COUNT(LAYER_NAME_LIST); extern keymap_config_t keymap_config; @@ -52,8 +91,6 @@ enum custom_keycodes { #define ____ _______ #define KC_ADJ MO(_ADJUST) -#define _1_____2_____3_____4_____5 KC_1, KC_2, KC_3, KC_4, KC_5 -#define _6_____7_____8_____9_____0 KC_6, KC_7, KC_8, KC_9, KC_0 #define LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS \ KC_LOWER, KC_LOWER, KC_CAPS, KC_LALT, KC_LGUI, KC_SPC, LT(_RAISE,KC_BSPC) #define RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER \ @@ -64,12 +101,6 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Qwerty */ -#define Q_____W_____E_____R_____T KC_Q, KC_W, KC_E, KC_R, KC_T -#define Y_____U_____I_____O_____P KC_Y, KC_U, KC_I, KC_O, KC_P -#define A_____S_____D_____F_____G KC_A, KC_S, KC_D, KC_F, KC_G -#define H_____J_____K_____L____SCLN KC_H, KC_J, KC_K, KC_L, KC_SCLN -#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B -#define N_____M____COMM__DOT___SLSH KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -91,12 +122,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Colemak */ -#define Q_____W_____F_____P_____G KC_Q, KC_W, KC_F, KC_P, KC_G -#define J_____L_____U_____Y____SCLN KC_J, KC_L, KC_U, KC_Y, KC_SCLN -#define A_____R_____S_____T_____D KC_A, KC_R, KC_S, KC_T, KC_D -#define H_____N_____E_____I_____O KC_H, KC_N, KC_E, KC_I, KC_O -#define Z_____X_____C_____V_____B KC_Z, KC_X, KC_C, KC_V, KC_B -#define K_____M____COMM__DOT___SLSH KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -109,6 +134,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_COLEMAK [_COLEMAK] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, Q_____W_____F_____P_____G, J_____L_____U_____Y____SCLN, KC_BSLS, @@ -116,14 +142,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, Z_____X_____C_____V_____B, GRV__QUOT, K_____M____COMM__DOT___SLSH, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Dvorak */ -#define QUOT_COMM___DOT____P_____Y KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y -#define F_____G_____C_____R_____L KC_F, KC_G, KC_C, KC_R, KC_L -#define A_____O_____E_____U_____I KC_A, KC_O, KC_E, KC_U, KC_I -#define D_____H_____T_____N_____S KC_D, KC_H, KC_T, KC_N, KC_S -#define SCLN___Q_____J_____K_____X KC_SCLN, KC_Q, KC_J, KC_K, KC_X -#define B_____M_____W_____V_____Z KC_B, KC_M, KC_W, KC_V, KC_Z #define GRV__SLSH KC_GRV, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | @@ -137,6 +158,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_DVORAK [_DVORAK] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, QUOT_COMM___DOT____P_____Y, F_____G_____C_____R_____L, KC_BSLS, @@ -144,14 +166,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, SCLN___Q_____J_____K_____X, GRV__SLSH, B_____M_____W_____V_____Z, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Eucalyn (http://eucalyn.hatenadiary.jp/entry/about-eucalyn-layout) */ -#define Q_____W___COMM___DOT__SCLN KC_Q, KC_W, KC_COMM, KC_DOT, KC_SCLN -#define M_____R_____D_____Y_____P KC_M, KC_R, KC_D, KC_Y, KC_P -#define A_____O_____E_____I_____U KC_A, KC_O, KC_E, KC_I, KC_U -#define G_____T_____K_____S_____N KC_G, KC_T, KC_K, KC_S, KC_N -#define Z_____X_____C_____V_____F KC_Z, KC_X, KC_C, KC_V, KC_F -#define B_____H_____J_____L____SLSH KC_B, KC_H, KC_J, KC_L, KC_SLSH /* ,-----------------------------------. ,-----------------------------------. * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | BS | * |-----+-----+-----+-----+-----+-----| |-----+-----+-----+-----+-----+-----| @@ -164,6 +181,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * |Lower|Lower|Caps | Alt | GUI |Space| BS |Enter|Space| GUI | Alt |Menu |Lower|Lower| * `-----------------------------------------------------------------------------------' */ +#ifdef ENABLE_EUCALYN [_EUCALYN] = LAYOUT_wrapper( KC_ESC, _1_____2_____3_____4_____5, _6_____7_____8_____9_____0, KC_BSPC, KC_TAB, Q_____W___COMM___DOT__SCLN, M_____R_____D_____Y_____P, KC_BSLS, @@ -171,6 +189,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { KC_LSFT, Z_____X_____C_____V_____F, GRV__QUOT, B_____H_____J_____L____SLSH, KC_RSFT, LOWER__LOWER__CAPS__LALT__LGUI__SPC__RABS, RAEN___SPC___RGUI__RALT__APP___LOWER__LOWER ), +#endif /* Keypad */ #define KP_TAB__PSLS_PAST KC_TAB, KC_PSLS, KC_PAST @@ -254,8 +273,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), /* Lower */ -#define F1____F2____F3____F4____F5 KC_F1, KC_F2, KC_F3, KC_F4, KC_F5 -#define F6____F7____F8____F9____F10 KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 #define XXXX__PAUS__SLCK___INS XXXX, KC_PAUS, KC_SLCK, KC_INS #define XXXX___INS__SLCK__PAUS__XXXX XXXX, KC_INS, KC_SLCK, KC_PAUS, XXXX #define ADJ___ADJ KC_ADJ, KC_ADJ @@ -391,21 +408,27 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return false; break; case COLEMAK: +#ifdef ENABLE_COLEMAK if (record->event.pressed) { update_base_layer(_COLEMAK); } +#endif return false; break; case DVORAK: +#ifdef ENABLE_DVORAK if (record->event.pressed) { update_base_layer(_DVORAK); } +#endif return false; break; case EUCALYN: +#ifdef ENABLE_EUCALYN if (record->event.pressed) { update_base_layer(_EUCALYN); } +#endif return false; break; case KEYPAD: @@ -455,7 +478,3 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { } return true; } - -void matrix_init_user(void) { - INIT_HELIX_OLED(); /* define in layer_number.h */ -} diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h b/keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h deleted file mode 100644 index 1272feba4f..0000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/layer_number.h +++ /dev/null @@ -1,26 +0,0 @@ -#pragma once - -// Each layer gets a name for readability, which is then used in the keymap matrix below. -// The underscores don't mean anything - you can have a layer called STUFF or any other name. -// Layer names don't all need to be of the same length, obviously, and you can also skip them -// entirely and just use numbers. -enum layer_number { - _QWERTY = 0, - _COLEMAK, - _DVORAK, - _EUCALYN, - _KEYPAD, - _AUX, - _KAUX, - _LOWER, - _RAISE, - _PADFUNC, - _ADJUST, -}; - -#if defined(SSD1306OLED) -extern void init_helix_oled(void); -# define INIT_HELIX_OLED() init_helix_oled(); -#else -# define INIT_HELIX_OLED() -#endif diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c b/keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c deleted file mode 100644 index a093afe0a4..0000000000 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/matrix_output_unselect_delay.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 2021 mtei - * - * 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 <http://www.gnu.org/licenses/>. - */ - -#include QMK_KEYBOARD_H - -void matrix_output_unselect_delay(uint8_t line, bool key_pressed) { - /* If none of the keys are pressed, - * there is no need to wait for time for the next line. */ - if (key_pressed) { -# ifdef MATRIX_IO_DELAY -# if MATRIX_IO_DELAY > 0 - wait_us(MATRIX_IO_DELAY); -# endif -# else - wait_us(30); -# endif - } -} diff --git a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk index 1d7f2f2744..a6ce7de118 100644 --- a/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk +++ b/keyboards/helix/rev3_5rows/keymaps/five_rows/rules.mk @@ -9,84 +9,3 @@ USER_NAME := mtei ENCODER_ENABLE = no LTO_ENABLE = no # if firmware size over limit, try this option LED_ANIMATIONS = yes - -CUSTOM_DELAY = yes - -ifneq ($(strip $(HELIX)),) - define KEYMAP_OPTION_PARSE - # parse 'dispoff', 'consle', 'back', 'oled', 'no-ani', 'mini-ani', 'lto', 'no-lto', 'no-enc', 'scan', 'scan-api' - $(if $(SHOW_PARCE),$(info parse .$1.)) #debug - ifeq ($(strip $1),dispoff) - OLED_ENABLE = no - RGBLIGHT_ENABLE = no - endif - ifeq ($(strip $1),console) - CONSOLE_ENABLE = yes - endif - ifeq ($(strip $1),debug) - DEBUG_CONFIG = yes - endif - ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),) - DEBUG_CONFIG = no - endif - ifneq ($(filter enc,$(strip $1)),) - ENCODER_ENABLE = yes - endif - ifneq ($(filter noenc no-enc no_enc,$(strip $1)),) - ENCODER_ENABLE = no - endif - ifeq ($(strip $1),oled) - OLED_ENABLE = yes - endif - ifeq ($(strip $1),back) - RGBLIGHT_ENABLE = yes - endif - ifneq ($(filter na no_ani no-ani,$(strip $1)),) - LED_ANIMATIONS = no - endif - ifneq ($(filter mini-ani mini_ani,$(strip $1)),) - LED_ANIMATIONS = mini - endif - ifneq ($(filter ani animation,$(strip $1)),) - LED_ANIMATIONS = yes - endif - ifeq ($(strip $1),lto) - LTO_ENABLE = yes - endif - ifneq ($(filter nolto no-lto no_lto,$(strip $1)),) - LTO_ENABLE = no - endif - ifeq ($(strip $1),scan) - # use DEBUG_MATRIX_SCAN_RATE - # see docs/newbs_testing_debugging.md - DEBUG_MATRIX_SCAN_RATE_ENABLE = yes - endif - ifeq ($(strip $1),scan-api) - # use DEBUG_MATRIX_SCAN_RATE - # see docs/newbs_testing_debugging.md - DEBUG_MATRIX_SCAN_RATE_ENABLE = api - endif - endef # end of KEYMAP_OPTION_PARSE - - COMMA=, - $(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \ - $(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME)))) -endif - -ifeq ($(strip $(LED_ANIMATIONS)), yes) - OPT_DEFS += -DLED_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2 -endif - -ifeq ($(strip $(LED_ANIMATIONS)), mini) - OPT_DEFS += -DLED_ANIMATIONS - OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1 -endif - -ifeq ($(strip $(CUSTOM_DELAY)),yes) - SRC += matrix_output_unselect_delay.c -endif - -ifeq ($(strip $(DEBUG_CONFIG)), yes) - OPT_DEFS += -DDEBUG_CONFIG -endif |