Skip to content

Commit

Permalink
Merge branch 'main' into sideband-unused-var
Browse files Browse the repository at this point in the history
  • Loading branch information
ReFil committed Jun 18, 2024
2 parents 4df4893 + 7c09eb2 commit cc81b1e
Show file tree
Hide file tree
Showing 47 changed files with 767 additions and 588 deletions.
2 changes: 1 addition & 1 deletion docs/blog/2020-08-12-zmk-sotf-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ There's been lots of various activity in ZMK land!
- Tons of [documentation](/docs) work.
- Refactoring ([#73](https://github.com/zmkfirmware/zmk/pull/73), [#74](https://github.com/zmkfirmware/zmk/pull/74)) of [keymaps](/docs/features/keymaps) to make them simpler for users.
- Mod-Tap Behavior (docs coming!) is much improved ([#69](https://github.com/zmkfirmware/zmk/pull/69)) and usable now.
- An initial [`setup.sh`](http://localhost:3000/docs/user-setup#user-config-setup-script) script was created, allowing users to quickly bootstrap a "user config" setup and push it to GitHub, where GitHub Actions will build the firmware for you.
- An initial [`setup.sh`](/docs/user-setup#user-config-setup-script) script was created, allowing users to quickly bootstrap a "user config" setup and push it to GitHub, where GitHub Actions will build the firmware for you.
- Corne shield ([#80](https://github.com/zmkfirmware/zmk/pull/80)) shield definition was added.
- Initial [encoder](/docs/features/encoders) support ([#61](https://github.com/zmkfirmware/zmk/pull/61)) was added.

Expand Down
2 changes: 1 addition & 1 deletion docs/blog/2021-07-17-zephyr-2-5.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Once the container has rebuilt, VS Code will be running the 2.5 Docker image.

The following steps will get you building ZMK locally against Zephyr 2.5:

- Run the updated [toolchain installation](/docs/development/setup#toolchain-installation) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- Run the updated [toolchain installation](/docs/development/setup) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- pull the latest ZMK `main` with `git pull` for your ZMK checkout
- run `west update` to pull the updated Zephyr version and its dependencies

Expand Down
2 changes: 1 addition & 1 deletion docs/blog/2022-04-02-zephyr-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Once the container has rebuilt, VS Code will be running the 3.0 Docker image.

The following steps will get you building ZMK locally against Zephyr 3.0:

- Run the updated [toolchain installation](/docs/development/setup#toolchain-installation) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- Run the updated [toolchain installation](/docs/development/setup) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- pull the latest ZMK `main` with `git pull` for your ZMK checkout
- run `west update` to pull the updated Zephyr version and its dependencies

Expand Down
2 changes: 1 addition & 1 deletion docs/blog/2022-04-10-zmk-sotf-5.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ Another persistent bug that Apple users experienced was related to crashes and p
The long awaited locality enhancement was finally merged by [petejohanson] in [#547](https://github.com/zmkfirmware/zmk/pull/547), allowing more fine grained control of where certain behaviors are invoked. Some key improvements thanks to the changes:

- [RGB Underglow](/docs/features/underglow) behaviors now run globally, so enabling/disabling RGB, changing the color, animation, etc. applies to both sides of a split properly.
- [Reset](/docs/behaviors/reset#reset)/[Bootloader](/docs/behaviors/reset#bootloader) behaviors now run wherever the key was pressed. For example, adding a `&bootloader` reference to the peripheral side of a split will now put that side of the split into the bootloader when pressed.
- [Reset](/docs/behaviors/reset#reset)/[Bootloader](/docs/behaviors/reset#bootloader-reset) behaviors now run wherever the key was pressed. For example, adding a `&bootloader` reference to the peripheral side of a split will now put that side of the split into the bootloader when pressed.

#### Split Connections

Expand Down
2 changes: 1 addition & 1 deletion docs/blog/2023-04-06-zephyr-3-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ Once the container has rebuilt, VS Code will be running the 3.2 Docker image.

The following steps will get you building ZMK locally against Zephyr 3.2:

- Run the updated [toolchain installation](/docs/development/setup#toolchain-installation) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- Run the updated [toolchain installation](/docs/development/setup) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- Install the latest version of `west` by running `pip3 install --user --update west`.
- pull the latest ZMK `main` with `git pull` for your ZMK checkout
- run `west update` to pull the updated Zephyr version and its dependencies
Expand Down
2 changes: 1 addition & 1 deletion docs/blog/2023-10-05-zmk-sotf-6.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Note that documentation is still lacking for utilizing more than one peripheral

[petejohanson] contributed a fix to release held keys on peripheral disconnect [#1340](https://github.com/zmkfirmware/zmk/pull/1340), which makes scenarios where a split disconnects unexpectedly less painful.

[petejohanson] also improved [the `settings_reset` shield](/docs/troubleshooting#split-keyboard-halves-unable-to-pair) by making it clear bonds more reliably, and allow it to build for all boards in [#1879](https://github.com/zmkfirmware/zmk/pull/1879).
[petejohanson] also improved [the `settings_reset` shield](/docs/troubleshooting/connection-issues#split-keyboard-halves-unable-to-pair) by making it clear bonds more reliably, and allow it to build for all boards in [#1879](https://github.com/zmkfirmware/zmk/pull/1879).

[petejohanson] and [xudongzheng] contributed additional split connectivity improvements, via using directed advertising in [#1913](https://github.com/zmkfirmware/zmk/pull/1913) and improving the robustness of central scanning in [#1912](https://github.com/zmkfirmware/zmk/pull/1912).

Expand Down
2 changes: 1 addition & 1 deletion docs/blog/2024-02-09-zephyr-3-5.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ Once the container has rebuilt, VS Code will be running the 3.5 Docker image.

The following steps will get you building ZMK locally against Zephyr 3.5:

- Run the updated [toolchain installation](/docs/development/setup#toolchain-installation) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- Run the updated [toolchain installation](/docs/development/setup) steps, and once completed, remove the previously installed SDK version (optional, existing SDK should still work)
- Install the latest version of `west` by running `pip3 install --user --update west`.
- Pull the latest ZMK `main` with `git pull` for your ZMK checkout
- Run `west update` to pull the updated Zephyr version and its dependencies
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/behaviors/caps-word.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Example:

### Configuration

#### Continue List
#### Continue list

By default, the caps word will remain active when any alphanumeric character or underscore (`UNDERSCORE`), backspace (`BACKSPACE`), or delete (`DELETE`) characters are pressed. Any other non-modifier keycode sent will turn off caps word. If you would like to override this, you can set a new array of keys in the `continue-list` property in your keymap:

Expand All @@ -37,7 +37,7 @@ By default, the caps word will remain active when any alphanumeric character or
};
```

#### Applied Modifier(s)
#### Applied modifier(s)

In addition, if you would like _multiple_ modifiers, instead of just `MOD_LSFT`, you can override the `mods` property:

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/behaviors/hold-tap.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ When the hold-tap key is released and the hold behavior has not been triggered,

![Hold-tap comparison](../assets/hold-tap/comparison.svg)

### Basic usage
### Basic Usage

For basic usage, please see the [mod-tap](mod-tap.md) and [layer-tap](layers.md#layer-tap) pages.

Expand Down
26 changes: 13 additions & 13 deletions docs/docs/behaviors/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ sidebar_label: Overview

Below is a summary of pre-defined behavior bindings and user-definable behaviors available in ZMK, with references to documentation pages describing them.

## Key press behaviors
## Key Press Behaviors

| Binding | Behavior | Description |
| ------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
Expand All @@ -21,14 +21,14 @@ Below is a summary of pre-defined behavior bindings and user-definable behaviors
| `&caps_word` | [Caps Word](caps-word.md) | Behaves similar to caps lock, but automatically deactivates when any key not in a continue list is pressed, or if the caps word key is pressed again |
| `&key_repeat` | [Key Repeat](key-repeat.md) | Sends again whatever keycode was last sent |

## Miscellaneous behaviors
## Miscellaneous Behaviors

| Binding | Behavior | Description |
| -------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| `&trans` | [Transparent](misc.md#transparent) | Passes the key press down to the next active layer in the stack for processing |
| `&none` | [None](misc.md#none) | Swallows and stops the key press, no keycode will be sent nor will the key press be passed down to the next active layer in the stack |

## Layer navigation behaviors
## Layer Navigation Behaviors

| Binding | Behavior | Description |
| ------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
Expand All @@ -38,41 +38,41 @@ Below is a summary of pre-defined behavior bindings and user-definable behaviors
| `&tog` | [Toggle Layer](layers.md#toggle-layer) | Enables a layer until the layer is manually disabled |
| `&sl` | [Sticky Layer](sticky-layer.md) | Activates a layer until another key is pressed, then deactivates it |

## Mouse emulation behaviors
## Mouse Emulation Behaviors

| Binding | Behavior | Description |
| ------- | ----------------------------------------------------------- | ------------------------------- |
| `&mkp` | [Mouse Button Press](mouse-emulation.md#mouse-button-press) | Emulates pressing mouse buttons |

## Reset behaviors
## Reset Behaviors

| Binding | Behavior | Description |
| ------------- | --------------------------------- | ---------------------------------------------------------------------------------------- |
| `&sys_reset` | [Reset](reset.md#reset) | Resets the keyboard and re-runs the firmware flashed to the device |
| `&bootloader` | [Bootloader](reset.md#bootloader) | Resets the keyboard and puts it into bootloader mode, allowing you to flash new firmware |
| Binding | Behavior | Description |
| ------------- | --------------------------------------- | ---------------------------------------------------------------------------------------- |
| `&sys_reset` | [Reset](reset.md#reset) | Resets the keyboard and re-runs the firmware flashed to the device |
| `&bootloader` | [Bootloader](reset.md#bootloader-reset) | Resets the keyboard and puts it into bootloader mode, allowing you to flash new firmware |

## Output selection behaviors
## Output Selection Behaviors

| Binding | Behavior | Description |
| ------- | -------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `&bt` | [Bluetooth](bluetooth.md#bluetooth-behavior) | Completes a bluetooth action given on press, for example switching between devices |
| `&out` | [Output Selection](outputs.md#output-selection-behavior) | Allows selecting whether output is sent to the USB or bluetooth connection when both are connected |

## Lighting behaviors
## Lighting Behaviors

| Binding | Behavior | Description |
| --------- | ---------------------------------------------- | ---------------------------------------------------------------------------- |
| `&rgb_ug` | [RGB Underglow](underglow.md#behavior-binding) | Controls the RGB underglow, usually placed underneath the keyboard |
| `&bl` | [Backlight](backlight.md#behavior-binding) | Controls the keyboard backlighting, usually placed through or under switches |

## Power management behaviors
## Power Management Behaviors

| Binding | Behavior | Description |
| ------------ | --------------------------------------------- | --------------------------------------------------------------- |
| `&ext_power` | [Power management](power.md#behavior-binding) | Allows enabling or disabling the VCC power output to save power |
| `&soft_off` | [Soft off](soft-off.md#behavior-binding) | Turns the keyboard off. |

## User-defined behaviors
## User-Defined Behaviors

| Behavior | Description |
| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/behaviors/key-repeat.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Example:

### Configuration

#### Usage Pages
#### Usage pages

By default, the key repeat will only track the last pressed key from the HID "Key" usage page, and ignore events from other usages, e.g. Consumer page.

Expand Down
4 changes: 2 additions & 2 deletions docs/docs/behaviors/layers.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ sidebar_label: Layers
Often, you may want a certain key position to alter which layers are enabled, change the default layer, etc.
Some of those behaviors are still in the works; the ones that are working now are documented here.

## Defines To Refer To Layers
## Defines to Refer to Layers

When working with layers, you may have several different key positions with bindings that enable/disable those layers.
To make it easier to refer to those layers in your key bindings, and to change which layers are where later, you can
Expand Down Expand Up @@ -41,7 +41,7 @@ Example:
&mo LOWER
```

## Layer-tap
## Layer-Tap

The "layer-tap" behavior enables a layer when a key is held, and outputs a [keypress](key-press.md) when the key is only tapped for a short time.

Expand Down
4 changes: 2 additions & 2 deletions docs/docs/behaviors/macros.md
Original file line number Diff line number Diff line change
Expand Up @@ -223,7 +223,7 @@ Common examples are enabling one or more modifiers when the layer is active, or

To achieve this, a combination of a 0ms wait time and splitting the press and release between a `&macro_pause_for_release` is used:

#### Layer + Modifier
#### Layer + modifier

```dts
/**
Expand Down Expand Up @@ -256,7 +256,7 @@ lm: lm {
};
```

#### Layer + Underglow Color
#### Layer + underglow color

To trigger a different underglow when the macro is pressed, and when it is released, we use the macro "press" activation mode whenever triggering the `&rgb_ug` behavior:

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/behaviors/mod-morph.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Example:
mods = <(MOD_LGUI|MOD_LSFT|MOD_RGUI|MOD_RSFT)>;
```

### Advanced configuration
### Advanced Configuration

`keep-mods`

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/behaviors/soft-off.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Example:

### Configuration

#### Hold Time
#### Hold time

By default, the keyboard will be turned off as soon as the key bound to the behavior is released, even if the key is only tapped briefly. If you would prefer that the key need be held a certain amount of time before releasing, you can set the `hold-time-ms` to a non-zero value in your keymap:

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/behaviors/sticky-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ This configuration would apply to all sticky keys. This may not be appropriate i
};
```

### Advanced usage
### Advanced Usage

Sticky keys can be combined; if you tap `&sk LCTRL` and then `&sk LSHIFT` and then `&kp A`, the output will be ctrl+shift+a.

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/behaviors/sticky-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ You can configure a different `release-after-ms` in your keymap:
};
```

### Advanced usage
### Advanced Usage

Sticky layers behave slightly different from sticky keys. They are configured to `quick-release`. This means that the layer is released immediately when another key is pressed. "Normal" sticky keys are not `quick-release`; they are released when the next key is released. This makes it possible to combine sticky layers and sticky keys as such: tap `&sl 1`, tap `&sk LSHIFT` on layer 1, tap `&kp A` on base layer to output shift+A.

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/config/battery.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ On macOS the BLE battery reporting packets can cause the computer to wakeup from

:::

### Peripheral battery monitoring
### Peripheral Battery Monitoring

You can [configure ZMK to allow support for peripheral battery monitoring over BLE](system.md#split-keyboards) (e.g. when having a split keyboard with two independent and wirelessly connected sides).
If you want to report the battery levels of both sides of a split keyboard, you should have both `CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_PROXY` and `CONFIG_ZMK_SPLIT_BLE_CENTRAL_BATTERY_LEVEL_FETCHING` set to `y`.
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/config/encoders.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ If `CONFIG_EC11` is enabled, exactly one of the following options must be set to

### Devicetree

#### Keymap Sensor Config
#### Keymap sensor config

For shields/boards that export a `sensors` node configuration label, both global and per-sensor settings can be set by overriding the properties there.

Expand Down Expand Up @@ -69,7 +69,7 @@ Definition file: [zmk/app/drivers/zephyr/dts/bindings/zmk,keymap-sensors.yaml](h
| ----------------------- | ---- | --------------------------------------------------------------- | ------- |
| `triggers-per-rotation` | int | Number of times to trigger the bound behavior per full rotation | |

#### EC11 Nodes
#### EC11 nodes

Applies to: `compatible = "alps,ec11"`

Expand Down
4 changes: 2 additions & 2 deletions docs/docs/customization.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ If you need to, a review of [Learn The Basics Of Git In Under 10 Minutes](https:
:::

:::note
It is also possible to build firmware locally on your computer by following the [toolchain setup](development/setup.mdx) and
It is also possible to build firmware locally on your computer by following the [toolchain setup](development/setup/index.md) and
[building instructions](development/build-flash.mdx), which includes pointers to
[building using your `zmk-config` folder](development/build-flash.mdx#building-from-zmk-config-folder).
:::
Expand All @@ -50,7 +50,7 @@ It is also possible to build firmware locally on your computer by following the
For normal keyboards, follow the same flashing instructions as before to flash your updated firmware.

For split keyboards, only the central (left) side will need to be reflashed if you are just updating your keymap.
More troubleshooting information for split keyboards can be found [here](troubleshooting.md#split-keyboard-halves-unable-to-pair).
More troubleshooting information for split keyboards can be found [here](troubleshooting/connection-issues.mdx#split-keyboard-halves-unable-to-pair).

## Building Additional Keyboards

Expand Down
Loading

0 comments on commit cc81b1e

Please sign in to comment.