qmk_sweep_skeletyl/keyboards/ckeys/thedora
James Young 4b453dca92
Remove MIDI Configuration boilerplate (#11151)
* remove keyboard-level instances of `MIDI_ENABLE = no`

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e  '/^[ #]*MIDI_ENABLE[ \t]*=[ \t]*no/d' {} +
```

Co-Authored-By: Nick Brassel <nick@tzarc.org>

* fix case-sensitivity issues on MIDI_ENABLE

Change instances of `MIDI_ENABLE = YES` to `MIDI_ENABLE = yes`.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE[ \t]*=[ \t]*[Yy][Ee][Ss];MIDI_ENABLE = yes;g' {} +
```

* replace `# MIDI controls` with `# MIDI support`

Replace `# MIDI controls` with `# MIDI support` in keyboard-level `rules.mk` files.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#[ \t]*MIDI[ \t]*\(controls\|support\).*;# MIDI support;g' {} +
```

* align inline comments

Aligns the inline comments to the length used by the QMK AVR rules.mk template.

Command:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;MIDI_ENABLE *= *yes.*;MIDI_ENABLE = yes           # MIDI support;g'  {} +
```

* remove commented instances of `MIDI_ENABLE` from keyboard `rules.mk` files

Commands:

```
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;#\([ \t]*MIDI_ENABLE\) = yes; \1 = no ;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e 's;^\([ \t]*\)\(MIDI_ENABLE = no\);\2\1;' {} +
find keyboards/ -type f -name 'rules.mk' -and -not -path '*/keymaps/*' -exec sed -i -e '/^[ #]\+MIDI_ENABLE *= *no/d' {} +
```

* remove MIDI configuration boilerplate from keyboard config.h files

Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16 06:51:13 +10:00
..
keymaps/default 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
config.h Remove MIDI Configuration boilerplate (#11151) 2021-08-16 06:51:13 +10:00
info.json [Keyboard] cKeys theDora: Configurator fix (#6828) 2019-09-27 06:56:28 -07:00
readme.md 2021 May 29 Breaking Changes Update (#13034) 2021-05-29 14:38:50 -07:00
rules.mk Remove MIDI Configuration boilerplate (#11151) 2021-08-16 06:51:13 +10:00
thedora.c [Keyboard] Add cKeys' "The Dora" Board (#6469) 2019-08-06 10:17:59 -07:00
thedora.h [Keyboard] Add cKeys' "The Dora" Board (#6469) 2019-08-06 10:17:59 -07:00

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?

Keyboard Maintainer: brandenbyers
Hardware Supported: theDora
Hardware Availability: cKeys.org

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