docs and typos
This commit is contained in:
parent
f79e508566
commit
1a348f1539
@ -3,8 +3,8 @@
|
|||||||
KMK is a feature-rich and beginner-friendly firmware for computer keyboards
|
KMK is a feature-rich and beginner-friendly firmware for computer keyboards
|
||||||
written and configured in
|
written and configured in
|
||||||
[CircuitPython](https://github.com/adafruit/circuitpython). **KMK is currently
|
[CircuitPython](https://github.com/adafruit/circuitpython). **KMK is currently
|
||||||
in public beta, however should handle almost all workflows without major
|
in public beta, and transitioning to a new core, however should handle almost
|
||||||
issues**.
|
all workflows without major issues**.
|
||||||
|
|
||||||
You can always find the latest releases on our CDN, in [compiled and
|
You can always find the latest releases on our CDN, in [compiled and
|
||||||
optimized](https://cdn.kmkfw.io/kmk-latest.zip) and [raw, hackable text
|
optimized](https://cdn.kmkfw.io/kmk-latest.zip) and [raw, hackable text
|
||||||
|
@ -6,7 +6,7 @@ from kmk.modules.split import Split, SplitSide, SplitType
|
|||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
# Adding extentions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
# TODO Comment one of these on each side
|
# TODO Comment one of these on each side
|
||||||
|
@ -22,7 +22,7 @@ RGB_SAD = KC.RGB_SAD
|
|||||||
RGB_VAI = KC.RGB_VAI
|
RGB_VAI = KC.RGB_VAI
|
||||||
RGB_VAD = KC.RGB_VAD
|
RGB_VAD = KC.RGB_VAD
|
||||||
|
|
||||||
# Adding extentions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=rgb_pixel_pin, num_pixels=27, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
# TODO Comment one of these on each side
|
# TODO Comment one of these on each side
|
||||||
|
@ -6,7 +6,7 @@ from kmk.modules.modtap import ModTap
|
|||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
# Adding extentions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
modtap = ModTap()
|
modtap = ModTap()
|
||||||
|
@ -6,7 +6,7 @@ from kmk.modules.modtap import ModTap
|
|||||||
|
|
||||||
keyboard = KMKKeyboard()
|
keyboard = KMKKeyboard()
|
||||||
|
|
||||||
# Adding extentions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
modtap = ModTap()
|
modtap = ModTap()
|
||||||
|
@ -9,7 +9,7 @@ keyboard = KMKKeyboard()
|
|||||||
_______ = KC.TRNS
|
_______ = KC.TRNS
|
||||||
XXXXXXX = KC.NO
|
XXXXXXX = KC.NO
|
||||||
|
|
||||||
# Adding extentions
|
# Adding extensions
|
||||||
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
rgb = RGB(pixel_pin=keyboard.rgb_pixel_pin, num_pixels=keyboard.rgb_num_pixels, val_limit=100, hue_default=190, sat_default=100, val_default=5)
|
||||||
|
|
||||||
layers_ext = Layers()
|
layers_ext = Layers()
|
||||||
|
@ -13,7 +13,7 @@ Features include
|
|||||||
Downsides
|
Downsides
|
||||||
- $25 USD per microcontroller at most retailers
|
- $25 USD per microcontroller at most retailers
|
||||||
|
|
||||||
Recommended Retailers
|
Common Retailers
|
||||||
[Boardsource](https://boardsource.xyz/store/5f4a1733bbaa5c635b83ed67)
|
[Boardsource](https://boardsource.xyz/store/5f4a1733bbaa5c635b83ed67)
|
||||||
[NiceKeyboards](https://nicekeyboards.com/collections/group-buy/products/nice-nano-v1-0).
|
[NiceKeyboards](https://nicekeyboards.com/collections/group-buy/products/nice-nano-v1-0).
|
||||||
|
|
||||||
@ -26,9 +26,21 @@ Downsides
|
|||||||
- Needs adapted to work with Pro Micro pinout keyboards. Adapter can be found
|
- Needs adapted to work with Pro Micro pinout keyboards. Adapter can be found
|
||||||
[HERE](https://github.com/KMKfw/kmk_firmware/tree/master/hardware)
|
[HERE](https://github.com/KMKfw/kmk_firmware/tree/master/hardware)
|
||||||
|
|
||||||
Recommended Retailers
|
Common Retailers
|
||||||
[Adafruit](https://www.adafruit.com/product/3800)
|
[Adafruit](https://www.adafruit.com/product/3800)
|
||||||
|
|
||||||
|
## RP2040
|
||||||
|
Features include
|
||||||
|
- Very affordable
|
||||||
|
- Very powerful for the price
|
||||||
|
|
||||||
|
Downsides
|
||||||
|
- Little support for keyboard kits
|
||||||
|
|
||||||
|
Common Retailers
|
||||||
|
[Adafruit](https://www.adafruit.com/pico?src=raspberrypi)
|
||||||
|
[Sparkfun](https://www.sparkfun.com/products/17829?src=raspberrypi)
|
||||||
|
|
||||||
## Adafruit ItsyBitsy nRF52840 Express
|
## Adafruit ItsyBitsy nRF52840 Express
|
||||||
Features include
|
Features include
|
||||||
- Both USB HID and Bluetooth support
|
- Both USB HID and Bluetooth support
|
||||||
@ -40,6 +52,9 @@ Downsides
|
|||||||
- No battery support without addon board found
|
- No battery support without addon board found
|
||||||
[HERE](https://www.adafruit.com/product/2124)
|
[HERE](https://www.adafruit.com/product/2124)
|
||||||
|
|
||||||
|
Common Retailers
|
||||||
|
[Adafruit](https://www.adafruit.com/product/4481)
|
||||||
|
|
||||||
## Other microcontrollers
|
## Other microcontrollers
|
||||||
What you'll need to have at minimum
|
What you'll need to have at minimum
|
||||||
- CircuitPython/KMKpython
|
- CircuitPython/KMKpython
|
||||||
|
@ -18,7 +18,7 @@ if __name__ == '__main__':
|
|||||||
keyboard.go(hid_type=HIDModes.BLE)
|
keyboard.go(hid_type=HIDModes.BLE)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Changing the advertisee name
|
## Changing the advertise name
|
||||||
There are two ways to change the advertising name. The first would be to
|
There are two ways to change the advertising name. The first would be to
|
||||||
[change the name of the drive](https://learn.adafruit.com/welcome-to-circuitpython/the-circuitpy-drive).
|
[change the name of the drive](https://learn.adafruit.com/welcome-to-circuitpython/the-circuitpy-drive).
|
||||||
The second would be to change the keyboard.go() like this.
|
The second would be to change the keyboard.go() like this.
|
||||||
|
@ -4,7 +4,7 @@ the keyboard. They are meant to be easy to add, and create your own. These live
|
|||||||
a sandbox to help prevent any bad code from crashing your keyboard.
|
a sandbox to help prevent any bad code from crashing your keyboard.
|
||||||
|
|
||||||
## Core Extensions
|
## Core Extensions
|
||||||
These extensions are proveded in all builds and can be enabled. Currently offered
|
These extensions are provided in all builds and can be enabled. Currently offered
|
||||||
extensions are
|
extensions are
|
||||||
|
|
||||||
- [International](international.md): Adds international keycodes
|
- [International](international.md): Adds international keycodes
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# International Keycodes
|
# International Keycodes
|
||||||
International extention adds keys for non US layouts. It can simply be added to
|
International extension adds keys for non US layouts. It can simply be added to
|
||||||
the extentions list.
|
the extensions list.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.extensions.international import International
|
from kmk.extensions.international import International
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Layers
|
# Layers
|
||||||
Layers module adds keys for accessing other layers. It can simply be added to
|
Layers module adds keys for accessing other layers. It can simply be added to
|
||||||
the extentions list.
|
the extensions list.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.modules.layers import Layers
|
from kmk.modules.layers import Layers
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# LED (Mono color backlight)
|
# LED (Mono color backlight)
|
||||||
Want your keyboard to shine? Add some lights!
|
Want your keyboard to shine? Add some lights!
|
||||||
|
|
||||||
## Enabling the extention
|
## Enabling the extension
|
||||||
The only required values that you need to give the LED extention would be the
|
The only required values that you need to give the LED extension would be the
|
||||||
pixel pin, and the number of pixels/LED's. If using a split keyboard, this number
|
pixel pin, and the number of pixels/LED's. If using a split keyboard, this number
|
||||||
is per side, and not the total of both sides.
|
is per side, and not the total of both sides.
|
||||||
```python
|
```python
|
||||||
@ -28,7 +28,7 @@ keyboard.extensions.append(led_ext)
|
|||||||
## Configuration
|
## Configuration
|
||||||
All of these values can be set by default for when the keyboard boots.
|
All of these values can be set by default for when the keyboard boots.
|
||||||
```python
|
```python
|
||||||
from kmk.extentions.led import AnimationModes
|
from kmk.extensions.led import AnimationModes
|
||||||
led_ext = LED(
|
led_ext = LED(
|
||||||
led_pin=led_pin,
|
led_pin=led_pin,
|
||||||
brightness_step=5,
|
brightness_step=5,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# Media Keys
|
# Media Keys
|
||||||
Media keys extention adds keys for common media control keys. It can simply be
|
Media keys extension adds keys for common media control keys. It can simply be
|
||||||
added to the extentions list.
|
added to the extensions list.
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.extensions.media_keys import MediaKeys
|
from kmk.extensions.media_keys import MediaKeys
|
||||||
|
@ -6,7 +6,7 @@ import board
|
|||||||
|
|
||||||
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
|
from kmk.kmk_keyboard import KMKKeyboard as _KMKKeyboard
|
||||||
from kmk.matrix import DiodeOrientation
|
from kmk.matrix import DiodeOrientation
|
||||||
{EXTENTIONS_IMPORT}
|
{EXTENSIONS_IMPORT}
|
||||||
|
|
||||||
class KMKKeyboard(_KMKKeyboard):
|
class KMKKeyboard(_KMKKeyboard):
|
||||||
{REQUIRED}
|
{REQUIRED}
|
||||||
@ -23,11 +23,11 @@ colums and the diode direction (if any), should be defined like this
|
|||||||
diode_orientation = DiodeOrientation.COLUMNS
|
diode_orientation = DiodeOrientation.COLUMNS
|
||||||
```
|
```
|
||||||
|
|
||||||
## Additional pins for extentions
|
## Additional pins for extensions
|
||||||
KMK includes built in extentions for RGB and split keyboards, and powersave. If
|
KMK includes built in extensions for RGB and split keyboards, and powersave. If
|
||||||
these are applicible on your keyboard/microcontroller, the pins should be added
|
these are applicible on your keyboard/microcontroller, the pins should be added
|
||||||
here. Refer to the instructions on the respective extentions page on how to add
|
here. Refer to the instructions on the respective extensions page on how to add
|
||||||
them. If not adding any extentions, leave this as an empty list as shown.
|
them. If not adding any extensions, leave this as an empty list as shown.
|
||||||
|
|
||||||
# Coord mapping
|
# Coord mapping
|
||||||
If your keyboard is not built electrically as a square (though most are), you can
|
If your keyboard is not built electrically as a square (though most are), you can
|
||||||
@ -50,7 +50,7 @@ from kmk.matrix import intify_coordinate as ic
|
|||||||
## Keymaps
|
## Keymaps
|
||||||
Keymaps are organized as a list of lists. Keycodes are added for every key on
|
Keymaps are organized as a list of lists. Keycodes are added for every key on
|
||||||
each layer. See [keycodes](keycodes.md) for more details on what keycodes are
|
each layer. See [keycodes](keycodes.md) for more details on what keycodes are
|
||||||
avaliable. If using layers or other extentions, also refer to the extentions
|
avaliable. If using layers or other extensions, also refer to the extensions
|
||||||
page for additional keycodes.
|
page for additional keycodes.
|
||||||
```python
|
```python
|
||||||
from kb import KMKKeyboard
|
from kb import KMKKeyboard
|
||||||
|
@ -9,7 +9,7 @@ based keyboards.
|
|||||||
|`KC.PS_ON ` |Turns powersave on |
|
|`KC.PS_ON ` |Turns powersave on |
|
||||||
|`KC.PS_OFF ` |Turns powersave off |
|
|`KC.PS_OFF ` |Turns powersave off |
|
||||||
|
|
||||||
# Enabling the extention
|
# Enabling the extension
|
||||||
To turn on basic power saving, this is all that is required.
|
To turn on basic power saving, this is all that is required.
|
||||||
```python
|
```python
|
||||||
from kmk.modules.power import Power
|
from kmk.modules.power import Power
|
||||||
|
@ -105,7 +105,7 @@ If you want to create your own animations, or for example, change the lighting i
|
|||||||
|`keyboard.pixels.animation_speed` |`1` |Increases animation speed of most animations. Recommended 1-5, Maximum 10. |
|
|`keyboard.pixels.animation_speed` |`1` |Increases animation speed of most animations. Recommended 1-5, Maximum 10. |
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from kmk.extentions.rgb import AnimationModes
|
from kmk.extensions.rgb import AnimationModes
|
||||||
rgb_ext = RGB(pixel_pin=rgb_pixel_pin,
|
rgb_ext = RGB(pixel_pin=rgb_pixel_pin,
|
||||||
num_pixels=27
|
num_pixels=27
|
||||||
num_pixels=0,
|
num_pixels=0,
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
# Split Keyboards
|
# Split Keyboards
|
||||||
Split keyboards are mostly the same as unsplit. Wired UART and Bluetooth are supported.
|
Split keyboards are mostly the same as unsplit. Wired UART is fully supported,
|
||||||
|
and testing of bluetooth splits, though we don't currently offer support for this.
|
||||||
|
|
||||||
|
|
||||||
## Wired UART
|
## Wired UART
|
||||||
Wired connections can use UART over 1 or 2 wires. With 2 wires, you will be able
|
Wired connections can use UART over 1 or 2 wires. With 2 wires, you will be able
|
||||||
to syncronize the halves allowing additional features in some extentions.
|
to syncronize the halves allowing additional features in some extensions.
|
||||||
```python
|
```python
|
||||||
from kb import data_pin
|
from kb import data_pin
|
||||||
:from kmk.modules.split import Split, SplitType
|
:from kmk.modules.split import Split, SplitType
|
||||||
@ -13,8 +14,8 @@ split = Split(split_side=SplitSide.LEFT)
|
|||||||
keyboard.modules.append(split)
|
keyboard.modules.append(split)
|
||||||
```
|
```
|
||||||
|
|
||||||
## Bluetooth split (aka no TRRS)
|
## Bluetooth split (aka no TRRS) [Currently in testing]
|
||||||
Wireless splits are fully featured with 2 way communication allowing all extentions to work 100%.
|
Wireless splits are fully featured with 2 way communication allowing all extensions to work 100%.
|
||||||
```python
|
```python
|
||||||
from kb import data_pin
|
from kb import data_pin
|
||||||
from kmk.modules.split import Split, SplitType, Split_Side
|
from kmk.modules.split import Split, SplitType, Split_Side
|
||||||
|
@ -57,7 +57,7 @@ class Power(Module):
|
|||||||
self.psleep()
|
self.psleep()
|
||||||
|
|
||||||
def on_powersave_enable(self, keyboard):
|
def on_powersave_enable(self, keyboard):
|
||||||
'''Gives 10 cycles to allow other extentions to clean up before powersave'''
|
'''Gives 10 cycles to allow other extensions to clean up before powersave'''
|
||||||
if self._loopcounter > 10:
|
if self._loopcounter > 10:
|
||||||
self.enable_powersave(keyboard)
|
self.enable_powersave(keyboard)
|
||||||
self._loopcounter = 0
|
self._loopcounter = 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user