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

Fix broken links. #20

Merged
merged 1 commit into from
Jun 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/ChangeLog/20210828.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ It is also now possible to define combos that have keys overlapping with other c

### Key Overrides ([#11422](https://github.com/qmk/qmk_firmware/pull/11422)) {#key-overrides}

QMK now has a new feature: [key overrides](../feature_key_overrides). This feature allows for overriding the output of key combinations involving modifiers. As an example, pressing <kbd>Shift+2</kbd> normally results in an <kbd>@</kbd> on US-ANSI keyboard layouts -- the new key overrides allow for adding similar functionality, but for any <kbd>modifier + key</kbd> press.
QMK now has a new feature: [key overrides](../features/key_overrides). This feature allows for overriding the output of key combinations involving modifiers. As an example, pressing <kbd>Shift+2</kbd> normally results in an <kbd>@</kbd> on US-ANSI keyboard layouts -- the new key overrides allow for adding similar functionality, but for any <kbd>modifier + key</kbd> press.

To illustrate, it's now possible to use the key overrides feature to translate <kbd>Shift + Backspace</kbd> into <kbd>Delete</kbd> -- an often-requested example of where this functionality comes in handy.

There's far more to describe that what lives in this changelog, so head over to the [key overrides documentation](../feature_key_overrides) for more examples and info.
There's far more to describe that what lives in this changelog, so head over to the [key overrides documentation](../features/key_overrides) for more examples and info.

### Digitizer support ([#12851](https://github.com/qmk/qmk_firmware/pull/12851))

Expand Down
4 changes: 2 additions & 2 deletions docs/ChangeLog/20211127.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ QMK now has core-supplied support for the following pointing device peripherals:
| `POINTING_DEVICE_DRIVER = pimoroni_trackball` | Pimoroni Trackball |
| `POINTING_DEVICE_DRIVER = pmw3360` | PMW 3360 |

See the new documentation for the [Pointing Device](../feature_pointing_device) feature for more information on specific configuration for each driver.
See the new documentation for the [Pointing Device](../features/pointing_device) feature for more information on specific configuration for each driver.

### Dynamic Tapping Term ([#11036](https://github.com/qmk/qmk_firmware/pull/11036)) {#dynamic-tapping-term}

Expand Down Expand Up @@ -116,7 +116,7 @@ Related to the previous section -- RGB Matrix modes have now been made to be opt

Most keyboards keep their original functionality, but over time the QMK maintainers have found that removal of animations ends up being the quickest way to free up space... and some keyboards have had animations such as reactive effects disabled by default in order to still fit within the flash space available.

The full list of configurables to turn specific animations back on can be found at on the [RGB Matrix documentation](../feature_rgb_matrix#rgb-matrix-effects) page.
The full list of configurables to turn specific animations back on can be found at on the [RGB Matrix documentation](../features/rgb_matrix#rgb-matrix-effects) page.

### OLED task refactoring ([#14864](https://github.com/qmk/qmk_firmware/pull/14864)) {#oled-task-refactor}

Expand Down
2 changes: 1 addition & 1 deletion docs/ChangeLog/20220226.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Something something *Lets go gamers!*

Pointing devices can now be shared across a split keyboard with support for a single pointing device or a pointing device on each side.

See the [Pointing Device](../feature_pointing_device) documentation for further configuration options.
See the [Pointing Device](../features/pointing_device) documentation for further configuration options.

## Changes Requiring User Action {#changes-requiring-user-action}

Expand Down
4 changes: 2 additions & 2 deletions docs/ChangeLog/20220528.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This is a new feature that allows for capslock-like functionality that turns its

For instance, if you wish to type "QMK" without holding shift the entire time, you can either tap both left and right shift, or double-tap shift, to turn on _Caps Word_ -- then type `qmk` (lowercase) without holding shift. Once you hit any key other than `a`--`z`, `0`--`9`, `-`, `_`, delete, or backspace, this will go back to normal typing!

There are other activation mechanisms as well as configurable options like timeout and the like -- see the [Caps Word documentation](../feature_caps_word) for more information.
There are other activation mechanisms as well as configurable options like timeout and the like -- see the [Caps Word documentation](../features/caps_word) for more information.

### Quantum Painter ([#10174](https://github.com/qmk/qmk_firmware/pull/10174)) {#quantum-painter}

Expand All @@ -26,7 +26,7 @@ Quantum Painter is not supported on AVR due to complexity and size constraints.

### Encoder Mapping ([#13286](https://github.com/qmk/qmk_firmware/pull/13286)) {#encoder-mapping}

One of the long-standing complaints with Encoders is that there has been no easy way to configure them in user keymaps. [#13286](https://github.com/qmk/qmk_firmware/pull/13286) added support for [Encoder Mapping](../feature_encoders#encoder-map), which allows users to define encoder functionality in a similar way to their normal keymap.
One of the long-standing complaints with Encoders is that there has been no easy way to configure them in user keymaps. [#13286](https://github.com/qmk/qmk_firmware/pull/13286) added support for [Encoder Mapping](../features/encoders#encoder-map), which allows users to define encoder functionality in a similar way to their normal keymap.

::: warning
This is not yet supported by QMK Configurator. It is also unlikely to ever be supported by VIA.
Expand Down
2 changes: 1 addition & 1 deletion docs/ChangeLog/20220827.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ The now-EOL kbfirmware allowed people who aren't set up with QMK the ability to

QMK has had the ability to write to internal MCU flash in order to emulate EEPROM for some time now, but it was only limited to a small number of MCUs. The base HAL used by QMK for a large number of ARM devices provides a "proper" embedded MCU flash driver, so _@tzarc_ decoupled the wear-leveling algorithm from the old flash writing code, improved it, wrote some tests, and enabled its use for a much larger number of other devices... including RP2040's XIP flash, and external SPI NOR Flash.

See the [EEPROM Driver](../eeprom_driver) documentation for more information.
See the [EEPROM Driver](../drivers/eeprom) documentation for more information.

### Pointing Device Improvements ([#16371](https://github.com/qmk/qmk_firmware/pull/16371), [#17111](https://github.com/qmk/qmk_firmware/pull/17111), [#17176](https://github.com/qmk/qmk_firmware/pull/17176), [#17482](https://github.com/qmk/qmk_firmware/pull/17482), [#17776](https://github.com/qmk/qmk_firmware/pull/17776), [#17613](https://github.com/qmk/qmk_firmware/pull/17613)) {#pointing-device-improvements}

Expand Down
4 changes: 2 additions & 2 deletions docs/ChangeLog/20221126.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

### Autocorrect ([#15699](https://github.com/qmk/qmk_firmware/pull/15699)) {#autocorrect}

_@getreuer_ in their infinite wisdom decided that autocorrect was a feature needed by QMK. As is customary, _@drashna_ adapted it to core and got it into a state that everyone else can use it. See [Feature: Autocorrect](../feature_autocorrect) for more ifnormation (grin).
_@getreuer_ in their infinite wisdom decided that autocorrect was a feature needed by QMK. As is customary, _@drashna_ adapted it to core and got it into a state that everyone else can use it. See [Feature: Autocorrect](../features/autocorrect) for more ifnormation (grin).

## Changes Requiring User Action {#changes-requiring-user-action}

Expand Down Expand Up @@ -132,7 +132,7 @@ The equivalent transformations should be done for LED Matrix boards.

### Unicode mode refactoring {#unicode-mode-renaming}

Unicode modes were renamed in order to prevent collision with equivalent keycodes. The available values for `UNICODE_SELECTED_MODES` changed -- see [Feature: Unicode](../feature_unicode#setting-the-input-mode) for the new list of values and how to configure them.
Unicode modes were renamed in order to prevent collision with equivalent keycodes. The available values for `UNICODE_SELECTED_MODES` changed -- see [Feature: Unicode](../features/unicode#setting-the-input-mode) for the new list of values and how to configure them.

## Notable core changes {#notable-core}

Expand Down
2 changes: 1 addition & 1 deletion docs/ChangeLog/20230226.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ void leader_end_user(void) {
}
```

For more information please see the [Leader Key documentation](../feature_leader_key).
For more information please see the [Leader Key documentation](../features/leader_key).

### Updated Keyboard Codebases {#updated-keyboard-codebases}

Expand Down
4 changes: 2 additions & 2 deletions docs/ChangeLog/20230528.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Of note for keyboard designers:

A new pair of keys has been added to QMK -- namely `QK_REPEAT_KEY` and `QK_ALT_REPEAT_KEY` (shortened: `QK_REP`/`QK_AREP`). These allow you to repeat the last key pressed, or in the case of the alternate key, press the "opposite" of the last key. For example, if you press `KC_LEFT`, pressing `QK_REPEAT_KEY` afterwards repeats `KC_LEFT`, but pressing `QK_ALT_REPEAT_KEY` instead sends `KC_RIGHT`.

The full list of default alternate keys is available on the [Repeat Key](../feature_repeat_key) documentation.
The full list of default alternate keys is available on the [Repeat Key](../features/repeat_key) documentation.

To enable these keys, in your keymap's `rules.mk`, add:

Expand Down Expand Up @@ -93,7 +93,7 @@ Additionally, this ensures that builds on QMK Configurator produce some sort of

The "classic" OLED driver picked up support for additional sizes of OLED displays, support for the SH1107 controller, and SPI-based OLED support.

Other configurable items are available and can be found on the [OLED Driver page](../feature_oled_driver).
Other configurable items are available and can be found on the [OLED Driver page](../features/oled_driver).

## Full changelist {#full-changelist}

Expand Down
2 changes: 1 addition & 1 deletion docs/ChangeLog/20230827.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ AVR sees minimal (if any) benefit -- `double` was interpreted as `float` on AVR

### Remove encoder in-matrix workaround code ([#20389](https://github.com/qmk/qmk_firmware/pull/20389)) {#remove-encoder-in-matrix-workaround-code}

Some keyboards "hacked" encoder support into spare slots in the key matrix in order to interoperate with VIA. This workaround is no longer necessary, and the code has been removed. If you have a keyboard that uses this workaround, you will need to update your keymap to use the new [Encoder Map](../feature_encoders#encoder-map) API instead.
Some keyboards "hacked" encoder support into spare slots in the key matrix in order to interoperate with VIA. This workaround is no longer necessary, and the code has been removed. If you have a keyboard that uses this workaround, you will need to update your keymap to use the new [Encoder Map](../features/encoders#encoder-map) API instead.

### Unicodemap keycodes rename ([#21092](https://github.com/qmk/qmk_firmware/pull/21092)) {#unicodemap-keycodes-rename}

Expand Down
2 changes: 1 addition & 1 deletion docs/ChangeLog/20240225.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ In some cases, accidental automatic activation of the mouse layer made it diffic

### DIP Switch Mapping ([#22543](https://github.com/qmk/qmk_firmware/pull/22543)) {#dip-switch-map}

Much like Encoder Mapping, DIP Switch Mapping allows for specifying a table of actions to execute when a DIP switch state changes. See the [DIP Switch Documentation](../feature_dip_switch#dip-switch-map) for more information.
Much like Encoder Mapping, DIP Switch Mapping allows for specifying a table of actions to execute when a DIP switch state changes. See the [DIP Switch Documentation](../features/dip_switch#dip-switch-map) for more information.

```c
#if defined(DIP_SWITCH_MAP_ENABLE)
Expand Down
2 changes: 1 addition & 1 deletion docs/drivers/serial.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,7 +298,7 @@ If you're having issues withe serial communication, you can enable debug message
```

::: tip
The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](faq_debug).
The messages will be printed out to the `CONSOLE` output. For additional information, refer to [Debugging/Troubleshooting QMK](../faq_debug).
:::

## Alternate Functions for selected STM32 MCUs
Expand Down
2 changes: 1 addition & 1 deletion docs/features/audio.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ These keycodes turn all of the audio functionality on and off. Turning it off m
|`GUITAR_SONG` | `GUITAR_SOUND` |Plays when the guitar music mode is selected (process_music.c) |
|`VIOLIN_SONG` | `VIOLIN_SOUND` |Plays when the violin music mode is selected (process_music.c) |
|`MAJOR_SONG` | `MAJOR_SOUND` |Plays when the major music mode is selected (process_music.c) |
|`DEFAULT_LAYER_SONGS` | *Not defined* |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer)(quantum.c). |
|`DEFAULT_LAYER_SONGS` | *Not defined* |Plays song when switched default layers with [`set_single_persistent_default_layer(layer)`](../ref_functions#setting-the-persistent-default-layer)(quantum.c). |
|`SENDSTRING_BELL` | *Not defined* |Plays chime when the "enter" ("\a") character is sent (send_string.c) |

## Tempo
Expand Down
6 changes: 3 additions & 3 deletions docs/features/auto_shift.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,7 +294,7 @@ Holding and releasing a Tap Hold key without pressing another key will ordinaril
result in only the hold. With `retro shift` enabled this action will instead
produce a shifted version of the tap keycode on release.

It does not require [Retro Tapping](tap_hold#retro-tapping) to be enabled, and
It does not require [Retro Tapping](../tap_hold#retro-tapping) to be enabled, and
if both are enabled the state of `retro tapping` will only apply if the tap keycode
is not matched by Auto Shift. `RETRO_TAPPING_PER_KEY` and its corresponding
function, however, are checked before `retro shift` is applied.
Expand All @@ -318,7 +318,7 @@ Without a value set, holds of any length without an interrupting key will produc

This value (if set) must be greater than one's `TAPPING_TERM`, as the key press
must be designated as a 'hold' by `process_tapping` before we send the modifier.
[Per-key tapping terms](tap_hold#tapping-term) can be used as a workaround.
[Per-key tapping terms](../tap_hold#tapping-term) can be used as a workaround.
There is no such limitation in regards to `AUTO_SHIFT_TIMEOUT` for normal keys.

**Note:** Tap Holds must be added to Auto Shift, see [here.](auto_shift#auto-shift-per-key)
Expand All @@ -330,7 +330,7 @@ Tap Hold Configurations work a little differently when using Retro Shift.
Referencing `TAPPING_TERM` makes little sense, as holding longer would result in
shifting one of the keys.

`RETRO_SHIFT` enables [`PERMISSIVE_HOLD`-like behaviour](tap_hold#permissive-hold) (even if not explicitly enabled) on all mod-taps for which `RETRO_SHIFT` applies.
`RETRO_SHIFT` enables [`PERMISSIVE_HOLD`-like behaviour](../tap_hold#permissive-hold) (even if not explicitly enabled) on all mod-taps for which `RETRO_SHIFT` applies.

## Using Auto Shift Setup

Expand Down
2 changes: 1 addition & 1 deletion docs/features/autocorrect.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Additionally, you can use the `AC_TOGG` keycode to toggle the on/off status for
Callback function `bool process_autocorrect_user(uint16_t *keycode, keyrecord_t *record, uint8_t *typo_buffer_size, uint8_t *mods)` is available to customise incoming keycodes and handle exceptions. You can use this function to sanitise input before they are passed onto the autocorrect engine

::: tip
Sanitisation of input is required because autocorrect will only match 8-bit [basic keycodes](keycodes_basic) for typos. If valid modifier keys or 16-bit keycodes that are part of a user's word input (such as Shift + A) is passed through, they will fail typo letter detection. For example a [Mod-Tap](mod_tap) key such as `LCTL_T(KC_A)` is 16-bit and should be masked for the 8-bit `KC_A`.
Sanitisation of input is required because autocorrect will only match 8-bit [basic keycodes](../keycodes_basic) for typos. If valid modifier keys or 16-bit keycodes that are part of a user's word input (such as Shift + A) is passed through, they will fail typo letter detection. For example a [Mod-Tap](../mod_tap) key such as `LCTL_T(KC_A)` is 16-bit and should be masked for the 8-bit `KC_A`.
:::

The default user callback function is found inside `quantum/process_keycode/process_autocorrect.c`. It covers most use-cases for QMK special functions and quantum keycodes, including [overriding autocorrect](#overriding-autocorrect) with a modifier other than shift. The `process_autocorrect_user` function is `weak` defined to allow user's copy inside `keymap.c` (or code files) to overwrite it.
Expand Down
2 changes: 1 addition & 1 deletion docs/features/bluetooth.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ A Bluefruit UART friend can be converted to an SPI friend, however this [require
<!-- FIXME: Document bluetooth support more completely. -->
## Bluetooth Rules.mk Options

The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](reference_glossary#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`.
The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](../reference_glossary#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`.

Add the following to your `rules.mk`:

Expand Down
2 changes: 1 addition & 1 deletion docs/features/bootmagic.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,6 @@ You can define additional logic here. For instance, resetting the EEPROM or requ

## Addenda

To manipulate settings that were formerly configured through the now-deprecated full Bootmagic feature, see [Magic Keycodes](keycodes_magic).
To manipulate settings that were formerly configured through the now-deprecated full Bootmagic feature, see [Magic Keycodes](../keycodes_magic).

The Command feature, formerly known as Magic, also allows you to control different aspects of your keyboard. While it shares some functionality with Magic Keycodes, it also allows you to do things that Magic Keycodes cannot, such as printing version information to the console. For more information, see [Command](command).
4 changes: 2 additions & 2 deletions docs/features/combo.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ combo_t key_combos[] = {
This will send "Escape" if you hit the A and B keys, and Ctrl+Z when you hit the C and D keys.

## Advanced Keycodes Support
Advanced keycodes, such as [Mod-Tap](mod_tap) and [Tap Dance](tap_dance) are also supported together with combos. If you use these advanced keycodes in your keymap, you will need to place the full keycode in the combo definition, e.g.:
Advanced keycodes, such as [Mod-Tap](../mod_tap) and [Tap Dance](tap_dance) are also supported together with combos. If you use these advanced keycodes in your keymap, you will need to place the full keycode in the combo definition, e.g.:

```c
const uint16_t PROGMEM test_combo1[] = {LSFT_T(KC_A), LT(1, KC_B), COMBO_END};
Expand Down Expand Up @@ -99,7 +99,7 @@ void process_combo_event(uint16_t combo_index, bool pressed) {

This will send "[email protected]" if you chord E and M together, and clear the current line with Backspace and Left-Shift. You could change this to do stuff like play sounds or change settings.

It is worth noting that `COMBO_ACTION`s are not needed anymore. As of [PR#8591](https://github.com/qmk/qmk_firmware/pull/8591/), it is possible to run your own custom keycodes from combos. Just define the custom keycode, program its functionality in `process_record_user`, and define a combo with `COMBO(<key_array>, <your_custom_keycode>)`. See the first example in [Macros](feature_macros).
It is worth noting that `COMBO_ACTION`s are not needed anymore. As of [PR#8591](https://github.com/qmk/qmk_firmware/pull/8591/), it is possible to run your own custom keycodes from combos. Just define the custom keycode, program its functionality in `process_record_user`, and define a combo with `COMBO(<key_array>, <your_custom_keycode>)`. See the first example in [Macros](../feature_macros).

## Keycodes
You can enable, disable and toggle the Combo feature on the fly. This is useful if you need to disable them temporarily, such as for a game. The following keycodes are available for use in your `keymap.c`
Expand Down
Loading