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

Stm32f4 uF2 prompt the problem of insufficient EEPROM #16750

Closed
wants to merge 91 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
ec4ddbf
修复stm32 f4 uf2问题
swkidden Mar 30, 2022
e3d6389
Merge branch 'qmk:master' into master
swkidden Mar 30, 2022
8b6c323
Merge branch 'qmk:master' into master
swkidden May 1, 2022
89a5d5a
Fixup command sequencing for master/develop. (#17227)
tzarc May 28, 2022
07f5147
Fixup iron165r2 (#17119)
waffle87 May 29, 2022
6a0ed63
Fix quark_lp via firmware size (#17233)
zvecr May 29, 2022
e22a183
Use correct container for unit test workflow (#17242)
zvecr May 29, 2022
a06b5ca
Fix API errors (#17239)
zvecr May 30, 2022
cc7a3f8
[Keymap] Update sethbarberee code to QK_BOOT and try out DVVORAK (#17…
SethBarberee May 30, 2022
15a86d5
[Keymap] Updates to layouts/community/ortho_4x12/junonum (#17249)
JunoNgx May 30, 2022
3826fca
[Keyboard] Add str.merro60 pcb (#17097)
gaclee3b May 30, 2022
25ec68c
Fix docs typo (#17254)
daskygit May 30, 2022
2879573
Fix various lint errors (#17255)
zvecr May 30, 2022
0e11b51
Convert ergodone to use core mcp23018 driver (#17005)
zvecr May 31, 2022
650be92
Nix shell updates (#17243)
sigprof May 31, 2022
b554e4b
Change AW20216 SPI Mode from 0 to 3, to fix RGB LEDs on GMMK Pro (#17…
trwnh May 31, 2022
cda343a
[Keymap] Drashna update for post Q2 merge (#17241)
drashna May 31, 2022
d5ed3ae
[Keyboard] fix dz64rgb rgb sleep (#17209)
moyi4681 May 31, 2022
8153b55
Add trailing parens to `get_oneshot_mods` in feature_advanced_keycode…
forrcaho May 31, 2022
5b16671
move RESET to QK_BOOT (#17278)
carlosala May 31, 2022
f330ef1
Add wavtype/p01_ultra (#16513)
wavtype Jun 2, 2022
7ff6663
[Keyboard] Acheron Shark alpha Encoder support (#17266)
VaclavKucera Jun 2, 2022
7c3cb99
[Keymap] Fix maddie layout for ploopy/trackball_nano (#17213)
aidalgol Jun 2, 2022
9a58727
keyboards: fix malformed info.json files (#17292)
ryanskidmore Jun 2, 2022
71b928f
[Keyboard] Organized versions of mikeneko65 (#16985)
takishim Jun 2, 2022
5bcfc27
Fix lint errors (#17293)
zvecr Jun 2, 2022
706194b
Add Encoder Map Swap Hands config for boards that support both featur…
drashna Jun 3, 2022
7871657
Disable features known to cause BIOS/suspend issues (#17270)
EasonQian1 Jun 4, 2022
95d20e6
Fix and add unit tests for Caps Word to work with Unicode Map, Auto S…
getreuer Jun 5, 2022
4c48760
Apply EXPECT_REPORT and EXPECT_EMPTY_REPORT (#17311)
KarlK90 Jun 5, 2022
b85c224
docs: reflect systemd's change in language (#17322)
TRiggAtGM Jun 6, 2022
f0b1c8c
add new keyboard atset (#17195)
anubhavd7 Jun 7, 2022
cf1e66b
[Keymap] add trwnh keymap for gmmk pro (#17267)
trwnh Jun 7, 2022
5d767f8
[Keyboard] Add alt34 keyboard (#17223)
tommyalatalo Jun 7, 2022
c681b6d
[Keyboard] Handle timeout on UART for Redox Wireless (#17203)
tomaszj Jun 7, 2022
b8bbd0c
[Keyboard] Add Stello65 keyboard (#17168)
uybv Jun 7, 2022
fbe236f
[Keyboard] Add Cloudline PCB support (#17253)
Jun 7, 2022
1c97a03
[Keyboard] Add BrutalV2 65 Keyboard (#17252)
Jun 7, 2022
5c79727
[Keymap] CRKBD: Update jpe230 Keymap (#17280)
Jpe230 Jun 7, 2022
1d75e20
Add WB32 evaluation board onekey targets. (#17330)
tzarc Jun 8, 2022
5f72d54
Update other_vscode.md (#17317)
JunZuloo Jun 8, 2022
c9b71f9
[Keymap] Update keymap for user jasondunsmore (#17312)
jasondunsmore Jun 8, 2022
f6a7bf2
[Keyboard] Add KPrepublic BM60hsrgb_ec V1 and V2 (#15104)
peepeetee Jun 8, 2022
6567b21
Move more UART-based keyboards to use timeout correctly. (#17329)
tomaszj Jun 8, 2022
de43b09
[Keyboard] Fix kprepublic/bm60hsrgb_ec/rev2 (#17334)
waffle87 Jun 9, 2022
a599550
Add support for linting deprecated and removed functionality (#17063)
zvecr Jun 9, 2022
2f87041
[Keyboard] Adding Sunsetter R2 keyboard to Charue family (#17269)
PiKeeb Jun 10, 2022
9316023
[Keyboard] Improve the durgot k3x0 readme.md (#17214)
ogabriel Jun 10, 2022
9da1b86
[keyboard] annepro2 Add and use functions to directly control led col…
zv0n Jun 10, 2022
93c3a95
[Keymap] Add planck/scottzach1 keymap (#17083)
scottzach1 Jun 10, 2022
7c097ee
[Keyboard] Add Sodium keyboards (#17078)
Na-Cly Jun 10, 2022
d8ace62
initial (#17345)
waffle87 Jun 10, 2022
7baf9b3
Promote label with newlines to lint error (#17347)
zvecr Jun 10, 2022
92665ae
Promote 'layouts require matrix data' to api error (#17349)
zvecr Jun 10, 2022
5a9d7a0
Merge branch 'qmk:master' into master
swkidden Jun 10, 2022
b4b34cd
Wasdat: move some stuff to info.json (#17327)
fauxpark Jun 10, 2022
dbd4ac5
[Keyboard] Fix checkboards/quark_lp (another) (#17296)
waffle87 Jun 11, 2022
51cfb1b
[Keyboard] mlego fix product id and sync oled code (#16237)
Jun 11, 2022
a50b09c
[Keyboard] add pierce (#17000)
durken1 Jun 11, 2022
3f841a2
[Keyboard] Remove terminal commands from m48 (#17363)
drashna Jun 12, 2022
b5a53a9
Add encoder map (#17361)
filterpaper Jun 12, 2022
c204555
[Keyboard] Add Lemon40 keyboard (#17357)
HorrorTroll Jun 12, 2022
f7ab10a
Add stale action. (#17372)
tzarc Jun 13, 2022
9d07ab8
Fixup stale action. (#17373)
tzarc Jun 13, 2022
856029f
Swap to 1000 stale actions while debugging.
tzarc Jun 13, 2022
f18afff
`actions/stale`: 150 operations, oldest-first.
tzarc Jun 13, 2022
5149728
[Keyboard] Add BLASTER75 keyboard (#16887)
Altainworks Jun 13, 2022
e49fa43
[Keyboard] add SNOP60 (#17131)
npspears Jun 13, 2022
026d0e8
Update feature_midi.md (#17390)
keyboard-magpie Jun 14, 2022
15dab01
Inform people that things may not work. (#17391)
tzarc Jun 14, 2022
f37de9a
Perform stricter lint checks (#17348)
zvecr Jun 14, 2022
1c45845
[Keyboard] Flip encoder pads on basketweave (#17375)
lazho Jun 14, 2022
dc2ce36
[Keyboard] Add Chaos65 keyboard (#17369)
str-dst Jun 14, 2022
b7ce3b1
[Keymap] New keymap for Keebio FoldKB (#17364)
forrcaho Jun 14, 2022
de207b9
[Keymap+] SnailMap port for the Kintsugi keyboard. (#17341)
ADPenrose Jun 15, 2022
afbba27
BLASTER75 info.json position fixes (#17395)
Altainworks Jun 15, 2022
7224d84
edit typo in comment (#17394)
Felicious Jun 15, 2022
d3dfa83
Fix clean arg handling (#17392)
zvecr Jun 15, 2022
8e5f8a5
[Keyboard] Add Idobao Montex RGB (V2) (#16897)
IBNobody Jun 16, 2022
8e12845
[Keyboard] Idobao Montex V2(RGB) (#15865)
peepeetee Jun 16, 2022
8be0496
[Keyboard] Add ADM42 Keyboard (#17366)
lleonini Jun 16, 2022
5ccb2fd
Swap to actions/stale. (#17404)
tzarc Jun 16, 2022
811dbda
[Keymap] Update yoshimaru46 keymap (#17402)
yoshimaru46 Jun 16, 2022
6d7026e
[Keyboard] mini_ten_key_plus edited info.json (#15574)
minibois Jun 16, 2022
89921e9
[Keyboard] Fix 1U space in Keebio/sinc/rev2 layout macros (#16901)
gpalumbo Jun 16, 2022
82a7f4a
[handwired/macroboard] Add separate f401 and f411 configs… (#16338)
Michal-Szczepaniak Jun 16, 2022
6d2f9c9
[Keyboard] Atreus: add STM32F103C8T6 based variant (#16846)
DmNosachev Jun 16, 2022
545923b
Fixup handwired/macroboard (#17405)
waffle87 Jun 17, 2022
b5104c3
Fixup stale labels lists. (#17415)
tzarc Jun 18, 2022
fd01fea
Add a note about using differents MCU family (#17416)
coliss86 Jun 18, 2022
fd6ba18
Merge branch 'qmk:master' into master
swkidden Jun 19, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 0 additions & 58 deletions .github/stale.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ jobs:
with:
fetch-depth: 0

- name: Install dependencies
run: pip3 install -r requirements-dev.txt

- uses: trilom/file-changes-action@v1.2.4
id: file_changes
with:
Expand Down
64 changes: 64 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
workflow_dispatch:

permissions:
issues: write
pull-requests: write

jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

remove-stale-when-updated: true
exempt-draft-pr: true
ascending: true
operations-per-run: 150

stale-issue-label: stale
days-before-issue-stale: 90
days-before-issue-close: 30
exempt-issue-labels: bug,in progress,on hold,discussion,to do

stale-issue-message: >
This issue has been automatically marked as stale because it has not had activity in the
last 90 days. It will be closed in the next 30 days unless it is tagged properly or other activity
occurs.

For maintainers: Please label with `bug`, `in progress`, `on hold`, `discussion` or `to do` to prevent
the issue from being re-flagged.

close-issue-message: >
This issue has been automatically closed because it has not had activity in the last 30 days.
If this issue is still valid, re-open the issue and let us know.

// [stale-action-closed]

stale-pr-label: stale
days-before-pr-stale: 45
days-before-pr-close: 30
exempt-pr-labels: bug,awaiting review,breaking_change,in progress,on hold

stale-pr-message: >
Thank you for your contribution!

This pull request has been automatically marked as stale because it has not had
activity in the last 45 days. It will be closed in 30 days if no further activity occurs.
Please feel free to give a status update now, or re-open when it's ready.

For maintainers: Please label with `bug`, `awaiting review`, `breaking_change`, `in progress`, or `on hold`
to prevent the issue from being re-flagged.

close-pr-message: >
Thank you for your contribution!

This pull request has been automatically closed because it has not had activity in the last 30 days.
Please feel free to give a status update now, ping for review, or re-open when it's ready.

// [stale-action-closed]
2 changes: 1 addition & 1 deletion .github/workflows/unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
test:
runs-on: ubuntu-latest

container: qmkfm/base_container
container: qmkfm/qmk_cli

steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion builddefs/common_features.mk
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ else
ifeq ($(PLATFORM),AVR)
# Automatically provided by avr-libc, nothing required
else ifeq ($(PLATFORM),CHIBIOS)
ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC%_STM32F401xC_tinyuf2 % %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F411xE_tinyuf2 %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC%_STM32F401xC_tinyuf2 % %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F411xE_tinyuf2 %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
ifneq ($(filter STM32F3xx_% STM32F1xx_% %_STM32F401xC %_STM32F401xC_tinyuf2 %_STM32F401xE %_STM32F405xG %_STM32F411xE %_STM32F411xE_tinyuf2 %_STM32F072xB %_STM32F042x6 %_GD32VF103xB %_GD32VF103x8, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)

# Emulated EEPROM
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_FLASH_EMULATED
COMMON_VPATH += $(DRIVER_PATH)/eeprom
Expand Down
10 changes: 9 additions & 1 deletion data/mappings/info_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
# to_json: Default `true`. Set to `false` to exclude this mapping from info.json
# to_c: Default `true`. Set to `false` to exclude this mapping from config.h
# warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
# deprecated: Default `false`. Set to `true` to turn on warning when a value exists
# invalid: Default `false`. Set to `true` to generate errors when a value exists
"AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},
"BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},
"BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"},
Expand All @@ -19,7 +21,6 @@
"DEVICE_VER": {"info_key": "usb.device_ver", "value_type": "hex"},
# TODO: Replace ^^^ with vvv
#"DEVICE_VER": {"info_key": "usb.device_version", "value_type": "bcd_version"},
"DESCRIPTION": {"info_key": "keyboard_folder", "value_type": "str", "to_json": false},
"DIODE_DIRECTION": {"info_key": "diode_direction"},
"DOUBLE_TAP_SHIFT_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.double_tap_shift_turns_on", "value_type": "bool"},
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "bool"},
Expand Down Expand Up @@ -102,4 +103,11 @@
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},

# Items we want flagged in lint
"NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},
"NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},
"DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true},
"DEBOUNCING_DELAY": {"info_key": "_invalid.debouncing_delay", "invalid": true},
"PREVENT_STUCK_MODIFIERS": {"info_key": "_invalid.prevent_stuck_mods", "invalid": true},
}
9 changes: 8 additions & 1 deletion data/mappings/info_rules.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
# to_json: Default `true`. Set to `false` to exclude this mapping from info.json
# to_c: Default `true`. Set to `false` to exclude this mapping from rules.mk
# warn_duplicate: Default `true`. Set to `false` to turn off warning when a value exists in both places
# deprecated: Default `false`. Set to `true` to turn on warning when a value exists
# invalid: Default `false`. Set to `true` to generate errors when a value exists
"BOARD": {"info_key": "board"},
"BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false},
"BLUETOOTH": {"info_key": "bluetooth.driver"},
Expand All @@ -24,5 +26,10 @@
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}
"WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"},

# Items we want flagged in lint
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true},
"CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true},
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true},
}
5 changes: 4 additions & 1 deletion data/schemas/keyboard.jsonschema
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,10 @@
"type": "object",
"additionalProperties": false,
"properties": {
"label": {"type": "string"},
"label": {
"type": "string",
"pattern": "^[^\\n]*$"
},
"matrix": {
"type": "array",
"minItems": 2,
Expand Down
60 changes: 37 additions & 23 deletions docs/breaking_changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,58 +47,41 @@ Criteria for acceptance:
* This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PR's ID.
* One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability.

# Checklists
## Checklists

This section documents various processes we use when running the Breaking Changes process.

## Creating the `develop` branch

This happens immediately after the previous `develop` branch is merged.

* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git checkout -b develop`
* [ ] Edit `readme.md`
* [ ] Add a big notice at the top that this is a testing branch.
* [ ] Include a link to this document
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push upstream develop`
* [ ] `git push --tags`

## 4 Weeks Before Merge
### 4 Weeks Before Merge

* `develop` is now closed to new PR's, only fixes for current PR's may be merged
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb

## 2 Weeks Before Merge
### 2 Weeks Before Merge

* `develop` is now closed to existing PR merges, only bugfixes for previous merges may be included
* Post call for testers
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb

## 1 Week Before Merge
### 1 Week Before Merge

* Announce that master will be closed from <2 Days Before> to <Day of Merge>
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb

## 2 Days Before Merge
### 2 Days Before Merge

* Announce that master is closed for 2 days
* [ ] Discord
* [ ] GitHub PR
* [ ] https://reddit.com/r/olkb

## Day Of Merge
### Day Of Merge

* `qmk_firmware` git commands
* [ ] `git checkout develop`
Expand All @@ -115,8 +98,39 @@ This happens immediately after the previous `develop` branch is merged.
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git merge --no-ff develop`
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
* [ ] `git push upstream <next_version>`
* [ ] `git push upstream master`

## Post-merge operations

### Updating the `develop` branch

This happens immediately after the previous `develop` branch is merged to `master`.

* `qmk_firmware` git commands
* [ ] `git checkout master`
* [ ] `git pull --ff-only`
* [ ] `git checkout develop`
* [ ] `git pull --ff-only`
* [ ] `git merge --no-ff master`
* [ ] Edit `readme.md`
* [ ] Add a big notice at the top that this is a testing branch.
* [ ] Include a link to this document
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
* [ ] `git push upstream breakpoint_<YYYY>_<MM>_<DD>`

* All submodules under `lib` now need to be checked against their QMK-based forks:
* [ ] `git submodule foreach git log -n1`
* [ ] Validate each submodule SHA1 matches the qmk fork, e.g. for ChibiOS:
* Go to [qmk/ChibiOS](https://github.com/qmk/ChibiOS)
* Compare the commit hash in the above output to the commit hash in the repository
* If there's a mismatch:
* [ ] `cd lib/chibios`
* [ ] `git fetch --all`
* [ ] `git checkout master`
* [ ] `git reset --hard <commit hash>`
* [ ] `git push origin master --force-with-lease`

* (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)
2 changes: 2 additions & 0 deletions docs/compatible_microcontrollers.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

QMK runs on any USB-capable AVR or ARM microcontroller with enough flash space - generally 32kB+ for AVR, and 64kB+ for ARM. With significant disabling of features, QMK may *just* squeeze into 16kB AVR MCUs.

Features within QMK may or may not be compatible with every microcontroller.

## Atmel AVR

The following use [LUFA](https://www.fourwalledcubicle.com/LUFA.php) as the USB stack:
Expand Down
2 changes: 1 addition & 1 deletion docs/feature_advanced_keycodes.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ In practice, this means that you can check whether a given modifier is active wi

To check that *only* a specific set of mods is active at a time, AND the modifier state and your desired mod mask as explained above and compare the result to the mod mask itself: `get_mods() & <mod mask> == <mod mask>`.

For example, let's say you want to trigger a piece of custom code if one-shot left control and one-shot left shift are on but every other one-shot mods are off. To do so, you can compose the desired mod mask by combining the mod bits for left control and shift with `(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` and then plug it in: `get_oneshot_mods & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT)) == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`. Using `MOD_MASK_CS` instead for the mod bitmask would have forced you to press four modifier keys (both versions of control and shift) to fulfill the condition.
For example, let's say you want to trigger a piece of custom code if one-shot left control and one-shot left shift are on but every other one-shot mods are off. To do so, you can compose the desired mod mask by combining the mod bits for left control and shift with `(MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))` and then plug it in: `get_oneshot_mods() & (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT)) == (MOD_BIT(KC_LCTL) | MOD_BIT(KC_LSFT))`. Using `MOD_MASK_CS` instead for the mod bitmask would have forced you to press four modifier keys (both versions of control and shift) to fulfill the condition.

The full list of mod masks is as follows:

Expand Down
4 changes: 4 additions & 0 deletions docs/feature_midi.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ MIDI_ENABLE = yes

There are two MIDI systems in QMK: basic and advanced. With basic MIDI you will only be able to send Note On and Note Off messages using the note keycodes, meaning that keycodes like `MI_OCTU` and `MI_OCTD` will not work. Advanced MIDI allows you to do things like octave shifts, channel changes, velocity changes, modulation, and more.

### Caveats

MIDI requires 2 USB endpoints and as such may not work on some hardware such as V-USB controllers.

### Basic MIDI

To enable basic MIDI, add the following to your `config.h`:
Expand Down
2 changes: 2 additions & 0 deletions docs/feature_split_keyboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ For this, we will mostly be talking about the generic implementation used by the

!> ARM split supports most QMK subsystems when using the 'serial' and 'serial_usart' drivers. I2C slave is currently unsupported.

!> Both sides must use the same MCU family, for eg two Pro Micro-compatible controllers or two Blackpills. Currently, mixing AVR and ARM is not possible as ARM vs AVR uses different method for serial communication, and are not compatible. Moreover Blackpill's uses 3.3v logic, and atmega32u4 uses 5v logic.

## Compatibility Overview

| Transport | AVR | ARM |
Expand Down
2 changes: 1 addition & 1 deletion docs/flashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ Flashing sequence:
### `make` Targets

* `:dfu-util`: Waits until an STM32 bootloader device is available, and then flashes the firmware.
* `:dfu-util-split-left` and `:dfu-util-split-right`: Flashes the firmware as with `:avrdude`, but also sets the handedness setting in EEPROM. This is ideal for Proton-C-based split keyboards.
* `:dfu-util-split-left` and `:dfu-util-split-right`: Flashes the firmware as with `:dfu-util`, but also sets the handedness setting in EEPROM. This is ideal for Proton-C-based split keyboards.
* `:st-link-cli`: Allows you to flash the firmware via the ST-Link CLI utility, rather than dfu-util. Requires an ST-Link dongle.
* `:st-flash`: Allows you to flash the firmware via the `st-flash` utility from [STLink Tools](https://github.com/stlink-org/stlink), rather than dfu-util. Requires an ST-Link dongle.

Expand Down
2 changes: 1 addition & 1 deletion docs/how_keyboards_work.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ USB for a given key.

## 3. What the Event Input/Kernel Does

The *scancode* is mapped to a *keycode* dependent on the keyboard [60-keyboard.hwdb at Master](https://github.com/systemd/systemd/blob/master/hwdb.d/60-keyboard.hwdb). Without this mapping, the operating system will not receive a valid keycode and will be unable to do anything useful with that key press.
The *scancode* is mapped to a *keycode* dependent on the keyboard [60-keyboard.hwdb at Main](https://github.com/systemd/systemd/blob/main/hwdb.d/60-keyboard.hwdb). Without this mapping, the operating system will not receive a valid keycode and will be unable to do anything useful with that key press.

## 4. What the Operating System Does

Expand Down
2 changes: 0 additions & 2 deletions docs/other_vscode.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,8 @@ There are a number of extensions that you may want to install:
* [Git Extension Pack](https://marketplace.visualstudio.com/items?itemName=donjayamanne.git-extension-pack) -
This installs a bunch of Git related tools that may make using Git with QMK Firmware easier.
* [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig) - _[Optional]_ - Helps to keep the code to the QMK Coding Conventions.
* [Bracket Pair Colorizer 2](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer-2) - _[Optional]_ - This color codes the brackets in your code, to make it easier to reference nested code.
* [GitHub Markdown Preview](https://marketplace.visualstudio.com/items?itemName=bierner.github-markdown-preview) - _[Optional]_ - Makes the markdown preview in VS Code more like GitHub's.
* [VS Live Share Extension Pack](https://marketplace.visualstudio.com/items?itemName=MS-vsliveshare.vsliveshare-pack) - _[Optional]_ - This extension allows somebody else to access your workspace (or you to access somebody else's workspace) and help out. This is great if you're having issues and need some help from somebody.
* [VIM Keymap](https://marketplace.visualstudio.com/items?itemName=GiuseppeCesarano.vim-keymap) - _[Optional]_ - For those that prefer VIM style keybindings. There are other options for this, too.

Restart once you've installed any extensions

Expand Down
Loading