Skip to content

Commit

Permalink
Merge branch 'master' of github.com:qmk/qmk_firmware
Browse files Browse the repository at this point in the history
* 'master' of github.com:qmk/qmk_firmware: (179 commits)
  [Keymap] Crkbd/thunderbird2086 (qmk#16973)
  Suavity Ehan Refactor (qmk#17694)
  feat(keebwerk): added VIA support keymap for keebwerk nano slider (qmk#16761)
  FJLabs Solanis Refactor (qmk#17686)
  [Keyboard] add ProjectCain Relic (qmk#15577)
  [Keyboard] eHan Keyboard (qmk#15861)
  Move ins, home and pgup keys to the left (qmk#17690)
  [Keymap] emp keymap for keebio/iris (qmk#16858)
  Ignore kbfirmware exports (qmk#17687)
  [Keyboard] Added TutelPad keyboard (qmk#16975)
  [Keyboard] Add Chocofly v1 (qmk#17289)
  KB16-01: correct QMK Configurator key sequence (qmk#17670)
  Nayeon Community Layout support (qmk#17665)
  [Keyboard] Fix Tractyl Manuform 4x6 json (qmk#17681)
  [Keyboard] Readme file correction (qmk#17674)
  KPrepublic BM80v2 ISO Refactor (qmk#17660)
  [Keyboard] MechWild BB Steno (qmk#17163)
  [Keyboard] Modelm101 teensy2 (qmk#16805)
  Ducky One 2 SF touch-up (qmk#17672)
  Gentoo & Gentoo Hotswap: correct Configurator key sequence errors (qmk#17668)
  ...
  • Loading branch information
denisg committed Jul 16, 2022
2 parents 9843039 + 9cdccb1 commit b165cf2
Show file tree
Hide file tree
Showing 1,329 changed files with 55,346 additions and 9,741 deletions.
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
2 changes: 1 addition & 1 deletion .github/workflows/api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 1
persist-credentials: false
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/auto_tag.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Bump version and push tag
uses: anothrNick/github-tag-action@1.26.0
uses: anothrNick/github-tag-action@1.39.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DEFAULT_BUMP: 'patch'
2 changes: 1 addition & 1 deletion .github/workflows/cli.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
container: qmkfm/qmk_cli

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/develop_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 1
persist-credentials: false
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/develop_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 1

Expand All @@ -34,7 +34,7 @@ jobs:
qmk --verbose generate-docs
- name: Deploy
uses: JamesIves/github-pages-deploy-action@3.7.1
uses: JamesIves/github-pages-deploy-action@v4.3.4
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
BASE_BRANCH: master
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/feature_branch_update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- xap

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
container: qmkfm/qmk_cli

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/format_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
container: qmkfm/qmk_cli

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

Expand All @@ -37,7 +37,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
uses: peter-evans/create-pull-request@v4
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
container: qmkfm/qmk_cli

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
fetch-depth: 0

Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
stale-issue-label: stale
days-before-issue-stale: 90
days-before-issue-close: 30
exempt-issue-labels: awaiting review,breaking_change,in progress,on hold
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
Expand All @@ -43,7 +43,7 @@ jobs:
stale-pr-label: stale
days-before-pr-stale: 45
days-before-pr-close: 30
exempt-pr-labels: bug,in progress,on hold,discussion,to do
exempt-pr-labels: bug,awaiting review,breaking_change,in progress,on hold

stale-pr-message: >
Thank you for your contribution!
Expand All @@ -52,8 +52,8 @@ jobs:
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 `awaiting review`, `breaking_change`, `in progress`, or `on hold` to prevent
the issue from being re-flagged.
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!
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
container: qmkfm/qmk_cli

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Install dependencies
Expand Down
19 changes: 8 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,11 @@ quantum/version.h
*.uf2

# Old-style QMK Makefiles
/keyboards/*/Makefile
/keyboards/*/*/Makefile
/keyboards/*/*/*/Makefile
/keyboards/*/*/*/*/Makefile
/keyboards/*/*/*/*/*/Makefile
/keyboards/*/keymaps/Makefile
/keyboards/*/*/keymaps/Makefile
/keyboards/*/*/*/keymaps/Makefile
/keyboards/*/*/*/*/keymaps/Makefile
/keyboards/*/*/*/*/*/keymaps/Makefile
/keyboards/**/Makefile

# kbfirmware....
/keyboards/**/kb.h
/keyboards/**/kb.c

# Eclipse/PyCharm/Other IDE Settings
*.iml
Expand Down Expand Up @@ -67,10 +62,12 @@ CMakeLists.txt
.vscode/temp.sql
tags

# Ignore image files
# Ignore image/font files
*.gif
*.jpg
*.png
*.ttf
*.otf

# Things Travis sees
/.vs
Expand Down
1 change: 1 addition & 0 deletions docs/_summary.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
* [One Shot Keys](one_shot_keys.md)
* [Pointing Device](feature_pointing_device.md)
* [Raw HID](feature_rawhid.md)
* [Secure](feature_secure.md)
* [Sequencer](feature_sequencer.md)
* [Swap Hands](feature_swap_hands.md)
* [Tap Dance](feature_tap_dance.md)
Expand Down
4 changes: 4 additions & 0 deletions docs/cli_tab_complete.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ Add this to the end of your `.profile` or `.bashrc`:

If you put `qmk_firmware` into another location you will need to adjust this path.

Zsh users will need to load `bashcompinit`. The following can be added to `~/.zshrc` file:

autoload -Uz bashcompinit && bashcompinit

### System Wide Symlink

If you want the tab completion available to all users of the system you can add a symlink to the `qmk_tab_complete.sh` script:
Expand Down
1 change: 1 addition & 0 deletions docs/feature_rgb_matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -777,6 +777,7 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
#define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
// If RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
#define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards
```
## EEPROM storage :id=eeprom-storage
Expand Down
54 changes: 54 additions & 0 deletions docs/feature_secure.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Secure

The secure feature aims to prevent unwanted interaction without user intervention.

?> Secure does **not** currently implement encryption/decryption/etc and should not be a replacement where a strong hardware/software based solution is required.

### Unlock sequence

To unlock, the user must perform a set of actions. This can optionally be configured to be multiple keys.

* While unlocking all keyboard input is ignored
* Incorrect attempts will revert back to the previously locked state

### Automatic Locking

Once unlocked, the keyboard will revert back to a locked state after the configured timeout.
The timeout can be refreshed by using the `secure_activity_event` function, for example from one of the various [hooks](custom_quantum_functions.md).

## Usage

Add the following to your `rules.mk`:

```make
SECURE_ENABLE = yes
```

## Keycodes

| Key | Description |
|------------------|--------------------------------------------------------------------------------|
| `SECURE_LOCK` | Revert back to a locked state |
| `SECURE_UNLOCK` | Forces unlock without performing a unlock sequence |
| `SECURE_TOGGLE` | Toggle directly between locked and unlock without performing a unlock sequence |
| `SECURE_REQUEST` | Request that user perform the unlock sequence |

## Configuration

| Define | Default | Description |
|-------------------------|----------------|---------------------------------------------------------------------------------|
|`SECURE_UNLOCK_TIMEOUT` | `5000` | Timeout for the user to perform the configured unlock sequence - `0` to disable |
|`SECURE_IDLE_TIMEOUT` | `60000` | Timeout while unlocked before returning to locked - `0` to disable |
|`SECURE_UNLOCK_SEQUENCE` | `{ { 0, 0 } }` | Array of matrix locations describing a sequential sequence of keypresses |

## Functions

| Function | Description |
|---------------------------|----------------------------------------------------------------------------|
| `secure_is_locked()` | Check if the device is currently locked |
| `secure_is_unlocking()` | Check if an unlock sequence is currently in progress |
| `secure_is_unlocked()` | Check if the device is currently unlocked |
| `secure_lock()` | Lock down the device |
| `secure_unlock()` | Force unlock the device - bypasses user unlock sequence |
| `secure_request_unlock()` | Begin listening for an unlock sequence |
| `secure_activity_event()` | Flag that user activity has happened and the device should remain unlocked |
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: 2 additions & 0 deletions docs/newbs_flashing.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ However, this does rely on the bootloader being set by the keyboard. If this inf

In this case, you'll have to fall back on specifying the bootloader. See the [Flashing Firmware](flashing.md) Guide for more details.

!> If your bootloader is not detected by `qmk flash`, try running `qmk doctor` for suggestions on how to fix common problems.

## Test It Out!

Congrats! Your custom firmware has been programmed to your keyboard and you're ready to test it out!
Expand Down
18 changes: 6 additions & 12 deletions docs/newbs_getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,30 +27,24 @@ QMK maintains a Bundle of MSYS2, the CLI and all necessary dependencies. It also

You will need to install [QMK MSYS](https://msys.qmk.fm/). The latest release is available [here](https://github.com/qmk/qmk_distro_msys/releases/latest).

Alternatively, if you'd like to manually install MSYS2, the following section will walk you through the process.

<details>
<summary>Manual Install</summary>
<summary>Advanced Users</summary>

?> Ignore the following steps if you use `QMK MSYS`.
!> <b style="font-size:150%">This process is not recommended for new users.</b>

#### Prerequisites
If you'd like to manually install MSYS2, the following sections will walk you through the process.

You will need to install MSYS2, Git and Python. Follow the installation instructions on https://www.msys2.org.
#### Prerequisites

Once MSYS2 is installed, close any open MSYS terminals and open a new MinGW 64-bit terminal.
You will need to install [MSYS2](https://www.msys2.org). Once installed, close any open MSYS terminals (purple icon) and open a new MinGW 64-bit terminal (blue icon) from the Start Menu.

!> **NOTE:** The MinGW 64-bit terminal is *not* the same as the MSYS terminal that opens when installation is completed. Your prompt should say "MINGW64" in purple text, rather than "MSYS". See [this page](https://www.msys2.org/wiki/MSYS2-introduction/#subsystems) for more information on the differences.

Then run the following command:

pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python3-pip mingw-w64-x86_64-python-pillow

#### Installation

Install the QMK CLI by running:

python3 -m pip install qmk
pacman --needed --noconfirm --disable-download-timeout -S git mingw-w64-x86_64-python-qmk

</details>

Expand Down
3 changes: 3 additions & 0 deletions docs/pr_checklist.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- `matrix_init_board()` etc. migrated to `keyboard_pre_init_kb()`, see: [keyboard_pre_init*](custom_quantum_functions.md?id=keyboard_pre_init_-function-documentation)
- prefer `CUSTOM_MATRIX = lite` if custom matrix used, allows for standard debounce, see [custom matrix 'lite'](custom_matrix.md?id=lite)
- prefer LED indicator [Configuration Options](feature_led_indicators.md?id=configuration-options) to custom `led_update_*()` implementations where possible
- Encoder support should not be hacked into the keymap here -- no `tap_code(dynamic_keymap_get_keycode())` or `action_exec()` hacks. The [Encoder Map](feature_encoders.md?id=encoder-map) feature already supports the dynamic keymap feature (what power's VIA's "live keymap updates" capability).
- If support is absolutely necessary, it should be implemented exclusively at the keymap level, with none of the implementation bleeding into the keyboard level (no empty rows/columns, no encoder specific layouts, etc.), as those configurations can be redefined at the keymap level. Keymaps can then choose to use the `action_exec` hack. <!-- because people will complain, give them a way to implement it, in the meanwhile. To be removed. -->
- [Request for official proper VIA support](https://github.com/the-via/app/issues/26)
- `<keyboard>.h`
- `#include "quantum.h"` appears at the top
- `LAYOUT` macros should use standard definitions if applicable
Expand Down
8 changes: 6 additions & 2 deletions docs/ref_functions.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,13 @@ To configure the default layer sounds, you would want to define this in your `co

## Resetting the keyboard

There is the `RESET` quantum keycode that you can use. But if you want to reset the board as part of a macro, rather than hitting a key separately, you can do that.
There is the `QK_REBOOT` or `QK_RBT` quantum keycode that you can use. But if you want to reset the board as part of a macro, rather than hitting a key separately, you can do that.

And to do so, add `reset_keyboard()` to your function or macro, and this will reset to bootloader.
And to do so, add `soft_reset_keyboard()` to your function or macro.

## Reset to bootloader

To reset to the bootloader use `QK_BOOTLOADER` or `QK_BOOT` keycode or `reset_keyboard()` function.

## Wiping the EEPROM (Persistent Storage)

Expand Down
Loading

0 comments on commit b165cf2

Please sign in to comment.