diff --git a/docs/feature_swap_hands.md b/docs/feature_swap_hands.md index 35131884e1..4d0d554093 100644 --- a/docs/feature_swap_hands.md +++ b/docs/feature_swap_hands.md @@ -44,3 +44,9 @@ As an example, if a split keyboard has a single encoder per side, you can swap t const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = { 1, 0 }; #endif ``` + +### Functions :id=functions + +| Function | Description | +|----------------------|---------------------------------------------| +| `is_swap_hands_on()` | Returns true if Swap-Hands is currently on. | diff --git a/quantum/action.c b/quantum/action.c index ee412db393..d2e54bf8ec 100644 --- a/quantum/action.c +++ b/quantum/action.c @@ -161,6 +161,10 @@ void set_swap_hands_state(size_t index, uint8_t *swap_state, bool on) { } } +bool is_swap_hands_on(void) { + return swap_hands; +} + /** \brief Process Hand Swap * * FIXME: Needs documentation. diff --git a/quantum/action.h b/quantum/action.h index e4d28ba947..8ef6db6781 100644 --- a/quantum/action.h +++ b/quantum/action.h @@ -84,6 +84,13 @@ typedef uint32_t swap_state_row_t; # error "MATRIX_COLS: invalid value" # endif +/** + * @brief Get the swap hands enable state + * + * @return true + * @return false + */ +bool is_swap_hands_on(void); void process_hand_swap(keyevent_t *record); #endif