Improve one-hand support by adding more actions and tap keys.
This commit is contained in:
parent
dd37860160
commit
8090f6b499
3 changed files with 89 additions and 9 deletions
|
@ -108,6 +108,8 @@ enum action_kind_id {
|
|||
/* Other Keys */
|
||||
ACT_USAGE = 0b0100,
|
||||
ACT_MOUSEKEY = 0b0101,
|
||||
/* One-hand Support */
|
||||
ACT_SWAP_HANDS = 0b0110,
|
||||
/* Layer Actions */
|
||||
ACT_LAYER = 0b1000,
|
||||
ACT_LAYER_TAP = 0b1010, /* Layer 0-15 */
|
||||
|
@ -178,6 +180,11 @@ typedef union {
|
|||
uint8_t opt :4;
|
||||
uint8_t kind :4;
|
||||
} func;
|
||||
struct action_swap {
|
||||
uint8_t code :8;
|
||||
uint8_t opt :4;
|
||||
uint8_t kind :4;
|
||||
} swap;
|
||||
} action_t;
|
||||
|
||||
|
||||
|
@ -296,9 +303,6 @@ enum backlight_opt {
|
|||
BACKLIGHT_LEVEL = 4,
|
||||
};
|
||||
|
||||
enum command_id {
|
||||
CMD_SWAP_HANDS = 0x14,
|
||||
};
|
||||
/* Macro */
|
||||
#define ACTION_MACRO(id) ACTION(ACT_MACRO, (id))
|
||||
#define ACTION_MACRO_TAP(id) ACTION(ACT_MACRO, FUNC_TAP<<8 | (id))
|
||||
|
@ -319,6 +323,22 @@ enum function_opts {
|
|||
#define ACTION_FUNCTION_TAP(id) ACTION(ACT_FUNCTION, FUNC_TAP<<8 | (id))
|
||||
#define ACTION_FUNCTION_OPT(id, opt) ACTION(ACT_FUNCTION, (opt)<<8 | (id))
|
||||
/* OneHand Support */
|
||||
#define ACTION_SWAP_HANDS() ACTION_COMMAND(CMD_SWAP_HANDS, 0)
|
||||
enum swap_hands_pram_tap_op {
|
||||
OP_SH_TOGGLE = 0xF0,
|
||||
OP_SH_TAP_TOGGLE,
|
||||
OP_SH_ON_OFF,
|
||||
OP_SH_OFF_ON,
|
||||
OP_SH_OFF,
|
||||
OP_SH_ON,
|
||||
};
|
||||
|
||||
#define ACTION_SWAP_HANDS() ACTION_SWAP_HANDS_ON_OFF()
|
||||
#define ACTION_SWAP_HANDS_TOGGLE() ACTION(ACT_SWAP_HANDS, OP_SH_TOGGLE)
|
||||
#define ACTION_SWAP_HANDS_TAP_TOGGLE() ACTION(ACT_SWAP_HANDS, OP_SH_TAP_TOGGLE)
|
||||
#define ACTION_SWAP_HANDS_TAP_KEY(key) ACTION(ACT_SWAP_HANDS, key)
|
||||
#define ACTION_SWAP_HANDS_ON_OFF() ACTION(ACT_SWAP_HANDS, OP_SH_ON_OFF)
|
||||
#define ACTION_SWAP_HANDS_OFF_ON() ACTION(ACT_SWAP_HANDS, OP_SH_OFF_ON)
|
||||
#define ACTION_SWAP_HANDS_ON() ACTION(ACT_SWAP_HANDS, OP_SH_ON)
|
||||
#define ACTION_SWAP_HANDS_OFF() ACTION(ACT_SWAP_HANDS, OP_SH_OFF)
|
||||
|
||||
#endif /* ACTION_CODE_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue