keychron_qmk_firmware/keyboards/ckeys/thedora
Ryan 7e0299117b
Move encoder config to data driven (#19923)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-02-26 09:45:12 +11:00
..
keymaps/default
config.h Move encoder config to data driven (#19923) 2023-02-26 09:45:12 +11:00
info.json Move encoder config to data driven (#19923) 2023-02-26 09:45:12 +11:00
readme.md
rules.mk Migrate MCU and BOOTLOADER to data-driven (#19529) 2023-02-08 18:41:46 +11:00
thedora.c
thedora.h

theDora Board

Thedora Board

A 4x5 keyboard with rotary encoder, QWIIC connector, and header pinouts for easy access to all pins on the Proton C. This keyboard was built for QMK exploration big and small. What will you discover next?

Make example for this keyboard (after setting up your build environment):

make ckeys/thedora:default

See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our [Complete Newbs Guide](Complete Newbs Guide).


Slides

Slides can be found at: https://ckeys.org/slides/exboard/

Case Design

The acrylic laser cutter file is coming soon!

PCB Design

All cKeys PCBs are open source. However, this one has not been posted yet because it needs to be cleaned up a bit! Coming soon!

Firmware

If you want to reflash the pre-installed firmware, use the .bin file for Proton C. Flash with the QMK Toolbox or via the command line.

Building for Proton C: make ckeys/thedora:default

Search for Bootloader Device: make ckeys/thedora:default:flash You will begin seeing output of the host searching for the bootloader device, ERROR: Bootloader not found. Trying again in 5s.

Enter DFU-Bootloader Mode: Reset the controller. Press ADMIN + RESET or, if accessible, press the reset button on the Proton C microcontroller.

Default Layout

You can find the default layout in thedora/keymaps/default/keymap.c

Rotary Encoder

This is the bit of code at the end of keymap.c that needs to changed if you want to change the behavior of the rotary encoder.

bool encoder_update_user(uint8_t index, bool clockwise) {
  if (index == 0) { /* First encoder */
    if (clockwise) {
      tap_code(KC_PGDN); // What the rotary encoder repeatedly does when turned right.
    } else {
      tap_code(KC_PGUP); // What it does when turned to the left.
    }
  }
    return true;
}

The Dora Board