Skip to content

Commit

Permalink
Add swap hands toggle functions (qmk#20381)
Browse files Browse the repository at this point in the history
  • Loading branch information
filterpaper authored and coquizen committed Jun 22, 2023
1 parent b75a237 commit 26f1f8c
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 3 deletions.
11 changes: 8 additions & 3 deletions docs/feature_swap_hands.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ const uint8_t PROGMEM encoder_hand_swap_config[NUM_ENCODERS] = { 1, 0 };

### Functions :id=functions

| Function | Description |
|----------------------|---------------------------------------------|
| `is_swap_hands_on()` | Returns true if Swap-Hands is currently on. |
User callback functions to manipulate Swap-Hands:

| Function | Description |
|-----------------------|---------------------------------------------|
| `swap_hands_on()` | Turns Swap-Hands on. |
| `swap_hands_off()` | Turns Swap-Hands off. |
| `swap_hands_toggle()` | Toggles Swap-Hands. |
| `is_swap_hands_on()` | Returns true if Swap-Hands is currently on. |
12 changes: 12 additions & 0 deletions quantum/action.c
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,18 @@ void set_swap_hands_state(size_t index, uint8_t *swap_state, bool on) {
}
}

void swap_hands_on(void) {
swap_hands = true;
}

void swap_hands_off(void) {
swap_hands = false;
}

void swap_hands_toggle(void) {
swap_hands = !swap_hands;
}

bool is_swap_hands_on(void) {
return swap_hands;
}
Expand Down
13 changes: 13 additions & 0 deletions quantum/action.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,13 +84,26 @@ typedef uint32_t swap_state_row_t;
# error "MATRIX_COLS: invalid value"
# endif

/**
* @brief Enable swap hands
*/
void swap_hands_on(void);
/**
* @brief Disable swap hands
*/
void swap_hands_off(void);
/**
* @brief Toggle swap hands enable state
*/
void swap_hands_toggle(void);
/**
* @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

Expand Down

0 comments on commit 26f1f8c

Please sign in to comment.