1
0
Fork 0

Merge remote-tracking branch 'origin/master' into develop

This commit is contained in:
QMK Bot 2022-05-18 17:33:52 +00:00
commit 3904a6afbe
23 changed files with 609 additions and 679 deletions

View file

@ -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

View file

@ -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
#include "layer_number.h"
#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
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 */
}

View file

@ -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

View file

@ -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
}
}

View file

@ -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