Introduction: Commander Macro Player

Turns your Android phone/tablet into a programmable, wireless, remote control for any computer.

These are the instructions on how to use the free Commander Macro Player app which works in conjunction with the Engineers Buddy keyboard/mouse emulator hardware. If you are not familiar with the concept of recording and playing macros it is the process of recording keystrokes so they can be played back automatically.

With this powerful tool anyone that can use a computer can 'program' one to run any keyboard controlled applications. The Commander's 'TV remote' style interface will run up to five pre-set programs, or allow you to select from as many as you can fit into your Android device's memory. Because it uses the universally compatible* Engineers Buddy hardware there is no need to install software on the host computer!

Potential uses:-

Security. Every security camera(or bystander), wherever you are typing on a keyboard, is a potential key logger. Type recorded secure information, such as passwords, with the press of a button on your smart phone or tablet.

Medical. Considerable potential for people providing services and assistance to the handicapped or disabled, giving them access to complicated keyboard driven procedures, such as entering their user name and password and then invoking an application function, all with the press of a single button.

Commercial. Great for repetitive tasks, such as configuring systems for roll out or rebuilding in the field with minimal staff training.Administrative.

Administrative. Permanently install the Engineers Buddy hardware on a system with no keyboard or mouse. Staff or visitors can connect, using the Commander app, to run tailored macros, providing restricted/automated functionality according to user status/department.

The app can be downloaded from Playstore here:-

https://play.google.com/store/apps/details?id=appi...

Instructions on how to build the hardware and the free Arduino script that runs on it are available on the Instructables site here:-

https://www.instructables.com/id/Engineers-Buddy-Bluetooth-Kbd-and-Mouse/

or it can be purchased here:-

http://www.leadervision.co.uk/other-products/buy-t...

Macros for the Commander app are best created using the record function of the Engineers Buddy kbd/mouse app available here:-

https://play.google.com/store/apps/details?id=appinventor.ai_leadervisionmike.BtMouseKbd_V001&hl=en

It uses the same hardware as the Commander app and has the advantage of being operating system independent*. Probably the only universal macro recorder there is.

Macros can also be 'hand assembled' or recorded using the free MiniMouseMacro recorder for Windows produced by 'TurnSoft' which is available here:- https://www.turnssoft.com/mini-mouse-macro.html

Step 6 is a 'How and Why' guide to controlling a computer using only a keyboard. It provides a better insight into the simplicity and power of macro recording.

*Will work with PC, MAC, Linux, some games consoles and Android devices, in fact any device or operating system that supports a standard HID compliant keyboard and provides power to the usb port.

Step 1: What You Will Need

The Commander Macro Player app installed on your Android device.

-----------------------

The Engineers Buddy hardware, which you can build yourself or purchase. Try before you buy. It is possible to experiment with the app before acquiring the hardware but obviously there will be no output to the computer and running a macro will generate a connection error.

-----------------------

At least one recorded macro available in the 'download' directory of your Android device. Engineers Buddy apps and hardware are universal, so will play macros which contain only text on almost any device. The 'Welcome.ebm' sample macro can be downloaded from this page and will work on any system/OS. Other macros can contain commands which provide extensive control and functionality and are operating system and application specific. More sample macros, instructions on how to use them and creating and converting macros are covered in steps 4 and 5.

Step 2: Using the Commander Macro Player

-----------OVERVIEW OF THE PLAYER SCREEN, CONTROLS AND REPORTS.-----------

Upon opening the app you will be presented with the player screen (fig1). Immediately below the title there is an area which displays instructions and reports.

Below this there are 3 buttons.

CONNECT- used to connect to the bluetooth module which plugs into the device you will be controlling.

PAUSE- pauses a running macro, allowing for manual input or implementing a manually controlled delay.

RELEASE- a macro which is stopped, paused or interrupted after the CTRL or ALT key has been set will leave those keys in that state. This button releases those keys and a confirmation report is displayed (fig2).

Below these buttons there are 3 status report windows. The first one reports the connection status before any macros have been run (figs 1&3). Once a macro has started it reports whether the macro is running or paused. The second and third windows report the current delay and character/command that is being transmitted while a macro is running (fig4). To fully reset these report windows restart the app.

The next five rows of buttons allow up to 5 macros to be pre-set and run.

SELECT- opens the download directory and displays available .ebm (EngineersBuddyMacro) files. If pre-set, or after selection, the button displays the file name that will run(fig5). It can be used to temporarily select another file without clearing any pre-set.

RUN- runs the macro as displayed on the SELECT button. If no macro is selected an error is reported (fig6).

SET- tapping this button pre-sets the macro displayed on the SELECT button so that it loads by default when the app initialises. If successful a confirmation report is displayed (fig7). If no macro is selected an error is reported (fig6). Pressing and holding the SET button clears the pre-set. If successful a confirmation report is displayed (fig8).

GET- Recovers the stored pre-set if a temporary macro has been selected. If there is no preset an error report is displayed (fig9).

US/UK keyboard layouts are catered for. The current setting is displayed as a flag on the button which is used to change the setting (fig10).

Goto file converter- this button closes the player screen and bluetooth connection and opens the converter screen where Mini Mouse Macro (.mmmacro) files can be converted to Engineers Buddy Macro (.ebm) files and a global delay can be applied both file types. The converter screen is covered in step 4.

----------RUNNING A MACRO-----------

On first use of the Engineers Buddy hardware Mac users should refer to step 7 for instructions on how to set the keyboard type.

Copy the WELCOME.ebm sample macro into the download directory of your android device. This sample macro is universal and will run on any machine/OS.

Ensure that your Engineers Buddy hardware is connected to the computer that you are working with. The Engineers Buddy processor board LED should illuminate and the bluetooth module LED should flash. On first use, use your phone/tablet to pair with it. It will appear in the device search as EngineersBuddy or BT04-A or HC-06.

Open the Commander app and tap the CONNECT button. This will display a list of all paired devices (fig11). Tap on the relevant device name. The app will restore the main screen and if the connection is successful will report 'Ready' beneath the connect button (fig3). The flashing bluetooth module LED will stop flashing and stay on.

Press any of the five SELECT buttons to select the sample Macro. All the .ebm files in the device's download directory will be displayed (fig12). Tap on the WELCOME.ebm file and the file name will be displayed on the select button (fig5).

Ensure the focus is on an open text editor or word processor window on the host computer. Press the RUN button associated with the chosen SELECT button. A welcome message will be typed into the open application on the host computer. The status window will report 'Running' until it is finished when it will return to 'Ready'.

Step 3: Creating and Editing Macros

This section covers basic creation and editing. Steps 6 and 7 provide a guide to using keyboard shortcuts, how and why to control the computer with only a keyboard and special instructions for Mac users.

Both Engineers Buddy (.ebm) and Mini Mouse Macro (.mmmacro) file types are supported by the Commander app. Only .ebm files are supported by the player and there is a converter function for the .mmmacro files. Both file types can be edited as basic text files using any basic text editor. For Android devices, an excellent free app with no ads, called Simple Text Editor, is available here-

https://play.google.com/store/apps/details?id=com....

Editing on your pc and the use of more advanced word processing software can provide line numbers, which is useful when editing .ebm files. Depending on the saved file format, this may generate hidden formatting codes that the Commander app will not be able to run. Restricting the output to .txt files, then renaming to .ebm, may work for most s/w.

IMPORTANT! Timing is a crucial element of successful macro operation. Macros played at recording speed may fail to run if the host system takes longer to implement commands than the host they were recorded on. However, one of the advantages of recording a macro is that processes can be accelerated by applying a global delay using the Commander converter facility. The macro should then have the timing edited at those points where the host system may take longer to respond. The Engineers Buddy hardware transmits data at a limited rate, so is NOT suitable for high speed gaming purposes.

---- USING THE ENGINEERS BUDDY KBD/MOUSE APP MACRO RECORDER----

This is the best way to create macros for the Commander player app. The Engineers Buddy kbd/mouse app can be downloaded here-

https://play.google.com/store/apps/details?id=appi...

Instructions on how to use it and the record function are available on the Instructables site, in step 4, here-

https://www.instructables.com/id/Engineers-Buddy-B...

The record function of the app generates an output file called Commander.ebm in the download directory of the Android device running it. This file needs to be renamed, using the device's file manager or the Commander converter facility, once it has been created, otherwise it will be deleted the next time theEngineers Buddy kbd/mouse app is opened.

