A macro can contain one or more triggers. A Trigger is something that would cause the macro to run. Examples of triggers are voice command, iOS or Android App, joystick or 3Dconnexion controller keydown/keyup/keycombo or externally generated app triggers. You can manage your triggers by either right-clicking in the trigger list, or by clicking on the Trigger menu.
A macro will usually only have one trigger, but you could have more. It is possible to have the same trigger for different macros. In that event, when the trigger is detected, the first macro (listed alphabetically) will fire and the rest of the macros with the same trigger data will not. Here is an example of triggers configured to run a macro. If either one of these triggers occur, the macro will run.
- Saying ‘test’
- 3Dconnexion controller Fit and Menu buttons are pressed simultaneously
- Pressing the 3Dconnexion Shift button
- Releasing the 3Dconnexion Alt button
- Tapping the 3Dconnexion controller button two times
- Receiving via UDP the bytes 77AAFF
- Receiving a button press on button ‘My Macro’ on device 1 from the iOS/Android/Windows remote control app.
- You can also use joystick buttons and TCPIP data to trigger a macro.
- Voice – Creates a new voice trigger for the entered word or phrase. Case does not matter, so uppercase or lowercase or any combination is fine. If you have set the voice configuration to include a Prefix, you do not need to include the prefix in the voice command. So in the voice command shown above, you would need to speak ‘test’ for the macro to run. Using a prefix helps reduce false voice triggers, such as may occur when you say ‘Oh hey, how did your driving test go?’. If you aren’t using a prefix, you can still mute the voice input by pressing a key on the controller. It’s up to you whether a prefix is better in your setup. Before you can use the voice triggers, you need to configure the Voice Configuration screen which is available from the Input menu. See the ‘Voice Commands’ article for more information on how to set this up. When you add a voice trigger, you will need to enter the voice command, but without the prefix. After you have added the trigger and voice is enabled, speak the command ‘Test’ into the microphone. In the Voice, Log and Activity sidebar items you will see the results of your voice command.
- Single Button or Combo – This creates a trigger for a joystick or 3Dxconnexion controller with multiple keys pressed simultaneously. So, in the example above, pressing the Fit and Menu buttons simultaneously will cause the macro to run.
- Single-Button Down – This creates a trigger for a joystick or 3Dxconnexion controller button press. So, in the example above, pressing the ‘Shift’ button on a SpaceMouse Pro will cause the macro to run.
- Single-Button Up – This creates a trigger for joystick or a 3Dxconnexion controller button release. So, in the example above, releasing the ‘Right’ button on a SpaceMouse Pro will cause the macro to run. Be sure to enable the controller in the Input menu, 3DxWare menu item.
- 3DxWare Taps – By tapping the 3Dconnexion device puck, you can use single, double, triple or quadruple taps as a trigger. You can set up the tap sensitivity in the Input/3DxWare setup screen.
- External/UDP – This creates a trigger that will fire when ControlMyJoystick receives the byte $FF via network UDP on a port and bound host address that you define with the Configure UDP Trigger Server menu item. This allows you to create another app on your phone or on your PC that sends $FF to the trigger server. So if you wanted to, you could trigger this macro from your smartphone. Or, you could put a big red button on your desk that is connected to a microcontroller, which is in turn connected to an app you have created, which will send $FF to the trigger server when the button is pressed. There is a test app in the Tools menu called ‘UDP Trigger Sender’ which will send test data to the trigger server so that you can experiment to see how it works. Follow the instructions on the UDP Trigger Sender app for more information on how to set it up.
- External/ Configure UDP Trigger Server – Here is where you set which network address and port on which the trigger server will wait for data sent to it by external apps and if the data matches the data specified in a UDP trigger, then the macro will be run. Set the Bind Address ex. address 127.0.0.1 or fe80::51f5:abd6:e19f:26cf. You may have more than one network card in your computer that you can bind to, so ensure you are using the correct one. Set the Bind Port as well. Be sure that no other apps running on your PC are listening on the same address and port. Click on Enabled when you want to start the server. Watch the Log in the sidebar to get status info and received data.
- External/ TCP/IP – This creates a trigger that will display a trigger button on an iOS or Android device. You just touch need to touch the button on the device to cause the trigger to fire, and the corresponding macro to run. See the article ‘Using your iOS or Android Device as a Remote Trigger’ for more information on how to set this up.
- External/ Configure TCP/IP Trigger Server – Here is where you set which network address and port on which the trigger server will wait for data sent to it by the iOS and Android remote control app. See the article ‘Using your iOS or Android Device as a Remote Trigger’ for more information on how to set this up.
- Edit – This brings up the editor so that you may modify the selected trigger.
- Toggle Enable/Disable – Use this to enable or disable a trigger.
- Delete – This removes the currently selected trigger from the selected macro. Deletes cannot be undone.