Skip to content
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
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ KMK is a feature-rich and beginner-friendly firmware for computer keyboards
written and configured in
[CircuitPython](https://github.com/adafruit/circuitpython).

## Status

KMK is no longer actively maintained and on limited life support.
Issues and pull requests will not be addressed for the time being.
Volunteers for taking on the project can voice their interest in the
[Zulip Chat](https://kmkfw.zulipchat.com).

## Support

For asynchronous support and chatter about KMK, [join our Zulip
Expand Down
8 changes: 4 additions & 4 deletions docs/en/scanners.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ class MyKeyboard(KMKKeyboard):
]
```

If your design requires symetrical encoders (e.g. one on each half of a split keyboard), see Multiple Scanners section below for more details.
If your design requires symmetrical encoders (e.g. one on each half of a split keyboard), see Multiple Scanners section below for more details.


## `Scanner` base class
Expand Down Expand Up @@ -223,7 +223,7 @@ class MyKeyboard(KMKKeyboard):

#### Adding Single-Pin Buttons or Rotary Encoders to Keymap Using Scanners and Split

In many cases, split keybaords are symetrical in form and function. Some split keyboards also have additional hardware like one or more rotary encoders, or non-matrix-connected media or macro buttons. In this case, you will want to configure multiple scanners.
In many cases, split keyboards are symmetrical in form and function. Some split keyboards also have additional hardware like one or more rotary encoders, or non-matrix-connected media or macro buttons. In this case, you will want to configure multiple scanners.

The `Split` class that you're probably already using creates the `coord_mapping` indexes automatically. However, the `add_buttons` argument will cause it to append any additional "buttons" (or encoder actions) to the `coord_mapping` for _each half_ of the keyboard.

Expand Down Expand Up @@ -271,7 +271,7 @@ if __name__ == '__main__':

#### Multiple Scanners `coord_mapping` and keymap changes
For a more manually-controlled configuration, you can add any other scanners that you need and create your `coord_mapping` in your own code (leaving off the `add_buttons` argument when initializing `Split`)
Creating and assigning a custom `coord_mapping` should be done before intitializing `Split` or any scanners.
Creating and assigning a custom `coord_mapping` should be done before initializing `Split` or any scanners.

The below examples illustrate how the additional encoder actions are assigned to the `coord_mapping`. Your configuration should follow this pattern.

Expand Down Expand Up @@ -309,4 +309,4 @@ Notice that, despite the visual layout, all of the encoder keys are at the **_en
Therefore, 4 more key codes can be added in the corresponding places in the `keyboard.keymap`, and they will be assigned to the encoders' actions.


Also note, it may be necessary to configure `Split().split_offset` when configuring your own `coord_mapping` to make sure that the encoders are assigned properly. The value will usually be the first/lowest index value of the right side. In the case of the second example above, the offset value would be 32, but this also depends on your `coord_mapping` layout.
Also note, it may be necessary to configure `Split().split_offset` when configuring your own `coord_mapping` to make sure that the encoders are assigned properly. The value will usually be the first/lowest index value of the right side. In the case of the second example above, the offset value would be 32, but this also depends on your `coord_mapping` layout.