--------------------THE .EBM FILE FORMAT AND 'HAND ASSEMBLY'-------------------

Because the Commander app only plays keystroke macros the format is very simple. Each line of the macro contains the delay before character/command is sent, in milliseconds, followed by a single space, followed by the character/command. For example the following would type Hello and then start a new line in an open text editor window. There would be a 1 second delay before each character/command was transmitted-

1000 H

1000 e

1000 l

1000 l

1000 o

1000 enter

1000 rel

A full list of the commands and characters which the Commander player recognizes are available to download in the file on this page- AllCommandsChrs.doc . It is important to read this if hand assembling as some commands are unique to the Commander app. For example:-

skey and skeyr :- This is the same as the modifier keys Winkey in Windows OS and the Command key in MAC OS. The command 'skey' sets the key as held and 'skeyr' releases it.

rel :- this command releases all held keys. It is good practice to make this the last line on all macros. This is done automatically by the EnginnersBuddy recorder and the Commander converter facility. Macros of only one line without it will run but will generate an error.

The 'shift' command is only recognised in conjunction with the arrow and modifier keys.

---------RECORDING USING MINI MOUSE MACRO -----------

This free Windows application is produced by Turnssoft and can be downloaded here:-

https://www.turnssoft.com/mini-mouse-macro.html

The Commander app has a facility to convert the output files produced (.mmmacro) into EngineersBuddy files (.ebm). Macros produced in this way may need editing to be fully compliant with the Commander app. Refer to the AllCommandsChrs.txt file and hand assembly instructions above to identify characters/commands which will be valid. The editing facilities that come with Mini Mouse Macro should NOT be used. Global delay should be applied using the Commander converter facility and any further editing according to the instructions above. When recording with Mini Mouse Macro ensure the following settings have been applied. In the application window (fig1), ensure the box 'Mouse' is not ticked. Then navigate to 'Record Options' using the drop down menu (fig2). Ensure that 'Disable mouse click capture' and 'Disable drag and drop' are both ticked.

Step 4: Using the Converter Facility

------OVERVIEW OF THE CONVERTER SCREEN, CONTROLS AND REPORTS.----

The converter facility is used to rename and apply a global delay to .ebm files or to convert and apply a global delay to .mmmacro files.

After pressing the 'Goto file converter' button in the player screen you will be presented with the converter screen (fig1). Immediately below the title there is an area with some basic instructions.

Below this there are 2 buttons.

SELECT- opens the download directory and displays available files (see fig12, step2). After selection, the button displays the file name that will run (fig2).

YELLOW BUTTON- sets the file type. Displaying .ebm in fig1, when pressed it toggles between .ebm and .mmmacro (fig2). Only files of the selected file type are displayed when the 'SELECT' button is pressed.

The next line down is an instruction line which also reports input errors.

Below this there is a text input box. Type the name of the output file into this box, without the file extension, which will automatically be set to .ebm . Input files of type .ebm must have a different output file name. An attempt to use identical input/output file names will generate an error report (fig3) when the process is run. Input files of type .mmmacro can have the same input/output file name.

The next line displays the current value of the global delay setting. Default is '0' (fig4).

Below this there is an input box which will only accept numbers. If desired, type the required global delay in milliseconds into this box (fig4), then press the associated button, 'Set global delay'. The new global delay setting will then appear in the report line above (fig5), it will not be applied if it is not set to more than '0'. Not setting the global delay to more than 0 will preserve the timing of the source file.

The next line down is the 'Convert/apply global delay' button which initiates the conversion process. An attempt to run the process without selecting both input and output file names will generate an error report (fig6). An attempt to run the process where the source file does not exist will generate a system error (fig7).

The next 3 lines display status and data while the conversion takes place (fig8).

The first of these lines displays when the converter is running and the current line number being processed. It reports 'Done' and the final line number when complete.

The second displays the data being read from the input file.

The third displays the data being written to the output file.

Beneath these is the 'Debug Mode' button which toggles between on and off and reports it's own status (fig8). When activated, the debug mode slows down the conversion process, so that the input/output data and current line number can be examined. The debug mode can be activated and deactivated at any time and will not affect the resulting output.

Lastly there is a button which returns you to the player screen. This can also be done with your devices 'back' button.

-------------Converting a macro---------------

Set the input file type using the yellow button.Set the input file name using the 'SELECT' button. Type the output file name into the test entry box. If desired, set a global delay. Press the 'Convert/Apply Global Delay' button.

Step 5: More Sample Macros and How to Use Them

There are 4 sample macros described and available to download in this section.

----- AllCharacters.ebm. ----- Universal, any system/OS. -----

This macro should be run with the focus on an open text editor or word processor window. It will print our the entire available character set. This is a useful tool to identify if the keyboard settings of the host computer are compliant with the Commander player's output. Although UK/US layouts are catered for, some systems such as Macs, do not faithfully reproduce the characters recorded in the macro file. Use the image above to compare with the host system output, the appropriate input characters can then be recorded or substituted in the .ebm file to produce the correct output.

----- Notepad.ebm. ----- Windows only. -----

This macro will open an instance of Notepad, type a test message and then save itself to the current default directory. This will work on any version of Windows where pressing and releasing the Winkey opens the start menu and sets the focus on the search box. The output file will be saved with the name 'Commander' in the default file format.

----- TextEdit.ebm. ----- Mac only. ------

Text Edit should be the last application to have been in focus before running this macro. This macro will open a new instance of Text Edit, type a test message and then save itself to the current default directory. The output file will be saved with the name 'Commander' in the default file format.

----- Welcome.mmmacro. ----- Converter facility example. -----

This Mini Mouse Macro file is the original source file for the Welcome.ebm file referred to previously. It can be used to practice with the converter facility before acquiring the hardware if it is intended to use Mini Mouse Macro as the recording method.

Step 6: How and Why to Control a Computer With Just a Keyboard

The introduction of the mouse revolutionised computing for the average end user. It is a Human Interface Device, as is the keyboard, but recording mouse activities is not a reliable way to record the instructions invoked when it is clicked. The positioning of windows is seldom repeated, so recording the positioning of the mouse cursor cannot be relied upon during playback. Whereas, keyboard input provides specific instructions which the operating system/software will always understand . Operating systems and well written software provide keyboard 'shortcuts' which perform predetermined or programmable tasks. For instance, on a Windows based machine pressing and releasing the Winkey, or pressing the 'esc' key whilst holding the 'ctrl' key, will open the start menu. It will open with the focus on the search box awaiting keyboard input. Typing in the name or address of an application will open that application. e.g.-

Typing 'notepad' into the search box, then pressing enter, will be recognised by Windows and the Notepad application will open a new document window which will be in focus. Content can then be typed into that document. Pressing F4 whilst holding the 'alt' key will close it. If there has been a content change the 'save' dialogue box will appear with the focus on the file name. Typing the file name and pressing 'enter' will save the file using the current directory and file format. This is the process executed by the 'Notepad' sample macro.

Similarly typing in the address of an application such as Paint Shop Pro, C:\Program Files\Corel\Corel PaintShop Pro X7\Corel PaintShop Pro.exe , then pressing enter will open that application.

So any installed application can be run without a mouse. If those keyboard entries are recorded with a macro recorder then there is no need to type that information again, it can be re-played using a macro player.

There are many keyboard shortcuts for most operating systems and many software packages, making it possible to automate many tasks. Research into these facilities will reveal the power and control available with the Commander Macro Player. Use the links below for information on Windows and Mac shorcuts.

Windows- https://support.microsoft.com/en-gb/help/12445/wi...

Mac- https://support.apple.com/en-gb/HT201236

Step 7: Special Instructions for Mac Users

Whilst the Apple Mac OS provides an automation tool, the Commander app and Engineers Buddy hardware make it possible run macros without installing anything on the host.

On first use with any Apple Mac the system will try to identify the keyboard type when the Engineers Buddy hardware is plugged in. If you have the Engineers Buddy kbd/mouse app use it to follow the instructions. If you only have the Commander app will need the sample macro available in this section, SetKbdMac.ebm . Copy it to the download directory of your Android device. Open the Commander app and connect to the Engineers Buddy hardware. Select the SetKbdMac macro. Use the computers mouse to get to the screen in fig (1). then run the macro. The screen in fig (2) will appear, use the computers mouse to click on 'Done'.

To ensure that full keyboard control is active the 'All controls' button needs to set a shown in fig (3).This screen can be found by selecting 'Keyboard' in 'System Preferences' and clicking 'Keyboard Shortcuts'.