Actionstring`json:"action"`// The action's unique identifier. If your plugin supports multiple actions, you should use this value to see which action was triggered
Contextstring`json:"context"`// A value identifying the instance's action. You will need to pass this opaque value to several APIs like the setTitle API.
Devicestring`json:"device"`// A value to identify the device.
// ERDidReceiveSettings - The didReceiveSettings event is received after calling the getSettings API to retrieve the persistent data stored for the action.
State*int`json:"state"`// Only set when the action has multiple states defined in its manifest.json. The 0-based value contains the current state of the action
IsInMultiActionbool`json:"isInMultiAction"`// Boolean indicating if the action is inside a Multi-Action
// ERDidReceiveGlobalSettings - The didReceiveGlobalSettings event is received after calling the getGlobalSettings API to retrieve the global persistent data stored for the plugin.
// ERDidReceiveDeepLink - Occurs when Stream Deck receives a deep-link message intended for the plugin. The message is re-routed to the plugin, and provided as part of the payload. One-way deep-link message can be routed to the plugin using the URL format:
Urlstring`json:"url"`// The deep-link URL, with the prefix omitted. For example the URL streamdeck://plugins/message/com.elgato.test/hello-world would result in a url of hello-world
Ticksint`json:"ticks"`// The integer which holds the number of "ticks" on encoder rotation. Positive values are for clockwise rotation, negative values are for counterclockwise rotation, zero value is never happen
Pressedbool`json:"pressed"`// Boolean which is true on rotation when encoder pressed
State*int`json:"state"`// Only set when the action has multiple states defined in its manifest.json. The 0-based value contains the current state of the action.
UserDesiredState*int`json:"userDesiredState"`// Only set when the action is triggered with a specific value from a Multi-Action. For example, if the user sets the Game Capture Record action to be disabled in a Multi-Action, you would see the value 1. 0 and 1 are valid.
IsInMultiActionbool`json:"isInMultiAction"`// Boolean indicating if the action is inside a Multi-Action.
State*int`json:"state"`// Only set when the action has multiple states defined in its manifest.json. The 0-based value contains the current state of the action
UserDesiredState*int`json:"userDesiredState"`// Only set when the action is triggered with a specific value from a Multi-Action. For example, if the user sets the Game Capture Record action to be disabled in a Multi-Action, you would see the value 1. 0 and 1 are valid.
IsInMultiActionbool`json:"isInMultiAction"`// Boolean indicating if the action is inside a Multi-Action
// ERWillAppear - When an instance of an action is displayed on Stream Deck, for example, when the hardware is first plugged in or when a folder containing that action is entered, the plugin will receive a willAppear event. You will see such an event when:
Controllerstring`json:"controller"`// Defines the controller type the action is applicable to. Keypad refers to a standard action on a Stream Deck device, e.g. 1 of the 15 buttons on the Stream Deck MK.2, or a pedal on the Stream Deck Pedal, etc., whereas an Encoder refers to a dial / touchscreen on the Stream Deck+.
State*int`json:"state"`// Only set when the action has multiple states defined in its manifest.json. The 0-based value contains the current state of the action.
IsInMultiActionbool`json:"isInMultiAction"`// Boolean indicating if the action is inside a Multi-Action.
// ERWillDisappear - When an instance of an action ceases to be displayed on Stream Deck, for example, when switching profiles or folders, the plugin will receive a willDisappear event. You will see such an event when:
Controllerstring`json:"controller"`// Defines the controller type the action is applicable to. Keypad refers to a standard action on a Stream Deck device, e.g. 1 of the 15 buttons on the Stream Deck MK.2, or a pedal on the Stream Deck Pedal, etc., whereas an Encoder refers to a dial / touchscreen on the Stream Deck+.
State*int`json:"state"`// Only set when the action has multiple states defined in its manifest.json. The 0-based value contains the current state of the action.
IsInMultiActionbool`json:"isInMultiAction"`//Boolean indicating if the action is inside a Multi-Action
// ERTitleParametersDidChange - When the user changes the title or title parameters of the instance of an action, the plugin will receive a titleParametersDidChange event
Namestring`json:"name"`// The name of the device set by the user.
DeviceTypeint`json:"type"`// Type of device. Possible values are kESDSDKDeviceType_StreamDeck (0), kESDSDKDeviceType_StreamDeckMini (1), kESDSDKDeviceType_StreamDeckXL (2), kESDSDKDeviceType_StreamDeckMobile (3) and kESDSDKDeviceType_CorsairGKeys (4)
// ERApplicationDidLaunch - A plugin can request in its manifest.json to be notified when some applications are launched or terminated. The manifest.json should contain an ApplicationsToMonitor object specifying the list of application identifiers to monitor. On macOS, the application bundle identifier is used while the exe filename is used on Windows.
// ERApplicationDidTerminate - A plugin can request in its manifest.json to be notified when some applications are launched or terminated. The manifest.json should contain an ApplicationsToMonitor object specifying the list of application identifiers to monitor. On macOS, the application bundle identifier is used while the exe filename is used on Windows.
// ERApplicationPropertySendToPropertyInspector - The Property Inspector will receive a sendToPropertyInspector event when the plugin sends a sendToPropertyInspector event