summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/format.yml8
-rw-r--r--.github/workflows/lint.yml9
-rw-r--r--builddefs/build_test.mk1
-rw-r--r--builddefs/common_features.mk8
-rw-r--r--builddefs/testlist.mk1
-rw-r--r--data/mappings/info_config.hjson7
-rw-r--r--data/mappings/info_rules.hjson1
-rw-r--r--data/schemas/keyboard.jsonschema32
-rw-r--r--docs/_summary.md1
-rw-r--r--docs/feature_os_detection.md77
-rw-r--r--docs/ja/feature_grave_esc.md4
-rw-r--r--docs/newbs_building_firmware.md2
-rw-r--r--docs/porting_your_keyboard_to_qmk.md12
-rw-r--r--docs/reference_info_json.md21
-rw-r--r--docs/zh-cn/feature_grave_esc.md4
-rw-r--r--keyboards/bioi/f60/readme.md2
-rw-r--r--keyboards/bioi/main.c2
-rw-r--r--keyboards/bobpad/readme.md2
-rw-r--r--keyboards/cannonkeys/ortho60v2/config.h23
-rw-r--r--keyboards/cannonkeys/ortho60v2/halconf.h23
-rw-r--r--keyboards/cannonkeys/ortho60v2/info.json105
-rw-r--r--keyboards/cannonkeys/ortho60v2/keymaps/default/keymap.c99
-rw-r--r--keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c53
-rw-r--r--keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk (renamed from keyboards/xelus/xs60/keymaps/via/rules.mk)0
-rw-r--r--keyboards/cannonkeys/ortho60v2/mcuconf.h9
-rw-r--r--keyboards/cannonkeys/ortho60v2/ortho60v2.c31
-rw-r--r--keyboards/cannonkeys/ortho60v2/ortho60v2.h19
-rw-r--r--keyboards/cannonkeys/ortho60v2/readme.md22
-rw-r--r--keyboards/cannonkeys/ortho60v2/rules.mk2
-rw-r--r--keyboards/creatkeebs/glacier/readme.md2
-rw-r--r--keyboards/creatkeebs/thera/readme.md2
-rw-r--r--keyboards/gmmk/pro/rev1/ansi/keymaps/andrebrait/rules.mk19
-rw-r--r--keyboards/handwired/axon/readme.md4
-rw-r--r--keyboards/handwired/swiftrax/digicarp65/readme.md2
-rw-r--r--keyboards/idobao/id75/v1/config.h1
-rw-r--r--keyboards/idobao/id80/v2/config.h1
-rw-r--r--keyboards/idobao/id87/v1/config.h1
-rw-r--r--keyboards/idobao/montex/v1/config.h1
-rw-r--r--keyboards/keebio/nyquist/keymaps/danielhklein/keymap.c1
-rw-r--r--keyboards/late9/readme.md2
-rw-r--r--keyboards/linworks/fave65h/readme.md2
-rw-r--r--keyboards/linworks/fave84h/readme.md2
-rw-r--r--keyboards/linworks/fave87h/readme.md2
-rw-r--r--keyboards/mechanickeys/miniashen40/readme.md2
-rw-r--r--keyboards/moonlander/config.h2
-rw-r--r--keyboards/moonlander/moonlander.c88
-rw-r--r--keyboards/moonlander/moonlander.h28
-rw-r--r--keyboards/neopad/readme.md2
-rw-r--r--keyboards/pearlboards/atlas/readme.md2
-rw-r--r--keyboards/pearlboards/pandora/readme.md7
-rw-r--r--keyboards/pearlboards/pearl/readme.md2
-rw-r--r--keyboards/pearlboards/zeus/readme.md2
-rw-r--r--keyboards/pearlboards/zeuspad/readme.md2
-rw-r--r--keyboards/polycarbdiet/s20/readme.md2
-rw-r--r--keyboards/ramonimbao/mona/v1_1/readme.md2
-rw-r--r--keyboards/ramonimbao/mona/v32a/readme.md2
-rw-r--r--keyboards/ryanskidmore/rskeys100/readme.md2
-rwxr-xr-xkeyboards/ryloo_studio/m0110/readme.md4
-rw-r--r--keyboards/studiokestra/bourgeau/readme.md2
-rw-r--r--keyboards/studiokestra/cascade/readme.md2
-rw-r--r--keyboards/studiokestra/galatea/readme.md2
-rw-r--r--keyboards/studiokestra/nue/readme.md2
-rw-r--r--keyboards/xelus/xs60/hotswap/config.h (renamed from keyboards/xelus/xs60/config.h)23
-rw-r--r--keyboards/xelus/xs60/hotswap/halconf.h (renamed from keyboards/xelus/xs60/halconf.h)2
-rw-r--r--keyboards/xelus/xs60/hotswap/hotswap.c (renamed from keyboards/xelus/xs60/xs60.c)4
-rw-r--r--keyboards/xelus/xs60/hotswap/hotswap.h34
-rw-r--r--keyboards/xelus/xs60/hotswap/info.json83
-rw-r--r--keyboards/xelus/xs60/hotswap/keymaps/default/keymap.c81
-rw-r--r--keyboards/xelus/xs60/hotswap/keymaps/via/config.h (renamed from keyboards/xelus/xs60/keymaps/via/config.h)2
-rw-r--r--keyboards/xelus/xs60/hotswap/keymaps/via/keymap.c128
-rw-r--r--keyboards/xelus/xs60/hotswap/keymaps/via/rules.mk1
-rw-r--r--keyboards/xelus/xs60/hotswap/mcuconf.h (renamed from keyboards/xelus/xs60/mcuconf.h)2
-rw-r--r--keyboards/xelus/xs60/hotswap/readme.md16
-rw-r--r--keyboards/xelus/xs60/hotswap/rules.mk27
-rw-r--r--keyboards/xelus/xs60/soldered/config.h50
-rw-r--r--keyboards/xelus/xs60/soldered/halconf.h22
-rw-r--r--keyboards/xelus/xs60/soldered/info.json (renamed from keyboards/xelus/xs60/info.json)7
-rw-r--r--keyboards/xelus/xs60/soldered/keymaps/default/keymap.c (renamed from keyboards/xelus/xs60/keymaps/default/keymap.c)46
-rw-r--r--keyboards/xelus/xs60/soldered/keymaps/via/config.h19
-rw-r--r--keyboards/xelus/xs60/soldered/keymaps/via/keymap.c (renamed from keyboards/xelus/xs60/keymaps/via/keymap.c)46
-rw-r--r--keyboards/xelus/xs60/soldered/keymaps/via/rules.mk1
-rw-r--r--keyboards/xelus/xs60/soldered/mcuconf.h23
-rw-r--r--keyboards/xelus/xs60/soldered/readme.md (renamed from keyboards/xelus/xs60/readme.md)5
-rw-r--r--keyboards/xelus/xs60/soldered/rules.mk (renamed from keyboards/xelus/xs60/rules.mk)3
-rw-r--r--keyboards/xelus/xs60/soldered/soldered.c20
-rw-r--r--keyboards/xelus/xs60/soldered/soldered.h (renamed from keyboards/xelus/xs60/xs60.h)2
-rw-r--r--keyboards/ydkb/just60/readme.md2
-rw-r--r--lib/python/qmk/cli/__init__.py1
-rw-r--r--lib/python/qmk/cli/migrate.py81
-rwxr-xr-xlib/python/qmk/cli/new/keymap.py56
-rw-r--r--lib/python/qmk/submodules.py2
-rw-r--r--platforms/chibios/boards/PJRC_TEENSY_3_6/board/board.mk11
-rw-r--r--platforms/chibios/boards/PJRC_TEENSY_3_6/board/extra.c7
-rw-r--r--quantum/action_tapping.c161
-rw-r--r--quantum/matrix.c10
-rw-r--r--quantum/os_detection.c129
-rw-r--r--quantum/os_detection.h38
-rw-r--r--quantum/os_detection/tests/os_detection.cpp164
-rw-r--r--quantum/os_detection/tests/rules.mk5
-rw-r--r--quantum/os_detection/tests/testlist.mk1
-rw-r--r--quantum/rgblight/rgblight.h17
-rw-r--r--readme.md4
-rw-r--r--tests/basic/test_tapping.cpp69
-rw-r--r--tmk_core/protocol/chibios/usb_main.c64
-rw-r--r--tmk_core/protocol/lufa/lufa.c2
-rw-r--r--tmk_core/protocol/usb_descriptor.c10
-rw-r--r--tmk_core/protocol/usb_descriptor.h2
-rw-r--r--tmk_core/protocol/vusb/vusb.c7
-rw-r--r--users/sethBarberee/config.h3
-rw-r--r--util/udev/50-qmk.rules3
110 files changed, 2018 insertions, 257 deletions
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml
index b6ce4063fe..a93fb3a488 100644
--- a/.github/workflows/format.yml
+++ b/.github/workflows/format.yml
@@ -27,16 +27,14 @@ jobs:
run: |
pip3 install -r requirements-dev.txt
- - uses: trilom/file-changes-action@v1.2.4
+ - name: Get changed files
id: file_changes
- with:
- output: ' '
- fileOutput: ' '
+ uses: tj-actions/changed-files@v34
- name: Run qmk formatters
shell: 'bash {0}'
run: |
- cat ~/files_added.txt ~/files_modified.txt > ~/files_changed.txt
+ echo '${{ steps.file_changes.outputs.added_files}}' '${{ steps.file_changes.outputs.modified_files}}' > ~/files_changed.txt
qmk format-c --core-only $(< ~/files_changed.txt) || true
qmk format-python $(< ~/files_changed.txt) || true
qmk format-text $(< ~/files_changed.txt) || true
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 5b8a45f26b..af656cf80f 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -19,21 +19,20 @@ jobs:
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- - uses: trilom/file-changes-action@v1.2.4
+ - name: Get changed files
id: file_changes
- with:
- output: '\n'
+ uses: tj-actions/changed-files@v34
- name: Print info
run: |
git rev-parse --short HEAD
echo ${{ github.event.pull_request.base.sha }}
- echo '${{ steps.file_changes.outputs.files}}'
+ echo '${{ steps.file_changes.outputs.all_changed_files}}'
- name: Run qmk lint
shell: 'bash {0}'
run: |
- QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.files}}')
+ QMK_CHANGES=$(echo -e '${{ steps.file_changes.outputs.all_changed_files}}' | sed 's/ /\n/g')
QMK_KEYBOARDS=$(qmk list-keyboards)
exit_code=0
diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk
index 7c8fdd20e5..4230598373 100644
--- a/builddefs/build_test.mk
+++ b/builddefs/build_test.mk
@@ -62,6 +62,7 @@ include $(PLATFORM_PATH)/common.mk
include $(TMK_PATH)/protocol.mk
include $(QUANTUM_PATH)/debounce/tests/rules.mk
include $(QUANTUM_PATH)/encoder/tests/rules.mk
+include $(QUANTUM_PATH)/os_detection/tests/rules.mk
include $(QUANTUM_PATH)/sequencer/tests/rules.mk
include $(QUANTUM_PATH)/wear_leveling/tests/rules.mk
include $(QUANTUM_PATH)/logging/print.mk
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index d9130b5338..dbcfcb7145 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -907,3 +907,11 @@ ifeq ($(strip $(ENCODER_ENABLE)), yes)
OPT_DEFS += -DENCODER_MAP_ENABLE
endif
endif
+
+ifeq ($(strip $(OS_DETECTION_ENABLE)), yes)
+ SRC += $(QUANTUM_DIR)/os_detection.c
+ OPT_DEFS += -DOS_DETECTION_ENABLE
+ ifeq ($(strip $(OS_DETECTION_DEBUG_ENABLE)), yes)
+ OPT_DEFS += -DOS_DETECTION_DEBUG_ENABLE
+ endif
+endif
diff --git a/builddefs/testlist.mk b/builddefs/testlist.mk
index 8a30a44972..74a794adcd 100644
--- a/builddefs/testlist.mk
+++ b/builddefs/testlist.mk
@@ -3,6 +3,7 @@ FULL_TESTS := $(notdir $(TEST_LIST))
include $(QUANTUM_PATH)/debounce/tests/testlist.mk
include $(QUANTUM_PATH)/encoder/tests/testlist.mk
+include $(QUANTUM_PATH)/os_detection/tests/testlist.mk
include $(QUANTUM_PATH)/sequencer/tests/testlist.mk
include $(QUANTUM_PATH)/wear_leveling/tests/testlist.mk
include $(PLATFORM_PATH)/test/testlist.mk
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index c1c01ff70f..414439d6e7 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -18,6 +18,10 @@
"BACKLIGHT_ON_STATE": {"info_key": "backlight.on_state", "value_type": "int"},
"BACKLIGHT_PIN": {"info_key": "backlight.pin"},