1
0
Fork 0

Lets split eh (#3120)

* Line ending stuff again

* Added Let's Split Eh? Files and updated #USE_IC2 checks to also include th EH revision (can only be used in I2C)

* Added personal keymap, updated some of the EH files

* Created new keyboard file for testing "lets_split_eh" will merge into lets_split once fully functional

* Added split code from lets_split, removed pro micro imports and LED code

THIS IS WORKING CODE, WITHOUT RGB AND BACKLIGHT

* Took back original Lets Slit files for the lets_split keyboard, working in the lets_split_eh folder for now

* Updated eh.c

* More rework of the I2C code, added global flags for split boards.

* Introduced RGB over I2C, having weird edge case issues at the moment though

* Fixed weird I2C edgecase with RGB, although still would like to track down route cause..

* Changed RGB keycodes (static ones) to activate on key-up instead of key-down to elimate weird ghosting issue over I2C

* Lots of changes, mainly externalized the Split keyboard code and added logic for only including when needed.

- Added makefile option "SPLIT_KEYBOARD" that when = yes will include the split keyboard files and custom matrix
- Split keyboard files placed into quantum/split_common/
- Added define option for config files "SPLIT_HAND_PIN" FOr using high/low pin to determine handedness, low = right hand, high = left hand
- Cleaned up split logic for RGB and Backlight so it is only exectuted / included when needed

* Updated documentation for the new makefile options and #defines specific to split keyboards

* Added a bit more info to docs, so people aren't confused

* Modifed Let's Split to use externalized code, also added left and right hand eeprom files to the split_common folder

* Removed some debugging from eh.c

* Small changes to keyboard configs. Also added a default keymap (just a copy of my that_canadian keymap).

* Added a README file to the Let's Split Eh?

* Changed it so RGB static updates are done on key-up ONLY for split boards rather than all boards. Also fixed leftover un-used variable in rgblight.c

* Updated default keymap and my keymap for Let's Split Eh? Updated the comments so it reflects RGB control, and removed audio functions.

* Fixed lets_split_eh not having a default version

* Removed "eh" references from lets_split folder for now

* Took lets_split folder from master to fix travis build errors, weird my local was overriding.

* Changed LAYOUT_ortho_4x12_kc -> LAYOUT_kc_ortho_4x12 to match bakingpy and others

* Removed rules.mk from my lets_split keymap, not needed

* Updated the config_options doc to better explain the usage of "#define SPLIT_HAND_PIN"
This commit is contained in:
That-Canadian 2018-07-16 19:25:02 -07:00 committed by Jack Humbert
parent b2877470ce
commit 0fab3bbde3
37 changed files with 2176 additions and 2 deletions

View file

@ -312,8 +312,16 @@ bool process_record_quantum(keyrecord_t *record) {
#endif
#if defined(RGBLIGHT_ENABLE) || defined(RGB_MATRIX_ENABLE)
case RGB_TOG:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_toggle();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_MODE_FORWARD:
@ -325,6 +333,9 @@ bool process_record_quantum(keyrecord_t *record) {
else {
rgblight_step();
}
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_MODE_REVERSE:
@ -336,36 +347,87 @@ bool process_record_quantum(keyrecord_t *record) {
else {
rgblight_step_reverse();
}
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_HUI:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_increase_hue();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_HUD:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_decrease_hue();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_SAI:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_increase_sat();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_SAD:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_decrease_sat();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_VAI:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_increase_val();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_VAD:
// Split keyboards need to trigger on key-up for edge-case issue
#ifndef SPLIT_KEYBOARD
if (record->event.pressed) {
#else
if (!record->event.pressed) {
#endif
rgblight_decrease_val();
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_SPI:
@ -381,6 +443,9 @@ bool process_record_quantum(keyrecord_t *record) {
case RGB_MODE_PLAIN:
if (record->event.pressed) {
rgblight_mode(1);
#ifdef SPLIT_KEYBOARD
RGB_DIRTY = true;
#endif
}
return false;
case RGB_MODE_BREATHE: