diff options
| author | tmk <nobody@nowhere> | 2013-02-20 11:16:13 +0900 |
|---|---|---|
| committer | tmk <nobody@nowhere> | 2013-02-20 11:48:15 +0900 |
| commit | e0f960a576e090808e5cc25c5368441c11f36ea6 (patch) | |
| tree | afe64cce00a34b99aeb9b6b989ab08e803b3d4b2 /common/action.h | |
| parent | abf0b04d14629de35968ee07e3bb587eebccf68b (diff) | |
| download | qmk_firmware-e0f960a576e090808e5cc25c5368441c11f36ea6.tar.gz qmk_firmware-e0f960a576e090808e5cc25c5368441c11f36ea6.zip | |
Add overlay framework
Diffstat (limited to 'common/action.h')
| -rw-r--r-- | common/action.h | 217 |
1 files changed, 126 insertions, 91 deletions
diff --git a/common/action.h b/common/action.h index 46ae809cb..c02a2e71f 100644 --- a/common/action.h +++ b/common/action.h | |||
| @@ -150,40 +150,41 @@ bool waiting_buffer_has_anykey_pressed(void); | |||
| 150 | * | 150 | * |
| 151 | * Mouse Keys | 151 | * Mouse Keys |
| 152 | * ---------- | 152 | * ---------- |
| 153 | * NOTE: can be combined with 'Other HID Usage'? to save action kind id. | ||
| 154 | * ACT_MOUSEKEY(0110): | 153 | * ACT_MOUSEKEY(0110): |
| 155 | * 0101|XXXX| keycode Mouse key | 154 | * 0101|XXXX| keycode Mouse key |
| 156 | * | 155 | * |
| 157 | * | 156 | * |
| 158 | * Layer Actions | 157 | * Layer Actions |
| 159 | * ------------- | 158 | * ------------- |
| 160 | * ACT_LAYER_SET(1000): Set layer | 159 | * ACT_KEYMAP: |
| 161 | * 1000|LLLL|0000 0000 set current layer on press and return to default on release(momentary) | 160 | * 1000|LLLL|0000 0000 Reset default layer |
| 162 | * 1000|LLLL|0000 0001 set current layer on press | 161 | * 1000|LLLL|0000 00xx Reset default layer and clear overlay |
| 163 | * 1000|LLLL|0000 0010 set current layer on release | 162 | * 1000|LLLL| keycode Invert with tap key |
| 164 | * 1000|LLLL|0000 0011 set current layer on both | 163 | * 1000|LLLL|1111 0000 Invert with tap toggle |
| 165 | * 1000|LLLL| keycode set current layer on hold and send key on tap | 164 | * 1000|LLLL|1111 00xx Invert[^= L] |
| 166 | * 1000|LLLL|1111 0000 set current layer on hold and toggle on several taps | 165 | * 1000|LLLL|1111 0100 On/Off |
| 167 | * 1000|DDDD|1111 1111 set default layer on press | 166 | * 1000|LLLL|1111 01xx On[|= L] |
| 168 | * L: 0 means default layer | 167 | * 1000|LLLL|1111 1000 Off/On |
| 168 | * 1000|LLLL|1111 10xx Off[&= ~L] | ||
| 169 | * 1000|LLLL|1111 1100 Set/Set(0) | ||
| 170 | * 1000|LLLL|1111 11xx Set[= L] | ||
| 171 | * default layer: 0-15(4bit) | ||
| 172 | * xx: On {00:for special use, 01:press, 10:release, 11:both} | ||
| 169 | * | 173 | * |
| 170 | * ACT_LAYER_BIT(1001): Bit-op layer | 174 | * ACT_OVERLAY: |
| 171 | * 1001|BBBB|0000 0000 bit-on current layer on press and bit-off on release(momentary) | 175 | * 1011|0000|0000 0000 Clear overlay |
| 172 | * 1001|BBBB|0000 0001 bit-xor current layer on press | 176 | * 1011|LLLL|0000 00ss Invert 4-bit chunk [^= L<<(4*ss)] |
| 173 | * 1001|BBBB|0000 0010 bit-xor current layer on release | 177 | * 1011|LLLL| keycode Invert with tap key |
| 174 | * 1001|BBBB|0000 0011 bit-xor current layer on both | 178 | * 1011|LLLL|1111 0000 Invert with tap toggle |
| 175 | * 1001|BBBB| keycode bit-xor current layer on hold and send key on tap | 179 | * 1011|LLLL|1111 00xx Invert[^= 1<<L] |
| 176 | * 1001|BBBB|1111 0000 bit-xor current layer on hold and toggle on several taps | 180 | * 1011|LLLL|1111 0100 On/Off(momentary) |
| 177 | * 1001|BBBB|1111 1111 bit-xor default layer on both | 181 | * 1011|LLLL|1111 01xx On[|= 1<<L] |
| 178 | * | 182 | * 1011|LLLL|1111 1000 Off/On |
| 179 | * ACT_LAYER_SWITCH: Switch | 183 | * 1011|LLLL|1111 10xx Off[&= ~1<<L] |
| 180 | * 1011|LLLL|0000 0000 On on press and Off on release(momentary) | 184 | * 1011|LLLL|1111 1100 Set[= 1<<L]/Clear |
| 181 | * 1011|LLLL|0000 0001 Invert on press | 185 | * 1011|LLLL|1111 11xx Set[= 1<<L] |
| 182 | * 1011|LLLL|0000 0010 Invert on release | 186 | * overlays: 16-layer on/off status(16bit) |
| 183 | * 1011|LLLL|0000 0011 Invert on both | 187 | * xx: On {00:for special use, 01:press, 10:release, 11:both} |
| 184 | * 1011|LLLL| keycode Invert on hold and send key on tap | ||
| 185 | * 1011|LLLL|1111 0000 Invert on hold and toggle on several taps | ||
| 186 | * 1011|LLLL|1111 1111 (not used) | ||
| 187 | * | 188 | * |
| 188 | * | 189 | * |
| 189 | * Extensions(11XX) | 190 | * Extensions(11XX) |
| @@ -211,9 +212,8 @@ enum action_kind_id { | |||
| 211 | ACT_USAGE = 0b0100, | 212 | ACT_USAGE = 0b0100, |
| 212 | ACT_MOUSEKEY = 0b0101, | 213 | ACT_MOUSEKEY = 0b0101, |
| 213 | 214 | ||
| 214 | ACT_LAYER_SET = 0b1000, | 215 | ACT_KEYMAP = 0b1000, |
| 215 | ACT_LAYER_BIT = 0b1001, | 216 | ACT_OVERLAY = 0b1001, |
| 216 | ACT_LAYER_SWITCH = 0b1011, | ||
| 217 | 217 | ||
| 218 | ACT_MACRO = 0b1100, | 218 | ACT_MACRO = 0b1100, |
| 219 | ACT_COMMAND = 0b1110, | 219 | ACT_COMMAND = 0b1110, |
| @@ -254,73 +254,108 @@ enum mods_codes { | |||
| 254 | #define ACTION_RMOD_ONESHOT(mod) ACTION(ACT_RMODS_TAP, MODS4(MOD_BIT(mod))<<8 | MODS_ONESHOT) | 254 | #define ACTION_RMOD_ONESHOT(mod) ACTION(ACT_RMODS_TAP, MODS4(MOD_BIT(mod))<<8 | MODS_ONESHOT) |
| 255 | 255 | ||
| 256 | 256 | ||
| 257 | /* | 257 | /* Layer Operation: |
| 258 | * Layer switching | 258 | * Invert layer ^= (1<<layer) |
| 259 | * On layer |= (1<<layer) | ||
| 260 | * Off layer &= ~(1<<layer) | ||
| 261 | * Set layer = (1<<layer) | ||
| 262 | * Clear layer = 0 | ||
| 259 | */ | 263 | */ |
| 260 | enum layer_codes { | 264 | enum layer_params { |
| 261 | LAYER_MOMENTARY = 0, | 265 | ON_PRESS = 1, |
| 262 | LAYER_ON_PRESS = 1, | 266 | ON_RELEASE = 2, |
| 263 | LAYER_ON_RELEASE = 2, | 267 | ON_BOTH = 3, |
| 264 | LAYER_ON_BOTH =3, | 268 | |
| 265 | LAYER_TAP_TOGGLE = 0xF0, | 269 | OP_RESET = 0x00, |
| 266 | LAYER_SET_DEFAULT_ON_PRESS = 0xFD, | 270 | OP_INV4 = 0x00, |
| 267 | LAYER_SET_DEFAULT_ON_RELEASE = 0xFE, | 271 | OP_INV = 0xF0, |
| 268 | LAYER_SET_DEFAULT_ON_BOTH = 0xFF | 272 | OP_ON = 0xF4, |
| 273 | OP_OFF = 0xF8, | ||
| 274 | OP_SET = 0xFC, | ||
| 269 | }; | 275 | }; |
| 276 | |||
| 270 | /* | 277 | /* |
| 271 | * Default layer | 278 | * Default Layer |
| 272 | */ | ||
| 273 | /* set default layer */ | ||
| 274 | #define ACTION_LAYER_SET_DEFAULT(layer) ACTION_LAYER_SET_DEFAULT_R(layer) | ||
| 275 | #define ACTION_LAYER_SET_DEFAULT_P(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_SET_DEFAULT_ON_PRESS) | ||
| 276 | #define ACTION_LAYER_SET_DEFAULT_R(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_SET_DEFAULT_ON_RELEASE) | ||
| 277 | #define ACTION_LAYER_SET_DEFAULT_B(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_SET_DEFAULT_ON_BOTH) | ||
| 278 | /* bit-xor default layer */ | ||
| 279 | #define ACTION_LAYER_BIT_DEFAULT(bits) ACTION_LAYER_BIT_DEFAULT_R(bits) | ||
| 280 | #define ACTION_LAYER_BIT_DEFAULT_P(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_SET_DEFAULT_ON_PRESS) | ||
| 281 | #define ACTION_LAYER_BIT_DEFAULT_R(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_SET_DEFAULT_ON_RELEASE) | ||
| 282 | #define ACTION_LAYER_BIT_DEFAULT_B(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_SET_DEFAULT_ON_BOTH) | ||
| 283 | /* | ||
| 284 | * Current layer: Return to default layer | ||
| 285 | */ | ||
| 286 | #define ACTION_LAYER_DEFAULT ACTION_LAYER_DEFAULT_R | ||
| 287 | #define ACTION_LAYER_DEFAULT_P ACTION_LAYER_SET_P(0) | ||
| 288 | #define ACTION_LAYER_DEFAULT_R ACTION_LAYER_SET_R(0) | ||
| 289 | #define ACTION_LAYER_DEFAULT_B ACTION_LAYER_SET_B(0) | ||
| 290 | /* | ||
| 291 | * Current layer: Set | ||
| 292 | */ | ||
| 293 | #define ACTION_LAYER_SET(layer) ACTION_LAYER_SET_P(layer) | ||
| 294 | #define ACTION_LAYER_SET_MOMENTARY(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_MOMENTARY) | ||
| 295 | #define ACTION_LAYER_SET_TOGGLE(layer) ACTION_LAYER_SET_R(layer) | ||
| 296 | #define ACTION_LAYER_SET_P(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_ON_PRESS) | ||
| 297 | #define ACTION_LAYER_SET_R(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_ON_RELEASE) | ||
| 298 | #define ACTION_LAYER_SET_B(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_ON_BOTH) | ||
| 299 | #define ACTION_LAYER_SET_TAP_TOGGLE(layer) ACTION(ACT_LAYER_SET, (layer)<<8 | LAYER_TAP_TOGGLE) | ||
| 300 | #define ACTION_LAYER_SET_TAP_KEY(layer, key) ACTION(ACT_LAYER_SET, (layer)<<8 | (key)) | ||
| 301 | /* | ||
| 302 | * Current layer: Bit-op | ||
| 303 | */ | 279 | */ |
| 304 | #define ACTION_LAYER_BIT(bits) ACTION_LAYER_BIT_MOMENTARY(bits) | 280 | #define ACTION_KEYMAP(layer) ACTION_KEYMAP_MOMENTARY(layer) |
| 305 | #define ACTION_LAYER_BIT_MOMENTARY(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_MOMENTARY) | 281 | #define ACTION_KEYMAP_MOMENTARY(layer) ACTION_KEYMAP_INV_B(layer) |
| 306 | #define ACTION_LAYER_BIT_TOGGLE(bits) ACTION_LAYER_BIT_R(bits) | 282 | #define ACTION_KEYMAP_TOGGLE(layer) ACTION_KEYMAP_INV_R(layer) |
| 307 | #define ACTION_LAYER_BIT_P(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_ON_PRESS) | 283 | /* Set default layer */ |
| 308 | #define ACTION_LAYER_BIT_R(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_ON_RELEASE) | 284 | #define ACTION_SET_DEFAULT_LAYER(layer) ACTION_KEYMAP_RESET(layer) |
| 309 | #define ACTION_LAYER_BIT_B(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_ON_BOTH) | 285 | #define ACTION_SET_DEFAULT_LAYER_P(layer) ACTION_KEYMAP_RESET_P(layer) |
| 310 | #define ACTION_LAYER_BIT_TAP_TOGGLE(bits) ACTION(ACT_LAYER_BIT, (bits)<<8 | LAYER_TAP_TOGGLE) | 286 | #define ACTION_SET_DEFAULT_LAYER_R(layer) ACTION_KEYMAP_RESET_R(layer) |
| 311 | #define ACTION_LAYER_BIT_TAP_KEY(bits, key) ACTION(ACT_LAYER_BIT, (bits)<<8 | (key)) | 287 | #define ACTION_SET_DEFAULT_LAYER_B(layer) ACTION_KEYMAP_RESET_B(layer) |
| 288 | /* Keymap Set and clear overaly */ | ||
| 289 | #define ACTION_KEYMAP_RESET(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | 0) | ||
| 290 | #define ACTION_KEYMAP_RESET_P(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS) | ||
| 291 | #define ACTION_KEYMAP_RESET_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS) | ||
| 292 | #define ACTION_KEYMAP_RESET_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_RESET | ON_PRESS) | ||
| 293 | /* Keymap Invert */ | ||
| 294 | #define ACTION_KEYMAP_INV(layer) ACTION_KEYMAP_INV_B(layer) | ||
| 295 | #define ACTION_KEYMAP_TAP_TOGGLE(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_INV | 0) | ||
| 296 | #define ACTION_KEYMAP_INV_P(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_INV | ON_PRESS) | ||
| 297 | #define ACTION_KEYMAP_INV_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_INV | ON_RELEASE) | ||
| 298 | #define ACTION_KEYMAP_INV_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_INV | ON_BOTH) | ||
| 299 | /* Keymap On */ | ||
| 300 | #define ACTION_KEYMAP_ON(layer) ACTION_KEYMAP_ON_OFF(layer) | ||
| 301 | #define ACTION_KEYMAP_ON_OFF(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_ON | 0) | ||
| 302 | #define ACTION_KEYMAP_ON_P(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_ON | ON_PRESS) | ||
| 303 | #define ACTION_KEYMAP_ON_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_ON | ON_RELEASE) | ||
| 304 | #define ACTION_KEYMAP_ON_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_ON | ON_BOTH) | ||
| 305 | /* Keymap Off */ | ||
| 306 | #define ACTION_KEYMAP_OFF(layer) ACTION_KEYMAP_OFF_ON(layer) | ||
| 307 | #define ACTION_KEYMAP_OFF_ON(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_OFF | 0) | ||
| 308 | #define ACTION_KEYMAP_OFF_P(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_OFF | ON_PRESS) | ||
| 309 | #define ACTION_KEYMAP_OFF_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_OFF | ON_RELEASE) | ||
| 310 | #define ACTION_KEYMAP_OFF_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_OFF | ON_BOTH) | ||
| 311 | /* Keymap Set */ | ||
| 312 | #define ACTION_KEYMAP_SET(layer) ACTION_KEYMAP_SET_CLEAR(layer) | ||
| 313 | #define ACTION_KEYMAP_SET_CLEAR(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_SET | 0) | ||
| 314 | #define ACTION_KEYMAP_SET_P(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_SET | ON_PRESS) | ||
| 315 | #define ACTION_KEYMAP_SET_R(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_SET | ON_RELEASE) | ||
| 316 | #define ACTION_KEYMAP_SET_B(layer) ACTION(ACT_KEYMAP, (layer)<<8 | OP_SET | ON_BOTH) | ||
| 317 | /* Keymap Invert with tap key */ | ||
| 318 | #define ACTION_KEYMAP_TAP_KEY(layer, key) ACTION(ACT_KEYMAP, (layer)<<8 | (key)) | ||
| 319 | |||
| 312 | /* | 320 | /* |
| 313 | * Layer SWITCH | 321 | * Overlay Layer |
| 314 | */ | 322 | */ |
| 315 | /* momentary */ | 323 | #define ACTION_OVERLAY(layer) ACTION_OVERLAY_MOMENTARY(layer) |
| 316 | #define ACTION_LAYER_SWITCH(layer) ACTION_LAYER_SWITCH_MOMENTARY(layer) | 324 | #define ACTION_OVERLAY_MOMENTARY(layer) ACTION_OVERLAY_ON_OFF(layer) |
| 317 | #define ACTION_LAYER_SWITCH_MOMENTARY(layer) ACTION(ACT_LAYER_SWITCH, (layer)<<8 | LAYER_MOMENTARY) | 325 | #define ACTION_OVERLAY_TOGGLE(layer) ACTION_OVERLAY_INV_R(layer) |
| 318 | #define ACTION_LAYER_SWITCH_TOGGLE(layer) ACTION_LAYER_SWITCH_R(layer) | 326 | /* Overlay Clear */ |
| 319 | #define ACTION_LAYER_SWITCH_P(layer) ACTION(ACT_LAYER_SWITCH, (layer)<<8 | LAYER_ON_PRESS) | 327 | #define ACTION_OVERLAY_CLEAR ACTION(ACT_OVERLAY, 0<<8 | OP_INV4 | 0) |
| 320 | #define ACTION_LAYER_SWITCH_R(layer) ACTION(ACT_LAYER_SWITCH, (layer)<<8 | LAYER_ON_RELEASE) | 328 | #define ACTION_OVERLAY_CLEAR_P ACTION(ACT_OVERLAY, 0<<8 | OP_INV4 | ON_PRESS) |
| 321 | #define ACTION_LAYER_SWITCH_B(layer) ACTION(ACT_LAYER_SWITCH, (layer)<<8 | LAYER_ON_BOTH) | 329 | #define ACTION_OVERLAY_CLEAR_R ACTION(ACT_OVERLAY, 0<<8 | OP_INV4 | ON_RELEASE) |
| 322 | #define ACTION_LAYER_SWITCH_TAP_TOGGLE(layer) ACTION(ACT_LAYER_SWITCH, (layer)<<8 | LAYER_TAP_TOGGLE) | 330 | #define ACTION_OVERLAY_CLEAR_B ACTION(ACT_OVERLAY, 0<<8 | OP_INV4 | ON_BOTH) |
| 323 | #define ACTION_LAYER_SWITCH_TAP_KEY(layer, key) ACTION(ACT_LAYER_SWITCH, (layer)<<8 | (key)) | 331 | /* Overlay Invert 4-bit chunk */ |
| 332 | #define ACTION_OVERLAY_INV4(bits, shift) ACTION(ACT_OVERLAY, (bits)<<8 | OP_INV4 | shift) | ||
| 333 | /* Overlay Invert */ | ||
| 334 | #define ACTION_OVERLAY_INV(layer) ACTION_OVERLAY_INV_B(layer) | ||
| 335 | #define ACTION_OVERLAY_TAP_TOGGLE(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_INV | 0) | ||
| 336 | #define ACTION_OVERLAY_INV_P(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_INV | ON_PRESS) | ||
| 337 | #define ACTION_OVERLAY_INV_R(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_INV | ON_RELEASE) | ||
| 338 | #define ACTION_OVERLAY_INV_B(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_INV | ON_BOTH) | ||
| 339 | /* Overlay On */ | ||
| 340 | #define ACTION_OVERLAY_ON(layer) ACTION_OVERLAY_ON_OFF(layer) | ||
| 341 | #define ACTION_OVERLAY_ON_OFF(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_ON | 0) | ||
| 342 | #define ACTION_OVERLAY_ON_P(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_ON | ON_PRESS) | ||
| 343 | #define ACTION_OVERLAY_ON_R(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_ON | ON_RELEASE) | ||
| 344 | #define ACTION_OVERLAY_ON_B(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_ON | ON_BOTH) | ||
| 345 | /* Overlay Off */ | ||
| 346 | #define ACTION_OVERLAY_OFF(layer) ACTION_OVERLAY_OFF_ON(layer) | ||
| 347 | #define ACTION_OVERLAY_OFF_ON(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_OFF | 0) | ||
| 348 | #define ACTION_OVERLAY_OFF_P(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_OFF | ON_PRESS) | ||
| 349 | #define ACTION_OVERLAY_OFF_R(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_OFF | ON_RELEASE) | ||
| 350 | #define ACTION_OVERLAY_OFF_B(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_OFF | ON_BOTH) | ||
| 351 | /* Overlay Set */ | ||
| 352 | #define ACTION_OVERLAY_SET(layer) ACTION_OVERLAY_SET_CLEAR(layer) | ||
| 353 | #define ACTION_OVERLAY_SET_CLEAR(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_SET | 0) | ||
| 354 | #define ACTION_OVERLAY_SET_P(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_SET | ON_PRESS) | ||
| 355 | #define ACTION_OVERLAY_SET_R(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_SET | ON_RELEASE) | ||
| 356 | #define ACTION_OVERLAY_SET_B(layer) ACTION(ACT_OVERLAY, (layer)<<8 | OP_SET | ON_BOTH) | ||
| 357 | /* Overlay Invert with tap key */ | ||
| 358 | #define ACTION_OVERLAY_TAP_KEY(layer, key) ACTION(ACT_OVERLAY, (layer)<<8 | (key)) | ||
| 324 | 359 | ||
| 325 | 360 | ||
| 326 | /* | 361 | /* |
