[Keyboard] Add swap hands support and readme update for Cradio (#15226)
Co-authored-by: filterpaper <filterpaper@localhost>
This commit is contained in:
		
							parent
							
								
									d8324e8a9c
								
							
						
					
					
						commit
						d4b07be012
					
				
					 2 changed files with 42 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 } \
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue