core: Add utility macros in action_macro.h (#532)

This commit is contained in:
Øystein Bech Gadmar 2018-01-29 00:10:35 +01:00 committed by hasu@tmk
parent d415e99f0c
commit 9a9b8edfa9

View file

@ -105,6 +105,19 @@ enum macro_command_id{
#define RM() RESTORE()
/* clear modifier(s) */
#define CM() CLEAR()
/* key shift-type */
#define ST(key) D(LSFT), T(key), U(LSFT)
/* modifier utility macros */
/* Example: Ctrl+Alt+[Shift+]<key1,key2> is CTL_( ALT_( [S]T(key1), [S]T(key2) )) . */
#define SFT_(...) D(LSFT), __VA_ARGS__, U(LSFT)
#define CTL_(...) D(LCTL), __VA_ARGS__, U(LCTL)
#define ALT_(...) D(LALT), __VA_ARGS__, U(LALT)
#define AGR_(...) D(RALT), __VA_ARGS__, U(RALT)
/* Unicode macros for XOrg/MacOs/Win. */
/* Example: UNIW_(0,1,4,9) enters a bullet glyph on Windows using Alt+KeyPad(####). */
#define UNIX_(d1,d2,d3,d4) CTL_(ST(U)), T(d1), T(d2), T(d3), T(d4) , T(ENT)
#define UNIM_(d1,d2,d3,d4) ALT_( T(d1), T(d2), T(d3), T(d4) )
#define UNIW_(d1,d2,d3,d4) ALT_( T(P##d1), T(P##d2), T(P##d3), T(P##d4) )
/* for backward comaptibility */
#define MD(key) DOWN(KC_##key)