cleaned up docs even more. I believe this fills all requirements for merge.

This commit is contained in:
Kyle Brown 2019-02-25 14:10:09 -08:00
parent f65ea1e841
commit 7ebfaa3bf7
8 changed files with 43 additions and 32 deletions

View File

@ -1,6 +1,6 @@
# Debugging # Debugging
Debug will output most of the useful state to the console. This can be enable in your firmware Debug will output most of the useful state to the console. This can be enable in your firmware
by setting this in your keymap. NOTE that it will be MUCH slower, so only enable this when you by setting this in your keymap. NOTE that it will be slower, so only enable this when you
need debugging. need debugging.
```python ```python
DEBUG_ENABLE = True DEBUG_ENABLE = True

View File

@ -12,7 +12,9 @@ After CircuitPython has been flashed, a `CIRCUITPY` drive should show up on your
computer most likely. If not, check out the troubleshooting section below. computer most likely. If not, check out the troubleshooting section below.
# Windows # Windows
Currently, we do not have an official "flasher" for windows. You can manually install it fairly easily and we recommend coming to the KMK discord/Matrix server if you have any questions. An actual tool is in development. Alternatively, you can flash from any linux like tool set (Cygwin, WSL, ect) using the Linux guide below. Currently, we do not have an official "flasher" for windows. You can manually install it fairly easily and we recommend
checking out the support page to join the community if you have any questions. An actual tool is in development.
Alternatively, you can flash from any linux like tool set (Cygwin, WSL, ect) using the Linux guide below.
# Mac # Mac
Until an interactive installer is created, please follow the linux instructions replacing /mnt with /Volumes Until an interactive installer is created, please follow the linux instructions replacing /mnt with /Volumes
@ -27,10 +29,10 @@ make MOUNTPOINT=/mnt/CIRCUITPY USER_KEYMAP=user_keymaps/nameofyourkeymap.py
# Troubleshooting # Troubleshooting
## Windows ## Windows
Please join us on the Discord/Matrix server and we can help you out Please check out our support page to get in contact with us and the community and we can gladly help you out.
## Mac ## Mac
Please join us on the Discord/Matrix server and we can help you out Please check out our support page to get in contact with us and the community and we can gladly help you out.
## Linux/BSD ## Linux/BSD
Check to see if your drive may have mounted elsewhere with a gui tool. Most will give you the directory in the GUI. Check to see if your drive may have mounted elsewhere with a gui tool. Most will give you the directory in the GUI.
@ -40,4 +42,4 @@ It would look something like this
`sudo mount -o uid=1000,gid=1000 /dev/sdf1 ~/mnt` `sudo mount -o uid=1000,gid=1000 /dev/sdf1 ~/mnt`
If you still are having issues, come say hi in the Discord/Matrix servers and we'll help you out. If you still are having issues, check out our support page to see where you can come say hi and the community will gladly help you out.

View File

