core: Add macro commands SM(), RM() and CM()
This commit is contained in:
parent
5a196b6444
commit
8ccbbde881
@ -368,17 +368,37 @@ Default Layer also has bitwise operations, they are executed when key is release
|
|||||||
MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END )
|
MACRO( I(255), T(H), T(E), T(L), T(L), W(255), T(O), END )
|
||||||
|
|
||||||
#### 2.3.1 Macro Commands
|
#### 2.3.1 Macro Commands
|
||||||
|
- **MACRO()**
|
||||||
|
- **MACRO_NONE**
|
||||||
|
|
||||||
- **I()** change interval of stroke.
|
- **I()** change interval of stroke.
|
||||||
- **D()** press key
|
- **D()** press key
|
||||||
- **U()** release key
|
- **U()** release key
|
||||||
- **T()** type key(press and release)
|
- **T()** type key(press and release)
|
||||||
- **W()** wait
|
- **W()** wait
|
||||||
|
- **SM()** store modifier state
|
||||||
|
- **RM()** restore modifier state
|
||||||
|
- **CM()** clear modifier state
|
||||||
- **END** end mark
|
- **END** end mark
|
||||||
|
|
||||||
#### 2.3.2 Examples
|
#### 2.3.2 Examples
|
||||||
|
***TBD***
|
||||||
|
|
||||||
|
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
|
||||||
|
{
|
||||||
|
switch (id) {
|
||||||
|
case HELLO:
|
||||||
|
return (record->event.pressed ?
|
||||||
|
MACRO( I(0), T(H), T(E), T(L), T(L), W(255), T(O), END ) :
|
||||||
|
MACRO_NONE );
|
||||||
|
case ALT_TAB:
|
||||||
|
return (record->event.pressed ?
|
||||||
|
MACRO( D(LALT), D(TAB), END ) :
|
||||||
|
MACRO( U(TAB), END ));
|
||||||
|
}
|
||||||
|
return MACRO_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
***TODO: sample implementation***
|
|
||||||
See `keyboard/hhkb/keymap.c` for sample.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user