|
@@ -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 */
|