diff options
| author | tmk <nobody@nowhere> | 2013-04-03 01:33:04 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2013-04-03 01:33:04 +0900 |
| commit | d6122426923fd8f9efaaad06162c48de90e782bb (patch) | |
| tree | 0cd619412954bfddf90104ac8b9af7bd4d6267d0 /common/action.h | |
| parent | c6d88d27956c4b76f8819fcdb076bf94a8f55868 (diff) | |
| download | qmk_firmware-d6122426923fd8f9efaaad06162c48de90e782bb.tar.gz qmk_firmware-d6122426923fd8f9efaaad06162c48de90e782bb.zip | |
Fix ACTION_LAYER macros
Diffstat (limited to 'common/action.h')
| -rw-r--r-- | common/action.h | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/common/action.h b/common/action.h index 4daae1d04..49c7879e6 100644 --- a/common/action.h +++ b/common/action.h | |||
| @@ -290,10 +290,6 @@ enum layer_param_on { | |||
| 290 | ON_BOTH = 3, | 290 | ON_BOTH = 3, |
| 291 | }; | 291 | }; |
| 292 | 292 | ||
| 293 | enum layer_param_op { | ||
| 294 | OP_DEFAULT_LAYER = 0, | ||
| 295 | }; | ||
| 296 | |||
| 297 | enum layer_param_bit_op { | 293 | enum layer_param_bit_op { |
| 298 | OP_BIT_AND = 0, | 294 | OP_BIT_AND = 0, |
| 299 | OP_BIT_OR, | 295 | OP_BIT_OR, |
| @@ -308,35 +304,36 @@ enum layer_pram_tap_op { | |||
| 308 | OP_SET_CLEAR, | 304 | OP_SET_CLEAR, |
| 309 | }; | 305 | }; |
| 310 | 306 | ||
| 311 | /* Layer Operation 1000|ee00|ooov vvvv */ | ||
| 312 | #define ACTION_LAYER(op, val, on) (ACT_LAYER<<12 | (on)<<10 | (op)<<5 | val) | ||
| 313 | /* Layer Bitwise Operation 1000|ooee|pppx BBBB */ | 307 | /* Layer Bitwise Operation 1000|ooee|pppx BBBB */ |
| 314 | #define ACTION_LAYER_BITOP(op, part, bits, on) (ACT_LAYER<<12 | (op)<<10 | (on)<<8 | (part)<<5 | (bits)&0x1f) | 308 | #define ACTION_LAYER_BITOP(op, part, bits, on) (ACT_LAYER<<12 | (op)<<10 | (on)<<8 | (part)<<5 | ((bits)&0x1f)) |
| 315 | /* Layer with Tapping 101x|LLLL| keycode */ | 309 | /* Layer with Tapping 101x|LLLL| keycode */ |
| 316 | #define ACTION_LAYER_TAP(layer, key) (ACT_LAYER_TAP<<12 | (layer)<<8 | (key)) | 310 | #define ACTION_LAYER_TAP(layer, key) (ACT_LAYER_TAP<<12 | (layer)<<8 | (key)) |
| 317 | 311 | ||
| 318 | /* Default Layer Operation */ | 312 | /* Default Layer Operation */ |
| 319 | #define ACTION_DEFAULT_LAYER_SET(layer) ACTION_DEFAULT_LAYER(layer, ON_RELEASE) | 313 | #define ACTION_DEFAULT_LAYER_SET(layer) ACTION_DEFAULT_LAYER_BIT_SET((layer)/4, 1<<((layer)%4)) |
| 320 | #define ACTION_DEFAULT_LAYER(layer, on) ACTION_LAYER(OP_DEFAULT_LAYER, layer, on) | ||
| 321 | /* Layer Operation */ | 314 | /* Layer Operation */ |
| 322 | #define ACTION_LAYER_CLEAR(on) ACTION_LAYER_AND(0x1f, (on)) | 315 | #define ACTION_LAYER_CLEAR(on) ACTION_LAYER_AND(0x1f, (on)) |
| 323 | #define ACTION_LAYER_MOMENTARY(layer) ACTION_LAYER_ON_OFF(layer) | 316 | #define ACTION_LAYER_MOMENTARY(layer) ACTION_LAYER_ON_OFF(layer) |
| 324 | #define ACTION_LAYER_TOGGLE(layer) ACTION_LAYER_INVERT(layer, ON_RELEASE) | 317 | #define ACTION_LAYER_TOGGLE(layer) ACTION_LAYER_INVERT(layer, ON_RELEASE) |
| 325 | #define ACTION_LAYER_INVERT(layer, on) ACTION_LAYER_BIT_XOR((layer)/4, 1<<((layer)%4), (on)) | 318 | #define ACTION_LAYER_INVERT(layer, on) ACTION_LAYER_BIT_XOR((layer)/4, 1<<((layer)%4), (on)) |
| 326 | #define ACTION_LAYER_ON(layer, on) ACTION_LAYER_BIT_OR((layer)/4, 1<<((layer)%4), (on)) | 319 | #define ACTION_LAYER_ON(layer, on) ACTION_LAYER_BIT_OR( (layer)/4, 1<<((layer)%4), (on)) |
| 327 | #define ACTION_LAYER_OFF(layer, on) ACTION_LAYER_BIT_AND((layer)/4, ~(1<<((layer)%4)), (on)) | 320 | #define ACTION_LAYER_OFF(layer, on) ACTION_LAYER_BIT_AND((layer)/4, ~(1<<((layer)%4)), (on)) |
| 328 | #define ACTION_LAYER_SET(layer, on) ACTION_LAYER_BIT_SET((layer)/4, 1<<((layer)%4), (on)) | 321 | #define ACTION_LAYER_SET(layer, on) ACTION_LAYER_BIT_SET((layer)/4, 1<<((layer)%4), (on)) |
| 329 | #define ACTION_LAYER_ON_OFF(layer) ACTION_LAYER_TAP((layer), OP_ON_OFF) | 322 | #define ACTION_LAYER_ON_OFF(layer) ACTION_LAYER_TAP((layer), OP_ON_OFF) |
| 330 | #define ACTION_LAYER_OFF_ON(layer) ACTION_LAYER_TAP((layer), OP_OFF_ON) | 323 | #define ACTION_LAYER_OFF_ON(layer) ACTION_LAYER_TAP((layer), OP_OFF_ON) |
| 331 | #define ACTION_LAYER_SET_CLEAR(layer) ACTION_LAYER_TAP((layer), OP_SET_CLEAR) | 324 | #define ACTION_LAYER_SET_CLEAR(layer) ACTION_LAYER_TAP((layer), OP_SET_CLEAR) |
| 332 | /* Bitwise Operation */ | 325 | /* Bitwise Operation */ |
| 333 | #define ACTION_LAYER_BIT_AND(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_AND, part, bits) | 326 | #define ACTION_LAYER_BIT_AND(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_AND, (part), (bits), (on)) |
| 334 | #define ACTION_LAYER_BIT_OR(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_OR, part, bits) | 327 | #define ACTION_LAYER_BIT_OR( part, bits, on) ACTION_LAYER_BITOP(OP_BIT_OR, (part), (bits), (on)) |
| 335 | #define ACTION_LAYER_BIT_XOR(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_XOR, part, bits) | 328 | #define ACTION_LAYER_BIT_XOR(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_XOR, (part), (bits), (on)) |
| 336 | #define ACTION_LAYER_BIT_SET(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_SET, part, bits) | 329 | #define ACTION_LAYER_BIT_SET(part, bits, on) ACTION_LAYER_BITOP(OP_BIT_SET, (part), (bits), (on)) |
| 330 | #define ACTION_DEFAULT_LAYER_BIT_AND(part, bits) ACTION_LAYER_BITOP(OP_BIT_AND, (part), (bits), 0) | ||
| 331 | #define ACTION_DEFAULT_LAYER_BIT_OR( part, bits) ACTION_LAYER_BITOP(OP_BIT_OR, (part), (bits), 0) | ||
| 332 | #define ACTION_DEFAULT_LAYER_BIT_XOR(part, bits) ACTION_LAYER_BITOP(OP_BIT_XOR, (part), (bits), 0) | ||
| 333 | #define ACTION_DEFAULT_LAYER_BIT_SET(part, bits) ACTION_LAYER_BITOP(OP_BIT_SET, (part), (bits), 0) | ||
| 337 | /* with Tapping */ | 334 | /* with Tapping */ |
| 338 | #define ACTION_LAYER_TAP_KEY(layer, key) ACTION_LAYER_TAP((layer), (key)) | 335 | #define ACTION_LAYER_TAP_KEY(layer, key) ACTION_LAYER_TAP((layer), (key)) |
| 339 | #define ACTION_LAYER_TAP_TOGGLE(layer) ACTION_LAYER_TAP((layer), OP_TAP_TOGGLE) | 336 | #define ACTION_LAYER_TAP_TOGGLE(layer) ACTION_LAYER_TAP((layer), OP_TAP_TOGGLE) |
| 340 | 337 | ||
| 341 | 338 | ||
| 342 | /* | 339 | /* |
