Setting handedness one thing to remember the side

This preview shows page 5 - 8 out of 9 pages.

### Setting Handedness
One thing to remember, the side that the USB port is plugged into is always themaster half. The side not plugged into USB is the slave.There are a few different ways to set handedness for split keyboards (listed inorder of precedence):1. Set `SPLIT_HAND_PIN`: Reads a pin to determine handedness. If pin is high,it's the left side, if low, the half is determined to be the right side2. Set `EE_HANDS` and flash `eeprom-lefthand.eep`/`eeprom-righthand.eep` to eachhalf* For boards with DFU bootloader you can use `:dfu-split-left`/`:dfu-split-right` to flash these EEPROM files* For boards with Caterina bootloader (like stock Pro Micros), use `:avrdude-split-left`/`:avrdude-split-right`* For boards with ARM DFU bootloader (like Proton C), use `:dfu-util-split-left`/`:dfu-util-split-right`3. Set `MASTER_RIGHT`: Half that is plugged into the USB port is determined tobe the master and right half (inverse of the default)4. Default: The side that is plugged into the USB port is the master half and isassumed to be the left half. The slave side is the right half#### Defines for handedness* `#define SPLIT_HAND_PIN B7`* For using high/low pin to determine handedness, low = right hand, high =left hand. Replace `B7` with the pin you are using. This is optional, and if youleave `SPLIT_HAND_PIN` undefined, then you can still use the EE_HANDS method orMASTER_LEFT / MASTER_RIGHT defines like the stock Let's Split uses.* `#define SPLIT_HAND_MATRIX_GRID <out_pin>,<in_pin>`* The handedness is determined by using the intersection of the keyswitches inthe key matrix, which does not exist. Normally, when this intersection isshorted (level low), it is considered left. If you define `#defineSPLIT_HAND_MATRIX_GRID_LOW_IS_RIGHT`, it is determined to be right when thelevel is low.* `#define EE_HANDS` (only works if `SPLIT_HAND_PIN` and`SPLIT_HAND_MATRIX_GRID` are not defined)* Reads the handedness value stored in the EEPROM after `eeprom-lefthand.eep`/`eeprom-righthand.eep` has been flashed to their respectivehalves.* `#define MASTER_RIGHT`* Master half is defined to be the right half.### Other Options* `#define USE_I2C`* For using I2C instead of Serial (defaults to serial)* `#define SOFT_SERIAL_PIN D0`* When using serial, define this. `D0` or `D1`,`D2`,`D3`,`E6`.* `#define MATRIX_ROW_PINS_RIGHT { <row pins> }`* `#define MATRIX_COL_PINS_RIGHT { <col pins> }`* If you want to specify a different pinout for the right half than the lefthalf, you can define `MATRIX_ROW_PINS_RIGHT`/`MATRIX_COL_PINS_RIGHT`. Currently,the size of `MATRIX_ROW_PINS` must be the same as `MATRIX_ROW_PINS_RIGHT` andlikewise for the definition of columns.* `#define DIRECT_PINS_RIGHT { { F1, F0, B0, C7 }, { F4, F5, F6, F7 } }`* If you want to specify a different direct pinout for the right half than theleft half, you can define `DIRECT_PINS_RIGHT`. Currently, the size of
`DIRECT_PINS` must be the same as `DIRECT_PINS_RIGHT`.

Upload your study docs or become a

Course Hero member to access this document

Upload your study docs or become a

Course Hero member to access this document

End of preview. Want to read all 9 pages?

Upload your study docs or become a

Course Hero member to access this document

Term
Fall
Professor
N/A
Tags
Universal Serial Bus, QMK

Newly Uploaded Documents

Show More

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture