These are the various commands available for the targets. Because each platform runs different code bases for each run-time target, support for a particular platform may be limited or not available. Check for updates, and with IMG technical support if there is a need beyond CLOSE, MINIMIZE, SAVEPOS, and NKBF on non-Windows platforms.

There are various commands (available in the Macro Builder):

[CMD:CLOSE] - When this is the Key Action, My-T-Soft will close. (Also shortcut [CMD:CL] Windows 32/64)

[CMD:MINIMIZE] - When this is the Key Action, My-T-Soft will Minimize to the Tray (Shell icon).(Also shortcut [CMD:MN] Windows 32/64)

[CMD:SAVEPOS] - When this is the Key Action, My-T-Soft will Save the current position to the KBF file (This will not work if the Window, Panel, Button, and Key file option is selected in Global Settings). Once the position is saved, the saved top, left setting will be used when this layout is opened in the future. (Also shortcut [CMD:SP] Windows 32/64)

[CMD:NKBF=???.KBF] - When this is the Key Action, the ??? must be replaced by a valid Keyboard File (KBF File). For Example, the Command might be [CMD:NKBF=NUM.KBF]. If there is a NUM.KBF file in the same folder as My-T-Soft, this will change the currently displayed keyboard layout to the specified "new" keyboard layout.

[CMD:LKBF=???.KBF] - When this is the Key Action, the ??? must be replaced by a valid Keyboard File (KBF File). For Example, the Command might be [CMD:LKBF=NUM.KBF]. The distinction between NKBF (New KBF) and LKBF (Load KBF) depends on the target platform - for Windows 32/64, the Load manipulates the displayed layout window, and can overlay or position based on the current display - for full details, see this tech item: Tech Item PU2011120670

[CMD:HIDE] - When this is the Key Action, this will hide or close the keyboard layout (as if text input is no longer needed) (Android) (Windows CE / (Software Input Panel) SIP type interface only - the input panel (keyboard) will be hidden (removed from screen)).

[CMD:NEXTKMF] - When this is the Key Action, this will select the Next KMF file for Key Labels/Key Actions, if multiple KMFs associated with KBF (when available for platform). (Also shortcut [CMD:NK] Windows 32/64)

[CMD:GETMYKBF] - When this is the Key Action, this will download favorites and defaults from the associated Build-A-Board.com Account (when licensed with a valid Build-A-Board.com Account). (Also shortcut [CMD:GK] Windows 32/64)

[CMD:GETMYBOARDS] - When this is the Key Action, this will download favorites and defaults from the associated Build-A-Board.com Account (when licensed with a valid Build-A-Board.com Account). (Also shortcut [CMD:GB] Windows 32/64)

[CMD:BOARDS] - When this is the Key Action, this will open the Select Boards screen (when available for platform). (Also shortcut [CMD:BD] Windows 32/64)

[CMD:EXEC=???.EXE] - When this is the Key Action, the ??? must be replaced by a valid executable file (Windows 32/64 Platforms). For Example, the Command might be [CMD:EXEC=NOTEPAD.EXE]. The following logic is used internally to run the named executable file: The current directory where the MYTSOFT.EXE is being run from is checked first - if the file is found, then it is run from that location. Otherwise, the file specified is handed off to Windows - Windows will search the the Windows folders, and then the path to find the file - if found, it will be run. If the file is not found, or there is an error, no other action will occur. The internal Windows API called is "ShellExecute", so a wide range of files can be run with this command - you can specify Bitmap files (.bmp), Documents (.doc), Shortcut files (.lnk) (which can contain URLs), etc. For command line entries, and other properties, use a shortcut, then specify the shortcut as the EXEC file. Note that for Level 1 keys, there is a limit of 31 characters, so only a limited path could be used (e.g. [CMD:EXEC=C:\UTIL\ACTION.BAT]). When a long path is required, use a shortcut, and put the shortcut into the folder with MYTSOFT.EXE.

On the Android platform, the EXEC= must list a valid app package name or URL. Package names are typically a reverse domain type format (Java adopted this as a way to generate unique identifiers), so to launch the calendar as an example, you could specify [CMD:EXEC=com.android.calendar], or for Calculator, [CMD:EXEC=com.android.calculator2]. URLs specified should start with a http or https, so examples of this would be [CMD:EXEC=https://www.build-a-board.com] or [CMD:EXEC=http://mytsoft.com].

On the Linux platform, the EXEC= must list a valid executable. So an example of this to run the KDE Avanced Text Editor kate might be: [CMD:EXEC=/opt/kde3/bin/kate].

[CMD:TYPE=???.KMF] - When this is the Key Action, the ??? must be replaced by a valid text based Macro file File (KMF File). For Example, the Command might be [CMD:TYPE=KMF90000.KMF]. When the key action is processed, the KMF file will be read, and the text will be typed as a macro. This can enable extremely long text entries. The macro file must be placed in the source folder (e.g. the Public Documents / Build-A-Board / SOURCE / [Project] folder) so it will be included when the Target .KBF is built. (Windows 32/64)

[CMD:SND=???.WAV] - When this is the Key Action, the ??? must be replaced by a valid Wave file name. The following logic is used internally to run the named wave file: The current directory where the MYTSOFT.EXE is being run from is checked first - if the file is found, then it is run from that location. Otherwise, it is handed off to Windows - Windows will search the Windows folders, and then the path to find the file - if found, it will be run. If the file is not found, or there is an error, no other action will occur. The internal Windows API called is "sndPlaySound" and any valid wave of multimedia file supported by that function will be played. Note that for Level 1 keys, there is a limit of 31 characters, so only a limited path could be used (e.g. [CMD:SND=C:\SNDS\ACTN.WAV]). (Windows 32/64)

[CMD:MIDI=???.MID] - When this is the Key Action, the ??? must be replaced by a valid MIDI file name. The current directory where the MYTSOFT.EXE is being run from is checked for the file - if the file is found, then it is run from that location. If the file is not found, or there is an error, no other action will occur. The internal Windows API calls use the MCI commands with the MIDI device setup as the "sequencer". Note that for Level 1 keys, there is a limit of 31 characters, so only a limited path could be used (e.g. [CMD:MIDI=C:\SNDS\SQNC.MID]). (Windows 32/64)

[CMD:MIDI=STOP] - When this is the key action, the MCI command will be used to send a STOP command to the device previously used to Play a MIDI file (i.e. [CMD:MIDI=???.MID]). (Windows 32/64)

[CMD:SAY=Speak this] - this can use Text To Speech to echo text on a key press/key action (Windows 32/64)

[CMD:MACRO=Macro?] - this is used to reference up to 3 macros entered in the Run-Time Settings (MYTSOFT.INI). [CMD:MACRO=Macro1] will then obtain the text of Macro1=Example Macro[Enter] from the Run-Time Settings, and type this macro, which will type "Example Macro" followed by an enter key. For reference, see the Run-Time Settings file Only Macro1, Macro2, Macro3 are supported. (Android/Windows)

[CMD:TOGGLEFORCESHOW] - this is an Android only command. As a key action, this enables/disables the current Force Show setting for Build-A-Board. If the Force Show feature is enabled, certain system actions are disabled, and it is possible to make the system unusable if the keyboard blocks all or key portions of the screen. By incorporating this Key Action on a layout button, the user can toggle the Force Show setting and revert to normal operation and re-enable when desired. (Android)

[CMD:KEYCODE=nnn] - this is an Android only command. As a key action, this is supported as a way to generate virtual key codes outside of the normal text input process via the input method used by keyboards in Android. This approach is closer to what a physical keyboard would generate vs. the character approach of the input method interface. For function keys, arrow keys, etc. (i.e. non-character based keystrokes), this approach may be important for apps that are monitoring or looking for this type of input (vs. text field input characters). It is also important to note that certain keystrokes are managed internally, so a Key Action of [Left] will move the text caret one character to the left, where a [CMD:KEYCODE=21] will send a left arrow keystroke. The distinction is where the management of the user input is handled - in the Input Method, in the input field, or in the app itself. For a list of Android virtual key codes (so actual decimal values can be determined), please reference the Android documentation here: Android KeyEvent KEYCODE reference. The KEYCODE=nnn should be simple integer decimal values (e.g. [CMD:KEYCODE=22] or [CMD:KEYCODE=131]) There is also support for the older shorthand notation where %%k021 can be used a virtual key. For details on this notation, see Build-A-Macro Notes. (Android)

[KMF:??] - as a key action, this is a layer of abstraction of where the key action comes from. When the KMF entry is used, the currently selected KMF file (as included in the KBF file (Keyboard Layouts)) is referenced to obtain the Key Action. For Key Labels, the Image entry is {KMF:??} or {KMF:Shift-??}. Also see [CMD:NEXTKMF]. (Windows 32/64)