diff options
author | Albert Y <76888457+filterpaper@users.noreply.github.com> | 2021-11-29 16:24:12 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-29 00:24:12 -0800 |
commit | d4b07be012777809992519006c1067200c7404ef (patch) | |
tree | 84ac64dcad0262e991f42c6eade78ab6dfe443fe /keyboards | |
parent | d8324e8a9c41c23b281b9d41a38ddbd4c015ddb4 (diff) | |
download | qmk_firmware-d4b07be012777809992519006c1067200c7404ef.tar.gz qmk_firmware-d4b07be012777809992519006c1067200c7404ef.zip |
[Keyboard] Add swap hands support and readme update for Cradio (#15226)
Co-authored-by: filterpaper <filterpaper@localhost>
Diffstat (limited to 'keyboards')
-rw-r--r-- | keyboards/cradio/cradio.c | 18 | ||||
-rw-r--r-- | keyboards/cradio/readme.md | 26 |
2 files changed, 42 insertions, 2 deletions
diff --git a/keyboards/cradio/cradio.c b/keyboards/cradio/cradio.c index 6ef9381223..76c64cbb8c 100644 --- a/keyboards/cradio/cradio.c +++ b/keyboards/cradio/cradio.c @@ -2,6 +2,7 @@ * ENDO Katsuhiro <ka2hiro@curlybracket.co.jp> * David Philip Barr <@davidphilipbarr> * Pierre Chevalier <pierrechevalier83@gmail.com> + * @filterpaper * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,3 +19,20 @@ */ #include "cradio.h" + +#ifdef SWAP_HANDS_ENABLE +__attribute__ ((weak)) +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + // Left + {{4, 4}, {3, 4}, {2, 4}, {1, 4}, {0, 4}}, + {{4, 5}, {3, 5}, {2, 5}, {1, 5}, {0, 5}}, + {{4, 6}, {3, 6}, {2, 6}, {1, 6}, {0, 6}}, + {{1, 7}, {0, 7}, {2, 7}, {3, 7}, {4, 7}}, + // Right + {{4, 0}, {3, 0}, {2, 0}, {1, 0}, {0, 0}}, + {{4, 1}, {3, 1}, {2, 1}, {1, 1}, {0, 1}}, + {{4, 2}, {3, 2}, {2, 2}, {1, 2}, {0, 2}}, + {{1, 3}, {0, 3}, {2, 3}, {3, 3}, {4, 3}} +}; +#endif + diff --git a/keyboards/cradio/readme.md b/keyboards/cradio/readme.md index 99cd20fb9c..e538a417dc 100644 --- a/keyboards/cradio/readme.md +++ b/keyboards/cradio/readme.md @@ -8,7 +8,8 @@ Cradio are low-profile 34-key split-keyboards designed by [@davidphilipbarr](htt * Keyboard Maintainer: [davidphilipbarr](https://github.com/davidphilipbarr) * Hardware Supported: - * [Sweep](https://github.com/davidphilipbarr/Sweep) (all versions) + * [Cradio](https://github.com/davidphilipbarr/36keys/tree/master/34Keys) + * [Sweep](https://github.com/davidphilipbarr/Sweep) * [Hypergarlic](https://github.com/davidphilipbarr/hypergolic/tree/main/hypergarlic) * [Paroxysm](https://github.com/davidphilipbarr/hypergolic/tree/main/paroxysm) * Variants of the same 34-key direct pin PCB @@ -22,7 +23,7 @@ See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_to ## Setting Handedness -Keyboard uses [handedness by EEPROM](https://docs.qmk.fm/#/feature_split_keyboard?id=handedness-by-eeprom) as default. The make commands are: +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: make cradio:default:dfu-split-left make cradio:default:dfu-split-right @@ -36,3 +37,24 @@ Enter the bootloader in 3 ways: * **Bootmagic reset**: Hold down the top left key on the left half (or the top right right key on the right half) and plug in the controller on that side. * **Physical reset button**: Briefly press the reset button soldered on the PCB. * **Keycode in layout**: Press the key mapped to `RESET` if it is configured. + +## Swapped Pins + +If you have 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: +```c +#undef DIRECT_PINS +#define DIRECT_PINS { \ + { D7, F7, F6, F5, F4 }, \ + { B1, B3, B2, B6, D3 }, \ + { D1, D0, D4, C6, E6 }, \ + { B4, B5, NO_PIN, NO_PIN, NO_PIN } \ +} +#undef DIRECT_PINS_RIGHT +#define DIRECT_PINS_RIGHT { \ + { F4, F5, F6, F7, D7 }, \ + { D3, B6, B2, B3, B1 }, \ + { E6, C6, D4, D0, D1 }, \ + { B5, B4, NO_PIN, NO_PIN, NO_PIN } \ +} +``` + |