diff --git a/docs/debugging.md b/docs/debugging.md index eb2ab9c..0b0ba0b 100644 --- a/docs/debugging.md +++ b/docs/debugging.md @@ -1,6 +1,6 @@ # Debugging 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. ```python DEBUG_ENABLE = True diff --git a/docs/flashing.md b/docs/flashing.md index 4b9c971..cdd2918 100644 --- a/docs/flashing.md +++ b/docs/flashing.md @@ -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. # 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 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 ## 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 -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 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` -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. diff --git a/docs/hardware.md b/docs/hardware.md index 4aed0b1..6d30553 100644 --- a/docs/hardware.md +++ b/docs/hardware.md @@ -10,24 +10,15 @@ | 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 | -| [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. | -| [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 | +| [Planck rev6 Keyboard](https://olkb.com/planck) | STM32F303 | CircuitPython | Requires porting CircuitPython to STM32F3. | +| [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 Pull requests are welcome and encouraged to add support for new keyboards/microcontrollers. The base requirements for device support -- CircuitPython or MicroPython +- CircuitPython - 256KB of flash storage - 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 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 -USB Controller Converter](https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/) and would allow for conversion to KMK as -opposed to TMK or QMK with that board. \ No newline at end of file +USB Controller Converter](https://www.1upkeyboards.com/shop/controllers/usb-to-usb-converter/) +and would allow for conversion to KMK as opposed to TMK or QMK with that board. \ No newline at end of file diff --git a/docs/keys.md b/docs/keys.md index a1f2839..acb1511 100644 --- a/docs/keys.md +++ b/docs/keys.md @@ -1,10 +1,10 @@ # Keys > 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. -> It's probably worth a look at the raw source if you're stumped: `kmk/keys.py`. +> can be found in `keycodes.md`. It's probably worth a look at the raw source if +> 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 if you're looking to extend your keyboard's functionality with extra code, you'll need at least some of this technical knowledge. diff --git a/docs/sequences.md b/docs/sequences.md index 30b80de..8c4b08c 100644 --- a/docs/sequences.md +++ b/docs/sequences.md @@ -1,9 +1,11 @@ -# Sequences/Macros +# Sequences Sequences are used for sending multiple keystrokes in a single action, and can be used for things like unicode characters (even emojis! 🇨🇦), lorei epsum 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 The most basic sequence is `send_string`. It can be used to send any standard diff --git a/docs/split_keyboards.md b/docs/split_keyboards.md index f949072..d0c4645 100644 --- a/docs/split_keyboards.md +++ b/docs/split_keyboards.md @@ -2,13 +2,22 @@ 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 +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: ```python 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 ``` -## EE HANDS +### EE HANDS 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 @@ -24,9 +33,3 @@ and then in your keymap, add the line 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 -``` diff --git a/docs/support.md b/docs/support.md new file mode 100644 index 0000000..d7a7fb1 --- /dev/null +++ b/docs/support.md @@ -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) \ No newline at end of file diff --git a/docs/tapdance.md b/docs/tapdance.md index bf73daf..6215acd 100644 --- a/docs/tapdance.md +++ b/docs/tapdance.md @@ -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 (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: