Allow strings in keymap. Replace with keys in keyboard _init cycle.

This commit is contained in:
John Morrison
2022-04-25 20:16:48 +01:00
committed by xs5871
parent a4d6a44a04
commit 9f964aba36
4 changed files with 43 additions and 6 deletions

View File

@@ -2,9 +2,9 @@
KMK is configured through a rather large plain-old-Python class called
`KMKKeyboard`. Subclasses of this configuration exist which pre-fill defaults
for various known keyboards (for example, many QMK, TMK, or ZMK keyboards
are supported with a nice!nano, or through our ItsyBitsy to Pro Micro pinout adapter.
This class is the main interface between end users and the inner workings of KMK.
for various known keyboards (for example, many QMK, TMK, or ZMK keyboards
are supported with a nice!nano, or through our ItsyBitsy to Pro Micro pinout adapter.
This class is the main interface between end users and the inner workings of KMK.
Let's dive in!
- Edit or create a file called `main.py` on your `CIRCUITPY` drive. You can also
@@ -73,6 +73,13 @@ print(dir(board))
keyboard.keymap = [[KC.A, KC.B]]
```
- You can also define the keymap with strings. They get replaced with `Key` objects
when the keyboard is started:
```python
keyboard.keymap = [['A', 'B']]
```
You can further define a bunch of other stuff:
- `keyboard.debug_enabled` which will spew a ton of debugging information to the serial

View File

@@ -19,11 +19,11 @@ mergulhar!
ter problemas de corrupção. ou você pode estar em um dia ruim e apagar o
arquivo errado.
- Atribuir uma instância `KMKKeyboard` a uma variável, por exemplo, `keyboard =
KMKKeyboard()` (note os parênteses).
- Atribuir uma instância `KMKKeyboard` a uma variável, por exemplo,
`keyboard = KMKKeyboard()` (note os parênteses).
- Certificar-se quie esta instância de `KMKKeyboard` é realmente executada ao
fim do arquivo usando um bloco como este:
fim do arquivo usando um bloco como este:
```python
if __name__ == '__main__':
@@ -75,6 +75,13 @@ print(dir(board))
keyboard.keymap = [[KC.A, KC.B]]
```
- Você também pode definir o mapa de teclas com strings. Eles são substituídos por
`Key` objetos quando o teclado é iniciado:
```python
keyboard.keymap = [['A', 'B']]
```
Você pode definir um monte de outras coisas
- `keyboard.debug_enabled` que vai atirar um monte de informação de depuração