diff options
author | tmk <nobody@nowhere> | 2013-02-20 15:52:32 +0900 |
---|---|---|
committer | tmk <nobody@nowhere> | 2013-02-20 15:52:32 +0900 |
commit | c3d57b69e02fce40455c96f4a9ac6b68b89ce027 (patch) | |
tree | cafa784fcc2c8ba91827d2417d57c740570b8ac4 /common/action.h | |
parent | e0f960a576e090808e5cc25c5368441c11f36ea6 (diff) | |
download | qmk_firmware-c3d57b69e02fce40455c96f4a9ac6b68b89ce027.tar.gz qmk_firmware-c3d57b69e02fce40455c96f4a9ac6b68b89ce027.zip |
Add keymap clear/reset action
Diffstat (limited to 'common/action.h')
-rw-r--r-- | common/action.h | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/common/action.h b/common/action.h index c02a2e71fc..611490ebf0 100644 --- a/common/action.h +++ b/common/action.h @@ -157,8 +157,8 @@ bool waiting_buffer_has_anykey_pressed(void); * Layer Actions * ------------- * ACT_KEYMAP: - * 1000|LLLL|0000 0000 Reset default layer - * 1000|LLLL|0000 00xx Reset default layer and clear overlay + * 1000|--xx|0000 0000 Clear keyamp and overlay + * 1000|LLLL|0000 00xx Reset default layer and clear keymap and overlay * 1000|LLLL| keycode Invert with tap key * 1000|LLLL|1111 0000 Invert with tap toggle * 1000|LLLL|1111 00xx Invert[^= L] @@ -274,22 +274,25 @@ enum layer_params { OP_SET = 0xFC, }; -/* +/* * Default Layer */ -#define ACTION_KEYMAP(layer) ACTION_KEYMAP_MOMENTARY(layer) -#define ACTION_KEYMAP_MOMENTARY(layer) ACTION_KEYMAP_INV_B(layer) -#define ACTION_KEYMAP_TOGGLE(layer) ACTION_KEYMAP_INV_R(layer) -/* Set default layer */ +#define ACTION_DEFAULT_LAYER ACTION(ACT_KEYMAP, 0<<8 | OP_RESET | 0) #define ACTION_SET_DEFAULT_LAYER(layer) ACTION_KEYMAP_RESET(layer) #define ACTION_SET_DEFAULT_LAYER_P(layer) ACTION_KEYMAP_RESET_P(layer) #define ACTION_SET_DEFAULT_LAYER_R(layer) ACTION_KEYMAP_RESET_R(layer) #define ACTION_SET_DEFAULT_LAYER_B(layer) ACTION_KEYMAP_RESET_B(layer) +/* + * Keymap Layer + */ +#define ACTION_KEYMAP(layer) ACTION_KEYMAP_MOMENTARY(layer) +#define ACTION_KEYMAP_MOMENTARY(layer) ACTION_KEYMAP_ON_OFF(layer) +#define ACTION_KEYMAP_TOGGLE(layer) ACTION_KEYMAP_INV_R(layer) /* Keymap Set and clear overaly */ -#define ACTION_KEYMAP_RESET(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | 0) +#define ACTION_KEYMAP_RESET(layer) ACTION_KEYMAP_RESET_R(layer) #define ACTION_KEYMAP_RESET_P(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS) -#define ACTION_KEYMAP_RESET_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS) -#define ACTION_KEYMAP_RESET_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS) +#define ACTION_KEYMAP_RESET_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_RELEASE) +#define ACTION_KEYMAP_RESET_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_BOTH) /* Keymap Invert */ #define ACTION_KEYMAP_INV(layer) ACTION_KEYMAP_INV_B(layer) #define ACTION_KEYMAP_TAP_TOGGLE(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_INV | 0) |