qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

readme.md (3381B)


      1 # Planck
      2 
      3 A compact 40% (12x4) ortholinear keyboard kit designed by OLKB and sold by Drop. A complete hardware rework of the rev6 Planck PCB, with support for up to 8 rotary encoders. [More info on qmk.fm](http://qmk.fm/planck/)
      4 
      5 * Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert)
      6 * Hardware Supported: Planck PCB rev7
      7 * Hardware Availability: [Drop](https://drop.com/buy/planck-mechanical-keyboard?mode=guest_open)
      8 
      9 Make example for this keyboard (after setting up your build environment):
     10 
     11     make planck/rev7:default
     12 
     13 See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
     14 
     15 ## Encoders
     16 
     17 Encoders must have matching pulse & detent resolutions (e.g. 24/24) for the scanning to work properly. Multiple encoders can be used at the same time.
     18 If an encoder has a switch built-in, it's connected to the key at that location with index number:
     19 
     20 ```
     21 ,-----------------------------------------------------------------------------------.
     22 |   0  |      |      |      |      |      |      |      |      |      |      |   4  |
     23 |------+------+------+------+------+------+------+------+------+------+------+------|
     24 |   1  |      |      |      |      |      |      |      |      |      |      |   5  |
     25 |------+------+------+------+------+------+------+------+------+------+------+------|
     26 |   2  |      |      |      |      |      |      |      |      |      |      |   6  |
     27 |------+------+------+------+------+------+------+------+------+------+------+------|
     28 |   3  |      |      |      |      |             |      |      |      |      |   7  |
     29 `-----------------------------------------------------------------------------------'
     30 ```
     31 
     32 Planck rev7 supports `ENCODER_ENABLE` and `ENCODER_MAP_ENABLE`. If both `ENCODER_MAP_ENABLE` and `ENCODER_ENABLE` are defined, `ENCODER_MAP_ENABLE` takes precedence. On the default keymap, each encoder will play its own rising/falling tone sequence when rotated, and will reset the pitch after one second of inactivity.
     33 
     34 ### With ENCODER_ENABLE
     35 
     36 Define it as follows in `rules.mk`:
     37 
     38 ```
     39 ENCODER_ENABLE = yes
     40 ```
     41 
     42 Zero-indexed (compared to being one-indexed on the PCB's silkscreen) in the `encoder_update_user(uint8_t index, bool clockwise)` function.
     43 
     44 ### With ENCODER_MAP_ENABLE
     45 
     46 Define it as follows in `rules.mk`:
     47 
     48 ```
     49 ENCODER_ENABLE = yes
     50 ENCODER_MAP_ENABLE = yes
     51 ```
     52 
     53 If you enable `ENCODER_MAP_ENABLE`, define `const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS]` and configure your keycodes. If you enable `ENCODER_MAP_ENABLE`, `encoder_update_user` is not used directly. 
     54 
     55 Additionally, you can use the following `config.h` options:
     56 
     57 ```c
     58 #define ENCODER_MAP_KEY_DELAY 10
     59 #define ENCODER_RESOLUTION 4
     60 ```
     61 
     62 ## Some Planck-specific config.h options:
     63 
     64 ```c
     65 // sets the length (in seconds) of the watchdog timer, which will reset the keyboard due to hang/crash in the code
     66 #define PLANCK_WATCHDOG_TIMEOUT 1.0
     67 // disables the watchdog timer - you may want to disable the watchdog timer if you use longer macros
     68 #define PLANCK_WATCHDOG_DISABLE
     69 // Sets the time to wait for the rotary encoder pin state to stabilize while scanning (Default is 20(us))
     70 #define PLANCK_ENCODER_SETTLE_PIN_STATE_DELAY 20
     71 ```