summaryrefslogtreecommitdiffstats
path: root/keyboards/ferris
diff options
context:
space:
mode:
authorAlbert Y <76888457+filterpaper@users.noreply.github.com>2021-11-29 16:19:00 +0800
committerGitHub <noreply@github.com>2021-11-29 00:19:00 -0800
commita7bc02bf69b6973ee031662a0b8a705d8cd83193 (patch)
tree8b040e41296969f6ba26b47123831eb916744635 /keyboards/ferris
parent35a18a8bcd393bf17f4be326d8ef067ce6bfaf50 (diff)
[Keyboard] Sweep swap hand feature and pin documentation (#15264)
Co-authored-by: filterpaper <filterpaper@localhost>
Diffstat (limited to 'keyboards/ferris')
-rw-r--r--keyboards/ferris/sweep/readme.md26
-rw-r--r--keyboards/ferris/sweep/sweep.c17
2 files changed, 39 insertions, 4 deletions
diff --git a/keyboards/ferris/sweep/readme.md b/keyboards/ferris/sweep/readme.md
index a8cbf8fd80..0379c4c813 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
## Keyboard Info
* Keyboard Maintainer: [Pierre Chevalier](https://github.com/pierrechevalier83)
-* Hardware Supported:
- * Ferris sweep (With pro-micro. Comes in a couple of PCB edge cuts shapes, but with identical pinout)
-* Hardware Availability: @iamnotyourbroom in the 40% discord chat server may have some spares for you.
+* Hardware Supported: [Sweep](https://github.com/davidphilipbarr/Sweep) (all versions)
+* Hardware Availability: Print the PCB with gerber files from the repository
Make example for this keyboard (after setting up your build environment):
@@ -20,7 +19,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 ferris/sweep:default:avrdude-split-left
make ferris/sweep:default:avrdude-split-right
@@ -35,3 +34,22 @@ Enter the bootloader in 3 ways:
* **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 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:
+```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 } \
+}
+```
diff --git a/keyboards/ferris/sweep/sweep.c b/keyboards/ferris/sweep/sweep.c
index 5b41bad848..98467f18ae 100644
--- a/keyboards/ferris/sweep/sweep.c
+++ b/keyboards/ferris/sweep/sweep.c
@@ -14,3 +14,20 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "sweep.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
+