Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 6028a1f8cbe5922f7a9be4bb9ed8513c9312595f
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Fri Apr 2 15:49:55 2021 +0300

    Fix sneaky infinite loop with `combo_disable()`

    No need to call `dump_key_buffer` when disabling combos because the
    buffer is either being dumped if a combo-key was pressed, or the buffer is empty
    if a non-combo-key is pressed.

commit 4d9e53d1da81b2c610bed44f592e5ac268ef6400
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Tue Mar 30 10:02:38 2021 +0300

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit 78a7f7089b177c3a722859d37ab6f2cc61222514
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Tue Mar 30 08:43:37 2021 +0300

    Change "the" combo action example to "email" example.

commit 107e5432c04b25c68207f5e3d3294042bc86dff1
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Mar 29 21:27:17 2021 +0300

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit 95e48d61d7fc95ce77514625d992abdd067c656c
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Mar 29 21:26:38 2021 +0300

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit 027e68d9fcb11148966eefe7682753a25424962a
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Mar 29 21:23:04 2021 +0300

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit f3e149b61ae4aa2603c29d8973555b9c1e736109
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Mar 29 21:22:35 2021 +0300

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit 2342b98a73cd869c6039fb07d903c3891cec8268
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Mar 29 21:21:55 2021 +0300

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit d7447c7cebd20afd51787c3c98aeacb7f3fddd42
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Sun Mar 28 23:17:05 2021 +0300

    Add more examples and clarify things with dict management system.

    - Simple examples now has a combo that has modifiers included.
    - The slightly more advanced examples now are actually more advanced
      instead of just `tap_code16(<modded-keycode>)`.
    - Added a note that `COMBO_ACTION`s are not needed anymore as you can
      just use custom keycodes.
    - Added a note that the `g/keymap_combo.h` macros use the
      `process_combo_event` function and that it is not usable in one's
      keymap afterwards.

commit 471ec9e96a88c8988939d28f1f3d69c7439ed609
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Fri Mar 26 08:35:51 2021 +0200

    Add `EXTRA_SHORT_COMBOS` option.

    Stuff combo's `disabled` and `active` flags into `state`. Possibly can
    save some space.

commit 5ec2a51b36422617b2694be143d570626de41171
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Thu Feb 11 11:57:27 2021 +0200

    Update quantum/process_keycode/process_combo.c

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit 9afd8d0e1466e3e62c48af759d8280cbb67518af
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Sat Feb 6 14:20:11 2021 +0200

    Update docs/feature_combo.md

    Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>

commit 98791c48e05e356d8ed72bb935448aaa154eee00
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Fri Feb 5 15:38:22 2021 +0200

    Docs for `COMBO_ONLY_FROM_LAYER`

commit feec1a83e008da5ac164b306587377acc4212395
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Wed Feb 3 08:55:39 2021 +0200

    Fix not passing a pointer when NO_ACTION_TAPPING is defined.

commit 946866e58519c4dc0b4b89a13121ed272542eda2
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Feb 1 09:35:40 2021 +0200

    Fix `process_combo_key_release` not called correctly with tap-only combos

commit 40728c2e359e23577d8fa897ad45d1a3f61c68ff
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Mon Jan 25 13:12:08 2021 +0200

    Remove the size flags from combo_t struct boolean members.

    This in the end actually saves space as the members are accessed so many
    times. The amount of operations needed to access the bits uses more
    memory than setting the size saves.

commit 81a6bee0874e7e7fee9f071e02173083c3ea641d
Author: Pete Sevander <pete.sevander@gmail.com>
Date:   Sat Mar 28 21:13:12 2020 +0200

    Combo processing improvements.

    Now it is possible to use ModTap and LayerTap keys as part of combos.
    Overlapping combos also don't trigger all the combos, just exactly the
    one that you press.

    New settings:
    - COMBO_MUST_HOLD_MODS
    - COMBO_MOD_TERM
    - COMBO_TERM_PER_COMBO
    - COMBO_MUST_HOLD_PER_COMBO
    - COMBO_STRICT_TIMER
    - COMBO_NO_TIMER