@ -10,24 +10,15 @@
| Board | Chipset | Python Platform | Notes | | Board | Chipset | Python Platform | Notes |
| ----- | ------- | --------------- | ----- | | ----- | ------- | --------------- | ----- |
| [Seeed nRF52840 Micro Dev Kit](https://www.seeedstudio.com/nRF52840-Micro-Development-Kit-p-3079.html) | nRF52840 | [CircuitPython](https://github.com/KMKfw/circuitpython/tree/topic-nrf52840-mdk) | This is basically as bleeding edge as it gets. Will support BLE HID to PC as well as BLE split boards | | [Seeed nRF52840 Micro Dev Kit](https://www.seeedstudio.com/nRF52840-Micro-Development-Kit-p-3079.html) | nRF52840 | [CircuitPython](https://github.com/KMKfw/circuitpython/tree/topic-nrf52840-mdk) | This is basically as bleeding edge as it gets. Will support BLE HID to PC as well as BLE split boards |
| [Planck rev6 Keyboard](https://olkb.com/planck) | STM32 of some sort | MicroPython | Requires porting MicroPython to STM32F3, this work has begun but I'm pretty terrible at it. | | [Planck rev6 Keyboard](https://olkb.com/planck) | STM32F303 | CircuitPython | Requires porting CircuitPython to STM32F3. |
| [Proton C Controller?](https://www.reddit.com/r/MechanicalKeyboards/comments/87cw36/render_of_the_qmk_proton_c_qmkpowered_pro_micro/) | ??? | ??? | Does not exist yet, the controller from a Planck rev6 in a Pro Micro pin-compat controller chip | | [Proton C Controller?](https://olkb.com/parts/qmk-proton-c) | STM32F303CCT6 | CircuitPython | Requires porting CircuitPython to STM32F3. |
## Unsupported Devices
Here's a list of problematic, but possibly usable microcontrollers:
| Board | Chipset | Python Platform | Notes |
| ----- | ------- | --------------- | ------------------ |
| [Adafruit Feather Huzzah](https://www.adafruit.com/product/2821) | ESP8266 | CircuitPython | Suuuuuper limited on GPIO lanes, Lack USB HID (HW) |
| [Adafruit HUZZAH32](https://www.adafruit.com/product/3405) | ESP32 | MicroPython | This may work as a BLE HID device, or with a GPIO-based USB breakout. Lacks USB HID (HW) |
| [Adafruit Feather nRF52 BLE Controller](https://www.adafruit.com/product/3406) | nRF52832 | CircuitPython | Lacks USB HID (HW), but could be fixed with GPIO USB breakout. BLE HID should be possible, but it's considered somewhat unstable. This chip is considered "mostly unsupported" in CircuitPython at the time of writing. |
## Porting new devices ## Porting new devices
Pull requests are welcome and encouraged to add support for new Pull requests are welcome and encouraged to add support for new
keyboards/microcontrollers. The base requirements for device support keyboards/microcontrollers. The base requirements for device support
- CircuitPython or MicroPython - CircuitPython
- 256KB of flash storage - 256KB of flash storage
- HID over USB or Bluetooth. - HID over USB or Bluetooth.
@ -39,5 +30,5 @@ while all actual work is being done by a supported board. This could also be
used to convert boards that use USB or i2c that run lesser chips to a KMK used to convert boards that use USB or i2c that run lesser chips to a KMK
board, with a supported board acting as a translation layer. Support for board, with a supported board acting as a translation layer. Support for
a converter is planned with the inspiration coming from the [Hasu USB to a converter is planned with the inspiration coming from the [Hasu USB to
USB Controller Converter](https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/) and would allow for conversion to KMK as USB Controller Converter](https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/)
opposed to TMK or QMK with that board. and would allow for conversion to KMK as opposed to TMK or QMK with that board.

View File

@ -1,10 +1,10 @@
# Keys # Keys
> NOTE: This is not a lookup table of key objects provided by KMK. That listing > NOTE: This is not a lookup table of key objects provided by KMK. That listing
> can be found in `keycodes.md`, though that file is not always kept up to date. > can be found in `keycodes.md`. It's probably worth a look at the raw source if
> It's probably worth a look at the raw source if you're stumped: `kmk/keys.py`. > you're stumped: `kmk/keys.py`.
This is a bunch of documentation about how physical keypresses translate to This is a bunch of documentation about how physical keypress translate to
events (and the lifecycle of said events) in KMK. It's somewhat technical, but events (and the lifecycle of said events) in KMK. It's somewhat technical, but
if you're looking to extend your keyboard's functionality with extra code, if you're looking to extend your keyboard's functionality with extra code,
you'll need at least some of this technical knowledge. you'll need at least some of this technical knowledge.

View File

@ -1,9 +1,11 @@
# Sequences/Macros # Sequences
Sequences are used for sending multiple keystrokes in a single action, and can Sequences are used for sending multiple keystrokes in a single action, and can
be used for things like unicode characters (even emojis! 🇨🇦), lorei epsum be used for things like unicode characters (even emojis! 🇨🇦), lorei epsum
generators, triggering side effects (think lighting, speakers, generators, triggering side effects (think lighting, speakers,
microcontroller-optimized cryptocurrency miners, whatever). microcontroller-optimized cryptocurrency miners, whatever). If you are still
unsure of what this is, most other vendors call these "Macros", but can do much
more if you wish.
## Sending strings ## Sending strings
The most basic sequence is `send_string`. It can be used to send any standard The most basic sequence is `send_string`. It can be used to send any standard

View File

@ -2,13 +2,22 @@
Split keyboards are mostly the same as unsplit and very easy to adapt a keymap for. Currently Split keyboards are mostly the same as unsplit and very easy to adapt a keymap for. Currently
UART is supported, though other modes will come later such as Bluetooth and i2c. UART is supported, though other modes will come later such as Bluetooth and i2c.
## UART
To enable uart it's as simple as adding this line, of course changing the pin
```python
keyboard.split_type = "UART"
keyboard.uart_pin = board.SCL
```
## Config
Useful config options: Useful config options:
```python ```python
keyboard.split_flip = True # If your boards are identical but one is flipped, this option is for you keyboard.split_flip = True # If your boards are identical but one is flipped, this option is for you
keyboard.split_offsets = [6, 6, 6, 6] # This is the how many keys are on each column on the "Master" half keyboard.split_offsets = [6, 6, 6, 6] # This is the how many keys are on each column on the "Master" half
``` ```
## EE HANDS ### EE HANDS
If you want to plug in on either side, it can be done fairly easily but requires setup. If you want to plug in on either side, it can be done fairly easily but requires setup.
On each half of your keyboard make a file called kmk_side.py and add one of these lines to the file On each half of your keyboard make a file called kmk_side.py and add one of these lines to the file
@ -24,9 +33,3 @@ and then in your keymap, add the line
from kmk_side import split_side from kmk_side import split_side
``` ```
# UART
To enable uart it's as simple as adding this line, of course changing the pin
```python
keyboard.split_type = "UART"
keyboard.uart_pin = board.SCL
```

13
docs/support.md Normal file
View File

@ -0,0 +1,13 @@
# Support
If you are having any issues in installing, configuring, or otherwise issues with KMK, please reach out to us and
our community here. We do have a bridge to allow communication between the platforms as well, though we recommend
using Matrix if possible.
# Matrix
* [Software Support](https://matrix.to/#/#kmk-support:kmkfw.io)
* [Hardware Support](https://matrix.to/#/#kmk-hardware:kmkfw.io)
* [General discussion](https://matrix.to/#/#kmk-general:kmkfw.io)
# Discord
* [General support](https://discord.gg/NDUau62)

View File

@ -34,7 +34,7 @@ are planned to be worked around "eventually", but for now are noteworthy:
- Super fancy stuff like sending a keypress only when the leader key is released - Super fancy stuff like sending a keypress only when the leader key is released
(perhaps based on how long the leader key was held) is **unsupported** - an (perhaps based on how long the leader key was held) is **unsupported** - an
example usecase might be "tap for Home, hold for Shift" example use case might be "tap for Home, hold for Shift"
Here's an example of all this in action: Here's an example of all this in action: