From d7aa245c3343542381ae0e9eb1b77eadca74da57 Mon Sep 17 00:00:00 2001 From: imchipwood Date: Thu, 4 Mar 2021 20:25:19 -0800 Subject: dumbpad refactor - adding support for various PCB revisions (#9259) * Placeholder commit - Refactored to support different PCB revisions Individual revision folders still need: - info.json - readme.md all v0x folders support up to two LEDs for layer indication all v1x folders support up to two LEDs for layer indication plus one extra LED for numlock indication v0x - supports single-encoder v0.x PCB revisions v0x_right - supports reversible, single-encoder v0.x PCB revisions v0x_dualencoder - supports dual-encoder v0.x PCB revisions v1x - supports single-encoder v1.x PCB revisiions v1x_right - supports reversible, single-encoder v1.x PCB revisions * Added info.json and readme.md files for all dumbpad revisions * More refactoring, adding shared config.h and rules.mk Removed config.h from default keymap folders - defining TAPPING_TOGGLE in config.h * Minor formatting fix * MATRIX_COL_PINS for v1x_right was not reversed - changed to match v0x_right * adding support for v1x dual encoder PCB * adding alt-f2 tapdance routine for personal keymaps * adding dumbpad build using teensy 2.0 instead of Pro Micro * matched v1x dumbpad encoder and led pins to latest PCB revisions * updated readme, removed v1x_teensy until someone requests it * changed device name to match tmk udev rules, removed unnecessary ifdef * removed user keymaps and folders * missed hotdox keymap - removing * fixing info.json keyboard_names for all versions * Changed biton32 to get_highest_layer in keyboards/dumbpad/v0x/v0x.c * keyboards/dumbpad/v0x/v0x.c - remove matrix_scan_kb, process_record_kb * /dumbpad/v0x/keymaps/default/keymap.c - remove empty functions * /dumbpad/v0x/keymaps/default/keymap.c - changed biton32 to get_highest_layer * keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c - remove empty functions * keyboards/dumbpad/v0x_right/readme.md - smaller board layout image * keyboards/dumbpad/v1x_dualencoder/readme.md - smaller board image * keyboards/dumbpad/v1x/readme.md - smaller board image * keyboards/dumbpad/v1x_right/readme.md - smaller board image * Update keyboards/dumbpad/rules.mk * Apply suggestions from code review Batch applying suggestions from review * fixed removal of led_set_kb * Implementing requested changes from old pull request 9259 * removing unused rules * removed rules.mk from dumbpad base folder * adding templates for each layout * testing default keymap json * Testing applying default keymap for dumbpad * Layout correction: v1.x are 17 position pcb's * Update keyboards/dumbpad/v0x/rules.mk * Update keyboards/dumbpad/v0x/rules.mk * Update keyboards/dumbpad/v0x_dualencoder/keymaps/default/keymap.c * Update keyboards/dumbpad/v0x_dualencoder/rules.mk * Update keyboards/dumbpad/v0x_dualencoder/rules.mk * Update keyboards/dumbpad/v1x_dualencoder/rules.mk * Update keyboards/dumbpad/v1x_dualencoder/templates/keymap.c * Update keyboards/dumbpad/v1x_right/rules.mk * Update keyboards/dumbpad/v1x_right/rules.mk * Update keyboards/dumbpad/rules.mk * Update keyboards/dumbpad/v0x_dualencoder/templates/keymap.c * Update keyboards/dumbpad/v0x_right/rules.mk * Update keyboards/dumbpad/v1x/rules.mk * Update keyboards/dumbpad/v1x/rules.mk * Update keyboards/dumbpad/v1x_dualencoder/keymaps/default/keymap.c * Update keyboards/dumbpad/v1x_dualencoder/rules.mk * Update keyboards/dumbpad/v0x_right/rules.mk * Removing binary files --- keyboards/dumbpad/v1x_dualencoder/readme.md | 87 +++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 keyboards/dumbpad/v1x_dualencoder/readme.md (limited to 'keyboards/dumbpad/v1x_dualencoder/readme.md') diff --git a/keyboards/dumbpad/v1x_dualencoder/readme.md b/keyboards/dumbpad/v1x_dualencoder/readme.md new file mode 100644 index 0000000000..b568351bfd --- /dev/null +++ b/keyboards/dumbpad/v1x_dualencoder/readme.md @@ -0,0 +1,87 @@ +# dumbpad v1.x dual-encoder + +![dumbpad](https://i.imgur.com/s69rdfA.png) + +## Single- vs Dual-Encoder Support + +The combined Cherry MX/encoder sockets allow single- and dual-encoder configurations. + +The only rule when using two encoders is that there cannot be two encoders on the left side at once, or two on the right side. +This table shows where the encoders are in the switch grid ("X" for encoder, "s" for switch): + +| C0 | C1 | C2 | C3 | C4 | +|:---:|:---:|:---:|:---:|:---:| +| |__X__| s | s |__X__| +| | s | s | s | s | +| | s | s | s | s | +|__X__|__X__| s | s |__X__| + +- The three encoders in columns C0 and C1 are connected to each other +- The two encoders in column C4 are connected to each other + +So, if doing dual encoders, one must be in column C4 and the other in either C0 or C1. Three or more encoders will not work. + +The following sections describe the configurations that the default keymaps in QMK are designed for. + +### Single-Encoder (Default Configuration) + +In the default configuration, the encoder is in column 0, the bottom left corner below the Pro Micro. All other sockets are filled with switches. + +| C0 | C1 | C2 | C3 | C4 | +|:---:|:---:|:---:|:---:|:---:| +| | s | s | s | s | +| | s | s | s | s | +| | s | s | s | s | +|__X__| s | s | s | s | + +![single encoder](https://i.imgur.com/8ZPz1gFl.jpg) + +### Dual-Encoder Bottom + +One dual-encoder configuration has encoders in the bottom two corners of the 4x4 grid, and switches in the rest of the grid. The socket in column 0 is left empty. + +| C0 | C1 | C2 | C3 | C4 | +|:---:|:---:|:---:|:---:|:---:| +| | s | s | s | s | +| | s | s | s | s | +| | s | s | s | s | +| |__X__| s | s |__X__| + +![dual-encoder bottom](https://i.imgur.com/QCqKDMSl.jpg) + +### Dual-Encoder Top + +Another dual-encoder configuration has encoders in the top two corners of the 4x4 grid, and switches in the rest of the grid. The socket in column 0 is left empty. + +| C0 | C1 | C2 | C3 | C4 | +|:---:|:---:|:---:|:---:|:---:| +| |__X__| s | s |__X__| +| | s | s | s | s | +| | s | s | s | s | +| | s | s | s | s | + +![dual-encoder top](https://i.imgur.com/Rq6ox2Ol.jpg) + +### No-Encoder + +You may also choose not to use any rotary encoders if you like! + +### Bill Of Materials + +- Cherry-style mechanical switches +- EC11 rotary encoder with pushbutton (7-pin) - one or two depending on your desired configuration +- 1n4148 diodes (thru hole) - one per switch and rotary encoder (if using clickable encoder(s)) +- 1x Arduino Pro Micro or pin-compatible ATmega32u4-based MCU +- (optional) 3x 3mm LEDs +- (optional) 3x 330 ohm resistors (for limiting current in LEDs) +- (optional) 6mm SPST switch for resetting MCU + +* Keyboard Maintainer: [imchipwood](https://github.com/imchipwood) +* Hardware repository: [dumbpad on github](https://github.com/imchipwood/dumbpad) +* PCB Revisions Supported: v1.0_dual + +Make example for this keyboard (after setting up your build environment): + + make dumbpad/v1x_dualencoder:default + +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). -- cgit v1.2.3