commit 49ff80c4cb8f0d47bf92a15bbf174d3af38631a4
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Thu Mar 25 23:44:37 2021 +1100

    Format code according to conventions (qmk#12381)

    Co-authored-by: QMK Bot <hello@qmk.fm>

commit 45ea394a85023965d9875dbd1d02126b94bcc9b8
Author: Oleg Senchenko <senchenkoob@gmail.com>
Date:   Thu Mar 25 15:42:25 2021 +0300

    Fix connection issue in split keyboards when slave and OLED display are connected via I2C, fix qmk#9335 (qmk#11487)

    * In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix qmk#9335

    * Revert "In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix qmk#9335"

    This reverts commit 3ee639e.

    * In split keyboards fix connection issue when slave and OLED are connected via I2C. Fix qmk#9335

    * Update drivers/oled/oled_driver.c

    Co-authored-by: Drashna Jaelre <drashna@live.com>

    Co-authored-by: osenchenko <osechenko@chiefmate.io>
    Co-authored-by: Drashna Jaelre <drashna@live.com>

commit 7b283b6daa0db1e2494de45b0f12ae249c9df417
Author: Liyang HU <github.com@liyang.hu>
Date:   Thu Mar 25 12:38:54 2021 +0000

    keyboards/xd60/readme.md: link to schematic on EasyEDA (qmk#12018)

commit d7725360987a05478aecc005b14552ecccaaf518
Author: XScorpion2 <rcalt2vt@gmail.com>
Date:   Thu Mar 25 06:33:18 2021 -0500

    Adding keyboard level weak function for slave matrix scan (qmk#12317)

commit deac178a077b528a9b4f41301fbb587f417c23df
Author: Ryan <fauxpark@gmail.com>
Date:   Wed Mar 24 13:09:56 2021 +1100

    LED Matrix: Fix up eeconfig code (qmk#12327)

commit 7ec6d6d7bcaece0a8a3f032e24dca12f3e380da0
Author: Donald Kjer <don.kjer@gmail.com>
Date:   Sat Mar 20 17:11:22 2021 -0700

    Durgod keyboard refactor in preparation for adding additional durgod keyboards (qmk#11978)

    * Durgod keyboard refactor in preparation for adding additional durgod keyboards

    * Moving Durgod board configuration into a common location
    * Reformatting layout macro whitespace
    * Moving TGUI key functionality to the keyboard level
    * Replacing default keymap.c with keymap.json
    * Changing default and default_toggle_mac_windows keymaps to LAYOUT_all
    * Increasing EEPROM size to support more VIA layers
    * Fixing media keys; KC_MRWD/KC_MFFD => KC_MPRV/KC_NXT

    * Move ISO Enter key to the correct row in Durgod K320

    * Minor whitespace and readme cleanup for K320

    * Changing durgod/k320 debounce back to default

    * Simplifying DURGOD_STM32_F070's chconf.h

    Co-authored-by: Simon Arlott <sa.me.uk>
    Co-authored-by: Tyler Tidman <tyler.tidman@draak.ca>

commit c00d367f61026f6cf0ac9d726b4324436fa9973c
Author: Ryan <fauxpark@gmail.com>
Date:   Sat Mar 20 14:52:33 2021 +1100

    LED Matrix: Additional common_features.mk tweaks (qmk#12187)

commit 16731c708e06f038c02f4f2205156938906c8c6f
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Fri Mar 19 16:24:36 2021 +0000

    Format code according to conventions (qmk#12292)

    Co-authored-by: QMK Bot <hello@qmk.fm>

commit 208d7a6308bb10b7a18a0df4bf490402cd815e0f
Author: Xelus22 <17491233+Xelus22@users.noreply.github.com>
Date:   Fri Mar 19 08:29:18 2021 +0000

    ARM WS2812 SPI config (baudrate and circular buffer) (qmk#12216)

    * initial commit

    * include circular buffer command

    * add endif

    * circular buffer mode

    * remove untrue comment

    * revamp and add documentation

    * do not allow WS2812_SPI_SYNC & CIRCULAR_BUFFER

commit 9075ff3219004ee650fa29d9b7a1d25481501c25
Author: Zach White <skullydazed@gmail.com>
Date:   Thu Mar 18 16:10:40 2021 -0700

    Consistently use bin/qmk when that script is called (qmk#12286)

    * Pass QMK_BIN down to build_keyboard.mk

    * choose the correct qmk script

commit aa90487a64a786cf6a47f853e77044edb6df926f
Author: XScorpion2 <rcalt2vt@gmail.com>
Date:   Wed Mar 17 01:56:39 2021 -0500

    [Keyboard] Split RGB Matrix Zygomorph support (qmk#11083)

commit 1aa634007703948d424d7fcac33e334f1b4cf99e
Author: Michael Stapelberg <stapelberg@users.noreply.github.com>
Date:   Tue Mar 16 20:45:21 2021 +0100

    core: add support for MK66F18 (Teensy 3.6) micro controller (qmk#12258)

    This is in preparation for qmk#10171

commit 579b203ca71e5a5ad1ada7fed384fad94f9ca9db
Author: Ryan <fauxpark@gmail.com>
Date:   Sat Mar 13 11:38:26 2021 +1100

    LED Matrix: Clean up includes (qmk#12197)

commit 24612f76ed751128ef1f5dc79a267a05b55c953b
Author: Joel Challis <git@zvecr.com>
Date:   Wed Mar 10 22:47:36 2021 +0000

    Move gpio wait logic to wait.h (qmk#12067)

commit 1019cc8bcfab05e49c6bd341e8fa7eb30d0376c7
Author: Ryan <fauxpark@gmail.com>
Date:   Thu Mar 11 05:21:28 2021 +1100

    Remove `FUNC()` (qmk#12161)

commit daa9bb7c45694e8c7a4f78d6093a73530a977b9b
Author: Ryan <fauxpark@gmail.com>
Date:   Mon Mar 8 16:55:00 2021 +1100

    LED Matrix: decouple from Backlight (qmk#12054)

commit 0ba4d2a4c4f834cb8a51d9ec6e0fae2ecd8b1e82
Author: Zach White <skullydazed@gmail.com>
Date:   Sun Mar 7 19:10:03 2021 -0800

    Begin the process of deprecating bin/qmk in favor of the global cli (qmk#12109)

    * Begin the process of deprecating bin/qmk in favor of the global cli

    * Correctly set the qmk bin

commit e53d95a9421a5bfbb891b3a78244a8425184265a
Author: Zach White <skullydazed@gmail.com>
Date:   Sun Mar 7 12:01:13 2021 -0800

    trivial change to trigger api update

commit be65191b4ecbde6d42437c7fe44bf409193bb857
Author: Drashna Jaelre <drashna@live.com>
Date:   Fri Mar 5 16:26:57 2021 -0800

    Set default OLED Update Interval for Split Keyboards (qmk#12107)

    Because the matrix scanning is slower for splits, in general,
    the frequent updating of the OLEDs can slow down the matrix scanning.
    To help prevent that, set the update interval for the OLEDs to not
    update as frequently.

commit 6c93b26b6a2b7ac5bc69743e4f65b42e00af2c6b
Author: Drashna Jaelre <drashna@live.com>
Date:   Wed Mar 3 10:38:21 2021 -0800

    [Keyboard] Enable RGB Matrix for Corne (qmk#12091)

commit f58948330bab4c86f60d51055b7bc1ec27b430d2
Author: Sergey Vlasov <sigprof@gmail.com>
Date:   Wed Mar 3 07:26:06 2021 +0300

    Add support for complementary outputs to the WS2812 PWM driver (qmk#11988)

commit a5befa39421b3c496d1589972de684ad7cb3c7ca
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Wed Mar 3 07:54:11 2021 +1100

    Format code according to conventions (qmk#12088)

    Co-authored-by: QMK Bot <hello@qmk.fm>

commit b0a5c2f8660ee4e9e6df5e56e19077ea7552ab8e
Author: XScorpion2 <rcalt2vt@gmail.com>
Date:   Tue Mar 2 14:32:15 2021 -0600

    Split RGB Matrix (qmk#11055)

    * Split RGB Matrix

    * Suspend State sync for rgb matrix

commit 62cd0f95540c2015025bd1a0e77fc2dd5ff02f1c
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Mar 1 18:08:18 2021 +0000

    Format code according to conventions (qmk#12076)

    Co-authored-by: QMK Bot <hello@qmk.fm>

commit e6cfb826df3dd6af3f90966d9a6ab9044feb9d22
Author: Drashna Jaelre <drashna@live.com>
Date:   Mon Mar 1 08:57:02 2021 -0800

    Add ability to toggle One Shot functionality (qmk#4198)

    Co-authored-by: Nick Brassel <nick@tzarc.org>
    Co-authored-by: Ryan <fauxpark@gmail.com>

commit 66b272e879cb8b8f43fa2c86ac2fe3ba7f5dcd91
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Feb 28 15:53:54 2021 +0000

    Format code according to conventions (qmk#12056)

    Co-authored-by: QMK Bot <hello@qmk.fm>

commit f62a92d9d6fbc91e919b4ecc0941757851495235
Author: Joel Challis <git@zvecr.com>
Date:   Sun Feb 28 15:52:58 2021 +0000

    Refactor of USB code within split_common (qmk#11890)

    * Initial refactor of usb code within split_common

    * Add headers

    * Correct disable condition

    * Format

    * Align func name

commit 988e1d20b93a5a728df4683a82a90c0073edf28f
Author: Joel Challis <git@zvecr.com>
Date:   Sun Feb 28 15:52:43 2021 +0000

    ARM - Refactor SLEEP_LED to support more platforms (qmk#8403)

    * Initial refactor of ARM SLEEP_LED to enable more platforms

    * fix build issues

    * Disable SLEEP_LED for boards with no caps lock code

    * Enable GPT14 for boards with caps lock code and SLEEP_LED enabled

    * Enable GPT for boards with caps lock code and SLEEP_LED enabled

commit 17c6a3896fb7db66bee21444a5f73553a5dc2f9f
Author: Joel Challis <git@zvecr.com>
Date:   Sun Feb 28 15:50:15 2021 +0000

    Overhaul bootmagic logic to have single entrypoint (qmk#8532)

    * Relocate bootmagic logic to have single entrypoint

    * Align init of layer state

commit 8fc5dcf094e12b24379dd2e152804aedeaa2a14c
Author: James Young <18669334+noroadsleft@users.noreply.github.com>
Date:   Sat Feb 27 12:54:23 2021 -0800

    Branch point for 2021 May 29 Breaking Change
  • Loading branch information
Slyces committed May 10, 2021
1 parent 0f5ce64 commit 0d3e53b
Show file tree
Hide file tree
Showing 140 changed files with 2,560 additions and 2,057 deletions.
13 changes: 10 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ $(info QMK Firmware $(QMK_VERSION))
endif
endif

# Determine which qmk cli to use
ifeq (,$(shell which qmk))
QMK_BIN = bin/qmk
else
QMK_BIN = qmk
endif

# avoid 'Entering|Leaving directory' messages
MAKEFLAGS += --no-print-directory

Expand Down Expand Up @@ -384,7 +391,7 @@ define PARSE_KEYMAP
# Format it in bold
KB_SP := $(BOLD)$$(KB_SP)$(NO_COLOR)
# Specify the variables that we are passing forward to submake
MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY)
MAKE_VARS := KEYBOARD=$$(CURRENT_KB) KEYMAP=$$(CURRENT_KM) REQUIRE_PLATFORM_KEY=$$(REQUIRE_PLATFORM_KEY) QMK_BIN=$$(QMK_BIN)
# And the first part of the make command
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_keyboard.mk $$(MAKE_TARGET)
# The message to display
Expand Down Expand Up @@ -501,8 +508,8 @@ endef
%:
# Check if we have the CMP tool installed
cmp $(ROOT_DIR)/Makefile $(ROOT_DIR)/Makefile >/dev/null 2>&1; if [ $$? -gt 0 ]; then printf "$(MSG_NO_CMP)"; exit 1; fi;
# Ensure that bin/qmk works.
if ! bin/qmk hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi
# Ensure that $(QMK_BIN) works.
if ! $(QMK_BIN) hello 1> /dev/null 2>&1; then printf "$(MSG_PYTHON_MISSING)"; exit 1; fi
# Check if the submodules are dirty, and display a warning if they are
ifndef SKIP_GIT
if [ ! -e lib/chibios ]; then git submodule sync lib/chibios && git submodule update --depth 50 --init lib/chibios; fi
Expand Down
3 changes: 3 additions & 0 deletions bin/qmk
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,11 @@ def main():
"""
# Change to the root of our checkout
os.environ['ORIG_CWD'] = os.getcwd()
os.environ['DEPRECATED_BIN_QMK'] = '1'
os.chdir(qmk_dir)

print('Warning: The bin/qmk script is being deprecated. Please install the QMK CLI: python3 -m pip install qmk', file=sys.stderr)

# Import the subcommands
import qmk.cli # noqa

Expand Down
2 changes: 1 addition & 1 deletion build_json.mk
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ endif

# Generate the keymap.c
$(KEYBOARD_OUTPUT)/src/keymap.c: $(KEYMAP_JSON)
bin/qmk json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)
$(QMK_BIN) json2c --quiet --output $(KEYMAP_C) $(KEYMAP_JSON)
9 changes: 6 additions & 3 deletions build_keyboard.mk
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ endif

include common.mk

# Set the qmk cli to use
QMK_BIN ?= qmk

# Set the filename for the final firmware binary
KEYBOARD_FILESAFE := $(subst /,_,$(KEYBOARD))
TARGET ?= $(KEYBOARD_FILESAFE)_$(KEYMAP)
Expand Down Expand Up @@ -97,7 +100,7 @@ MAIN_KEYMAP_PATH_4 := $(KEYBOARD_PATH_4)/keymaps/$(KEYMAP)
MAIN_KEYMAP_PATH_5 := $(KEYBOARD_PATH_5)/keymaps/$(KEYMAP)

# Pull in rules from info.json
INFO_RULES_MK = $(shell bin/qmk generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk)
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/rules.mk)
include $(INFO_RULES_MK)

# Check for keymap.json first, so we can regenerate keymap.c
Expand Down Expand Up @@ -295,13 +298,13 @@ endif
CONFIG_H += $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/layouts.h

$(KEYBOARD_OUTPUT)/src/info_config.h: $(INFO_JSON_FILES)
bin/qmk generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h
$(QMK_BIN) generate-config-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/info_config.h

$(KEYBOARD_OUTPUT)/src/default_keyboard.h: $(INFO_JSON_FILES)
bin/qmk generate-keyboard-h --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/default_keyboard.h

$(KEYBOARD_OUTPUT)/src/layouts.h: $(INFO_JSON_FILES)
bin/qmk generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h
$(QMK_BIN) generate-layouts --quiet --keyboard $(KEYBOARD) --output $(KEYBOARD_OUTPUT)/src/layouts.h

generated-files: $(KEYBOARD_OUTPUT)/src/info_config.h $(KEYBOARD_OUTPUT)/src/default_keyboard.h $(KEYBOARD_OUTPUT)/src/layouts.h

Expand Down
37 changes: 26 additions & 11 deletions common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -223,14 +223,16 @@ VALID_LED_MATRIX_TYPES := IS31FL3731 custom

ifeq ($(strip $(LED_MATRIX_ENABLE)), yes)
ifeq ($(filter $(LED_MATRIX_DRIVER),$(VALID_LED_MATRIX_TYPES)),)
$(error LED_MATRIX_DRIVER="$(LED_MATRIX_DRIVER)" is not a valid matrix type)
else
BACKLIGHT_ENABLE = yes
BACKLIGHT_DRIVER = custom
OPT_DEFS += -DLED_MATRIX_ENABLE
SRC += $(QUANTUM_DIR)/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix_drivers.c
$(error "$(LED_MATRIX_DRIVER)" is not a valid matrix type)
endif
OPT_DEFS += -DLED_MATRIX_ENABLE
ifneq (,$(filter $(MCU), atmega16u2 atmega32u2 at90usb162))
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
OPT_DEFS += -DLIB8_ATTINY
endif
SRC += $(QUANTUM_DIR)/process_keycode/process_backlight.c
SRC += $(QUANTUM_DIR)/led_matrix.c
SRC += $(QUANTUM_DIR)/led_matrix_drivers.c

ifeq ($(strip $(LED_MATRIX_DRIVER)), IS31FL3731)
OPT_DEFS += -DIS31FL3731 -DSTM32_I2C -DHAL_USE_I2C=TRUE
Expand Down Expand Up @@ -422,10 +424,6 @@ ifeq ($(strip $(TERMINAL_ENABLE)), yes)
OPT_DEFS += -DUSER_PRINT
endif

ifeq ($(strip $(USB_HID_ENABLE)), yes)
include $(TMK_DIR)/protocol/usb_hid.mk
endif

ifeq ($(strip $(WPM_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/wpm.c
OPT_DEFS += -DWPM_ENABLE
Expand Down Expand Up @@ -459,6 +457,23 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/dip_switch.c
endif

VALID_MAGIC_TYPES := yes full lite
BOOTMAGIC_ENABLE ?= no
ifneq ($(strip $(BOOTMAGIC_ENABLE)), no)
ifeq ($(filter $(BOOTMAGIC_ENABLE),$(VALID_MAGIC_TYPES)),)
$(error BOOTMAGIC_ENABLE="$(BOOTMAGIC_ENABLE)" is not a valid type of magic)
endif
ifeq ($(strip $(BOOTMAGIC_ENABLE)), lite)
OPT_DEFS += -DBOOTMAGIC_LITE
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_lite.c
else
OPT_DEFS += -DBOOTMAGIC_ENABLE
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/bootmagic_full.c
endif
endif
COMMON_VPATH += $(QUANTUM_DIR)/bootmagic
QUANTUM_SRC += $(QUANTUM_DIR)/bootmagic/magic.c

VALID_CUSTOM_MATRIX_TYPES:= yes lite no

CUSTOM_MATRIX ?= no
Expand Down
2 changes: 1 addition & 1 deletion data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
},
"processor": {
"type": "string",
"enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "STM32G431", "STM32G474", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"]
"enum": ["cortex-m0", "cortex-m0plus", "cortex-m3", "cortex-m4", "MKL26Z64", "MK20DX128", "MK20DX256", "MK66F18", "STM32F042", "STM32F072", "STM32F103", "STM32F303", "STM32F401", "STM32F411", "STM32G431", "STM32G474", "atmega16u2", "atmega32u2", "atmega16u4", "atmega32u4", "at90usb162", "at90usb646", "at90usb647", "at90usb1286", "at90usb1287", "atmega32a", "atmega328p", "atmega328", "attiny85", "unknown"]
},
"board": {
"type": "string",
Expand Down
14 changes: 13 additions & 1 deletion docs/config_options.md
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,21 @@ If you define these options you will enable the associated feature, which may in
few ms of delay from this. But if you're doing chording on something with 3-4ms
scan times? You probably want this.
* `#define COMBO_COUNT 2`
* Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature.
* Set this to the number of combos that you're using in the [Combo](feature_combo.md) feature. Or leave it undefined and programmatically set the count.
* `#define COMBO_TERM 200`
* how long for the Combo keys to be detected. Defaults to `TAPPING_TERM` if not defined.
* `#define COMBO_MUST_HOLD_MODS`
* Flag for enabling extending timeout on Combos containing modifers
* `#define COMBO_MOD_TERM 200`
* Allows for extending COMBO_TERM for mod keys while mid-combo.
* `#define COMBO_MUST_HOLD_PER_COMBO`
* Flag to enable per-combo COMBO_TERM extension and `get_combo_must_hold()` function
* `#define COMBO_TERM_PER_COMBO`
* Flag to enable per-combo COMBO_TERM extension and `get_combo_term()` function
* `#define COMBO_STRICT_TIMER`
* Only start the combo timer on the first key press instead of on all key presses.
* `#define COMBO_NO_TIMER`
* Disable the combo timer completely for relaxed combos.
* `#define TAP_CODE_DELAY 100`
* Sets the delay between `register_code` and `unregister_code`, if you're having issues with it registering properly (common on VUSB boards). The value is in milliseconds.
* `#define TAP_HOLD_CAPS_DELAY 80`
Expand Down
Loading

0 comments on commit 0d3e53b

Please sign in to comment.