]> git.friedersdorff.com Git - max/tmk_keyboard.git/commitdiff
core: Add utility macros in action_macro.h (#532)
authorØystein Bech Gadmar <DreymaR@users.noreply.github.com>
Sun, 28 Jan 2018 23:10:35 +0000 (00:10 +0100)
committerhasu@tmk <tmk@users.noreply.github.com>
Sun, 28 Jan 2018 23:10:35 +0000 (08:10 +0900)
tmk_core/common/action_macro.h

index 4cf2216dad0a6a0571dd5ecc579f874c266f70c7..739378649fdeccecf981d3a04ea492fd4937d013 100644 (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)