aboutsummaryrefslogtreecommitdiff
path: root/common/action.h
diff options
context:
space:
mode:
authortmk <nobody@nowhere>2013-01-30 22:47:16 +0900
committertmk <nobody@nowhere>2013-01-30 22:47:16 +0900
commit7e1093b70f424ed012a4122a91ba6bb1784b9eb8 (patch)
treecb123f0a0997c752c2f749baf2edb30e8092efbe /common/action.h
parent10b9237fa613f90008fc2cc5469f42ac50477383 (diff)
downloadqmk_firmware-7e1093b70f424ed012a4122a91ba6bb1784b9eb8.tar.gz
qmk_firmware-7e1093b70f424ed012a4122a91ba6bb1784b9eb8.zip
Fix: action LAYER_BIT uses xor now instead of and/or.
Diffstat (limited to 'common/action.h')
-rw-r--r--common/action.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/common/action.h b/common/action.h
index ed3fff6c2..8600e4061 100644
--- a/common/action.h
+++ b/common/action.h
@@ -225,7 +225,6 @@ enum acion_param {
225/* action_t utility */ 225/* action_t utility */
226#define ACTION_NO 0 226#define ACTION_NO 0
227#define ACTION(kind, param) ((kind)<<12 | (param)) 227#define ACTION(kind, param) ((kind)<<12 | (param))
228#define MOD_BITS(mods) (((mods)>>4 | (mods)) & 0x0F)
229 228
230/* Key & Mods */ 229/* Key & Mods */
231#define ACTION_KEY(key) ACTION(ACT_LMODS, key) 230#define ACTION_KEY(key) ACTION(ACT_LMODS, key)
@@ -235,15 +234,16 @@ enum acion_param {
235#define ACTION_RMODS_KEY(mods, key) ACTION(ACT_RMODS, (mods)<<8 | (key)) 234#define ACTION_RMODS_KEY(mods, key) ACTION(ACT_RMODS, (mods)<<8 | (key))
236 235
237/* Mods + Tap key */ 236/* Mods + Tap key */
238#define ACTION_LMODS_TAP(mods, key) ACTION(ACT_LMODS_TAP, MOD_BITS(mods)<<8 | (key)) 237#define MODS4(mods) (((mods)>>4 | (mods)) & 0x0F)
239#define ACTION_LMODS_ONESHOT(mods) ACTION(ACT_LMODS_TAP, MOD_BITS(mods)<<8 | ONE_SHOT) 238#define ACTION_LMODS_TAP(mods, key) ACTION(ACT_LMODS_TAP, MODS4(mods)<<8 | (key))
240#define ACTION_RMODS_TAP(mods, key) ACTION(ACT_RMODS_TAP, MOD_BITS(mods)<<8 | (key)) 239#define ACTION_LMODS_ONESHOT(mods) ACTION(ACT_LMODS_TAP, MODS4(mods)<<8 | ONE_SHOT)
241#define ACTION_RMODS_ONESHOT(mods) ACTION(ACT_RMODS_TAP, MOD_BITS(mods)<<8 | ONE_SHOT) 240#define ACTION_RMODS_TAP(mods, key) ACTION(ACT_RMODS_TAP, MODS4(mods)<<8 | (key))
241#define ACTION_RMODS_ONESHOT(mods) ACTION(ACT_RMODS_TAP, MODS4(mods)<<8 | ONE_SHOT)
242 242
243/* Switch current layer */ 243/* Switch current layer */
244#define ACTION_LAYER_SET_ON_PRESSED(layer) ACTION(ACT_LAYER_PRESSED, (layer)<<8 | 0x00) 244#define ACTION_LAYER_SET_ON_PRESSED(layer) ACTION(ACT_LAYER_PRESSED, (layer)<<8 | 0x00)
245#define ACTION_LAYER_SET_ON_RELEASED(layer) ACTION(ACT_LAYER_RELEASED, (layer)<<8 | 0x00) 245#define ACTION_LAYER_SET_ON_RELEASED(layer) ACTION(ACT_LAYER_RELEASED, (layer)<<8 | 0x00)
246#define ACTION_LAYER_BIT(bits) ACTION(ACT_LAYER_BIT, (layer)<<8 | 0x00) 246#define ACTION_LAYER_BIT(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | 0x00)
247#define ACTION_LAYER_TO_DEFAULT_ON_PRESSED ACTION(ACT_LAYER_EXT, 0x0<<8 | 0x00) 247#define ACTION_LAYER_TO_DEFAULT_ON_PRESSED ACTION(ACT_LAYER_EXT, 0x0<<8 | 0x00)
248#define ACTION_LAYER_TO_DEFAULT_ON_RELEASED ACTION(ACT_LAYER_EXT, 0x1<<8 | 0x00) 248#define ACTION_LAYER_TO_DEFAULT_ON_RELEASED ACTION(ACT_LAYER_EXT, 0x1<<8 | 0x00)
249/* Switch default layer */ 249/* Switch default layer */
@@ -254,7 +254,7 @@ enum acion_param {
254#define ACTION_LAYER_DEFAULT_SET_CURRENT_ON_RELEASED ACTION(ACT_LAYER_EXT, 0x1<<8 | 0xFF) 254#define ACTION_LAYER_DEFAULT_SET_CURRENT_ON_RELEASED ACTION(ACT_LAYER_EXT, 0x1<<8 | 0xFF)
255/* Layer switch with tap key */ 255/* Layer switch with tap key */
256#define ACTION_LAYER_SET_TAP_KEY(layer, key) ACTION(ACT_LAYER_PRESSED, (layer)<<8 | (key)) 256#define ACTION_LAYER_SET_TAP_KEY(layer, key) ACTION(ACT_LAYER_PRESSED, (layer)<<8 | (key))
257#define ACTION_LAYER_BIT_TAP_KEY(bits, key) ACTION(ACT_LAYER_BIT, (layer)<<8 | (key)) 257#define ACTION_LAYER_BIT_TAP_KEY(bits, key) ACTION(ACT_LAYER_BIT, (bits)<<8 | (key))
258#define ACTION_LAYER_DEFAULT_SET_TAP_KEY(key) ACTION(ACT_LAYER_EXT, 0x0<<8 | (key)) 258#define ACTION_LAYER_DEFAULT_SET_TAP_KEY(key) ACTION(ACT_LAYER_EXT, 0x0<<8 | (key))
259/* with tap toggle */ 259/* with tap toggle */
260#define ACTION_LAYER_SET_ON_PRESSED_TAP_TOGGLE(layer) ACTION(ACT_LAYER_PRESSED, (layer)<<8 | 0xF0) 260#define ACTION_LAYER_SET_ON_PRESSED_TAP_TOGGLE(layer) ACTION(ACT_LAYER_PRESSED, (layer)<<8 | 0xF0)