diff options
| author | Albert Y <76888457+filterpaper@users.noreply.github.com> | 2021-11-29 16:19:00 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-11-29 00:19:00 -0800 |
| commit | a7bc02bf69b6973ee031662a0b8a705d8cd83193 (patch) | |
| tree | 8b040e41296969f6ba26b47123831eb916744635 | |
| parent | 35a18a8bcd393bf17f4be326d8ef067ce6bfaf50 (diff) | |
| download | qmk_firmware-a7bc02bf69b6973ee031662a0b8a705d8cd83193.tar.gz qmk_firmware-a7bc02bf69b6973ee031662a0b8a705d8cd83193.zip | |
[Keyboard] Sweep swap hand feature and pin documentation (#15264)
Co-authored-by: filterpaper <filterpaper@localhost>
| -rw-r--r-- | keyboards/ferris/sweep/readme.md | 26 | ||||
| -rw-r--r-- | keyboards/ferris/sweep/sweep.c | 17 |
2 files changed, 39 insertions, 4 deletions
diff --git a/keyboards/ferris/sweep/readme.md b/keyboards/ferris/sweep/readme.md index a8cbf8fd8..0379c4c81 100644 --- a/keyboards/ferris/sweep/readme.md +++ b/keyboards/ferris/sweep/readme.md | |||
| @@ -8,9 +8,8 @@ A version of the Ferris keyboard that uses a daughterboard, designed by the fant | |||
| 8 | ## Keyboard Info | 8 | ## Keyboard Info |
| 9 | 9 | ||
| 10 | * Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) | 10 | * Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83) |
| 11 | * Hardware Supported: | 11 | * Hardware Supported: [Sweep](https://github.com/davidphilipbarr/Sweep) (all versions) |
| 12 | * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout) | 12 | * Hardware Availability: Print the PCB with gerber files from the repository |
| 13 | * Hardware Availability: @iamnotyourbroom in the 40% discord chat server may have some spares for you. | ||
| 14 | 13 | ||
| 15 | Make example for this keyboard (after setting up your build environment): | 14 | Make example for this keyboard (after setting up your build environment): |
| 16 | 15 | ||
| @@ -20,7 +19,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to | |||
| 20 | 19 | ||
| 21 | ## Setting Handedness | 20 | ## Setting Handedness |
| 22 | 21 | ||
| 23 | Keyboard uses [handedness by EEPROM](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) as default. The make commands are: | 22 | Firmware uses [handedness by EEPROM](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) as default and it must be *configured once* on each side. The make commands are: |
| 24 | 23 | ||
| 25 | make ferris/sweep:default:avrdude-split-left | 24 | make ferris/sweep:default:avrdude-split-left |
| 26 | make ferris/sweep:default:avrdude-split-right | 25 | make ferris/sweep:default:avrdude-split-right |
| @@ -35,3 +34,22 @@ Enter the bootloader in 3 ways: | |||
| 35 | * **Physical reset button**: Briefly press the reset button soldered on the PCB. | 34 | * **Physical reset button**: Briefly press the reset button soldered on the PCB. |
| 36 | * **Keycode in layout**: Press the key mapped to `RESET` if it is configured. | 35 | * **Keycode in layout**: Press the key mapped to `RESET` if it is configured. |
| 37 | 36 | ||
| 37 | ## Swapped Pins | ||
| 38 | |||
| 39 | If you printed one of the PCB variant with swapped letters `Q` and `B` / `P` and `N`, add the following code to your keymap's `config.h` to swap pins `E6` and `D7` in the firmware: | ||
| 40 | ```c | ||
| 41 | #undef DIRECT_PINS | ||
| 42 | #define DIRECT_PINS { \ | ||
| 43 | { D7, F7, F6, F5, F4 }, \ | ||
| 44 | { B1, B3, B2, B6, D3 }, \ | ||
| 45 | { D1, D0, D4, C6, E6 }, \ | ||
| 46 | { B4, B5, NO_PIN, NO_PIN, NO_PIN } \ | ||
| 47 | } | ||
| 48 | #undef DIRECT_PINS_RIGHT | ||
| 49 | #define DIRECT_PINS_RIGHT { \ | ||
| 50 | { F4, F5, F6, F7, D7 }, \ | ||
| 51 | { D3, B6, B2, B3, B1 }, \ | ||
| 52 | { E6, C6, D4, D0, D1 }, \ | ||
| 53 | { B5, B4, NO_PIN, NO_PIN, NO_PIN } \ | ||
| 54 | } | ||
| 55 | ``` | ||
diff --git a/keyboards/ferris/sweep/sweep.c b/keyboards/ferris/sweep/sweep.c index 5b41bad84..98467f18a 100644 --- a/keyboards/ferris/sweep/sweep.c +++ b/keyboards/ferris/sweep/sweep.c | |||
| @@ -14,3 +14,20 @@ | |||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 15 | */ | 15 | */ |
| 16 | #include "sweep.h" | 16 | #include "sweep.h" |
| 17 | |||
| 18 | #ifdef SWAP_HANDS_ENABLE | ||
| 19 | __attribute__ ((weak)) | ||
| 20 | const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { | ||
| 21 | // Left | ||
| 22 | {{4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, | ||
| 23 | {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, | ||
| 24 | {{4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, | ||
| 25 | {{1, 7}, {0, 7}, {2, 7}, {3, 7}, {4, 7}}, | ||
| 26 | // Right | ||
| 27 | {{4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, | ||
| 28 | {{4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, | ||
| 29 | {{4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, | ||
| 30 | {{1, 3}, {0, 3}, {2, 3}, {3, 3}, {4, 3}} | ||
| 31 | }; | ||
| 32 | #endif | ||
| 33 | |||
