~ruther/qmk_firmware

3f99c42800167a7be8829a8e8fbb1c64cf966eeb — biesigrr 3 years ago 1cc0b1e
Expose Moonlander split detection to user code (#18040)

M keyboards/moonlander/matrix.c => keyboards/moonlander/matrix.c +4 -0
@@ 227,3 227,7 @@ void matrix_power_up(void) {
    }

}

bool is_transport_connected(void) {
    return mcp23018_initd;
}
\ No newline at end of file

M keyboards/moonlander/moonlander.h => keyboards/moonlander/moonlander.h +2 -0
@@ 82,3 82,5 @@ typedef union {
} keyboard_config_t;

extern keyboard_config_t keyboard_config;

bool is_transport_connected(void);
\ No newline at end of file

M keyboards/moonlander/readme.md => keyboards/moonlander/readme.md +15 -1
@@ 41,4 41,18 @@ If you're using the Smart LED (layer indication) feature from the Oryx Configura

This changes the `RGB_TOG` keycode so that it will toggle the lights on and off, in a way that will allow the Smart LEDs to continue to work, even with the rest of the LEDs turned off. 

Additionally, a new keycode has been added to toggle the Smart LEDs.  Use `TOGGLE_LAYER_COLOR`, if you aren't already.  
Additionally, a new keycode has been added to toggle the Smart LEDs.  Use `TOGGLE_LAYER_COLOR`, if you aren't already.

### Detecting split / Gaming mode

To make it extra gaming friendly, you can configure what happens when you disconnect the right half. This is especially useful when using gaming unfriendly layers or layouts (e.g. home row mods, dvorak, colemak).

Example for enabling a specific layer while right side is disconnected:

```
void housekeeping_task_user(void) {
    if (!is_transport_connected()) {
        // set layer
    }
}
```
\ No newline at end of file