Skip to content

Create sophisticated macros easily and run them through your Stream Deck

Notifications You must be signed in to change notification settings

Cheftr/streamdeck-supermacro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperMacro - Advanced keystroke macros triggered by the Elgato Stream Deck

Author's website and contact information: https://barraider.github.io

What's new in v1.5

  • The long awaited Variable support has now arrived!!! :new: You can now get input from the user and store it in variables. For example: Using {{INPUT:YourName}}Hello {{OUTPUT:YourName}} will first ask the user for a value, store it in YourName and then type it after the Hello part. You can use this many times, and with any different variable names.
  • SuperMacro now supports putting a : between the command name and value, which allows better readability of your macros. You can now type {{PAUSE:1000}}, {{KEYDOWN:SHIFT}},{{MOUSEMOVE:1,1}} etc.

Current functionality

5 Plugins built into one:

Super Macro

This is the basic implementation. Create a macro and run it on keypress. Examples can be seen in the Usage Examples section below.

Super Macro Toggle

Toggle between two different macros.

Sticky Super Macro

Click once to enable, the macro will run again and again until the button is pressed again

Keystroke PTT

This action limits the action to either one command (such as {{ctrl}{c}}) or one character. The command will be run again and again as long as you continue to press the key.

Sticky Keystroke

This action limits the action to either one command (such as {{ctrl}{c}}) or one character. The command will be run again and again until the button is pressed again.

How do I get started using it?

SuperMacro knows to deal with both Commands and normal text. A command is either one special key (like F5 or Winkey) or a keystroke (like Ctrl-C). A command is always enclosed in {} and each individual key in the command is also inclosed in {} so you should always see two {{ at the beginning and two }} at the end. For instance: {{f5}} or {{ctrl}{c}}

Usage Examples

  1. Open Windows Explorer and got to C:\Program Files
    Note: Delay should be ~20 ms
{{win}{e}}{{pause400}}{{alt}{d}}c:\Program Files\{{enter}}
  1. Open notepad and play with the settings
    Note: Delay should be ~20 ms
    Note2: This will not work correctly if your Windows (and notepad) are not in English
{{win}{r}}{{pause500}}notepad.exe{{enter}}{{pause1000}}Ok... Let's see what this plugin can do...{{alt}{f}}{{right}}{{PAUSE400}}{{right}}{{PAUSE400}}f{{pause400}}times{{down}}{{PAUSE400}}{{tab}}{{PAUSE400}}{{down}}{{PAUSE400}}{{down}}{{PAUSE400}}{{ENTER}}{{ENTER}}For more information visit: https://barider.g1thubio{{ctrl}{shift}{left}}{{PAUSE400}}https://barraider.github.io{{ENTER}}{{alt}{o}}f{{PAUSE100}}Lucida Console{{tab}}Regular{{Tab}}12{{ENTER}}
  1. Calculate something
    Note: Delay should be ~20 ms
{{win}{r}}{{pause300}}calc{{enter}}{{pause1000}}1*2*3*4*5=
  1. Move the mouse to a certain position on the screen
{{MOUSEPOS40000,15000}}
  1. Move the mouse by 10 pixels left and 20 pixels down on every press
{{MOUSEMOVE-10,20}}

Download

https://github.com/BarRaider/streamdeck-supermacro/releases

I found a bug, who do I contact?

For support please contact the developer. Contact information is available at https://barraider.github.io

I have a feature request, who do I contact?

Please contact the developer. Contact information is available at https://barraider.github.io

Dependencies

This plugin uses the StreamDeck-Tools v2.0

List of supported keystroke commands

Keyboard Key Macro Command
PAUSE {PAUSEXXXX} (XXXX = length in miliseconds)
BACKSPACE {BACK}
TAB {TAB}
CLEAR {CLEAR}
ENTER {RETURN} or {ENTER}
SHIFT {SHIFT}
Left SHIFT {LSHIFT}
Right SHIFT {RSHIFT}
CTRL {CONTROL} or {CTRL}
Left CONTROL {LCONTROL} or {LCTRL}
Right CONTROL {RCONTROL} or {RCTRL}
ALT {ALT} or {MENU}
Left ALT {LALT} or {LMENU}
Right ALT {RALT} or {RMENU}
PAUSE/BREAK {BREAK}
CAPS LOCK {CAPITAL}
ESC {ESCAPE}
SPACEBAR {SPACE}
PAGE UP {PAGEUP} or {PRIOR}
PAGE DOWN {PAGEDOWN} or {NEXT}
END {END}
HOME {HOME}
LEFT ARROW {LEFT}
UP ARROW {UP}
RIGHT ARROW {RIGHT}
DOWN ARROW {DOWN}
SELECT {SELECT}
PRINT SCREEN {SNAPSHOT}
PRINT {PRINT}
EXECUTE {EXECUTE}
INS {INSERT}
DEL {DELETE}
HELP {HELP}
Left Windows {LWIN} or {WIN} or {WINDOWS}
Right Windows {RWIN}
Numericpad 0 {NUMPAD0}
Numericpad 1 {NUMPAD1}
Numericpad 2 {NUMPAD2}
Numericpad 3 {NUMPAD3}
Numericpad 4 {NUMPAD4}
Numericpad 5 {NUMPAD5}
Numericpad 6 {NUMPAD6}
Numericpad 7 {NUMPAD7}
Numericpad 8 {NUMPAD8}
Numericpad 9 {NUMPAD9}
F1 {F1}
F2 {F2}
F3 {F3}
F4 {F4}
F5 {F5}
F6 {F6}
F7 {F7}
F8 {F8}
F9 {F9}
F10 {F10}
F11 {F11}
F12 {F12}
F13 {F13}
F14 {F14}
F15 {F15}
F16 {F16}
F17 {F17}
F18 {F18}
F19 {F19}
F20 {F20}
F21 {F21}
F22 {F22}
F23 {F23}
F24 {F24}
These characters:
;/`[\]':?~{|}"
Exact command changes between keyboard layouts:
Try the following macros to figure out the correct command:
{{oem_1}}{{oem_2}}{{oem_3}}{{oem_4}}{{oem_5}} {{oem_6}}{{oem_7}}{{oem_8}} {{shift}{oem_1}}{{shift}{oem_2}}{{shift}{oem_3}} {{shift}{oem_4}}{{shift}{oem_5}} {{shift}{oem_6}}{{shift}{oem_7}}{{shift}{oem_8}}
Plus: += {OEM_PLUS} / {{SHIFT}{OEM_PLUS}}
Minus: -_ {OEM_MINUS} / {{SHIFT}{OEM_MINUS}}
Period: .> {OEM_PERIOD} / {{SHIFT}{OEM_PERIOD}}
Comma: ,< {OEM_COMMA} / {{SHIFT}{OEM_COMMA}}
NUM LOCK {NUMLOCK}
SCROLL LOCK {SCROLL}
KeyDown {KeyDownXXXX} (XXXX = name of key, example {{KeyDownF1}})
KeyUp {KeyUpXXXX} (XXXX = name of key, example {{KeyUpSHIFT}})

Mouse Commands

Keyboard Key Macro Command
Mouse Left-Click {LBUTTON}
Mouse Left Double-Click {XBUTTON1}
Mouse Left Button Down {MLEFTDOWN}
Mouse Left Button Up {MLEFTUP}
Mouse Right-Click {RBUTTON}
Mouse Right Double-Click {XBUTTON2}
Mouse Right Button Down {MRIGHTDOWN}
Mouse Right Button Up {MRIGHTUP}
Mouse Middle Click {MBUTTON}
Mouse Middle Button Down {MMIDDLEDOWN}
Mouse Middle Button Up {MMIDDLEUP}
Mouse Scroll Wheel Up {MSCROLLUP}
Mouse Scroll Wheel Down {MSCROLLDOWN}
Mouse Horizontal Scroll Left {MSCROLLLEFT}
Mouse Horizontal Scroll Right {MSCROLLRIGHT}
Mouse Move: Based on CURRENT position {MOUSEMOVEX,Y} (Move the cursor by X,Y from current position)
Mouse Move: based on ABSOLUTE position {MOUSEPOSX,Y} (Move the cursor to the X,Y position on the screen. Values from 0,0 [top-left] to 65535,65535 [bottom-right])

About

Create sophisticated macros easily and run them through your Stream Deck

Resources

Stars

Watchers

Forks

Packages

No packages published