M docs/feature_swap_hands.md => docs/feature_swap_hands.md +6 -0
@@ 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. |
M quantum/action.c => quantum/action.c +4 -0
@@ 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.
M quantum/action.h => quantum/action.h +7 -0
@@ 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