RemoteRF Remote

by
Keith Rubow

Introduction, or what is this software for anyway?

RF Remote lets you use the Rubow Systems RF remote control system (or any other remote control system that interfaces through a serial port, or USB virtual serial port) to control any Windows application. Buttons on the remote control transmitter can easily be set up to generate simulated keystrokes and/or mouse clicks to any Windows application. Buttons may also be used to change the system volume control, or launch any file (same as double-clicking in Windows Explorer).

You can control your favorite media player. Use RF Remote to start and stop playback, control the volume, play the next/previous track, etc. all from the comfort of your favorite chair, or even from the next room. You can control a PowerPoint presentation, changing slides forward or back with a click of a button on the remote control. Your imagination is your only limit.

Overview

Main Screen

Main Screen
The main window contains the Macro display window, which shows a tree view of the currently defined macros. Macros can be defined as Global macros (displayed at the top of the window), as Group macros, or as Member macros (displayed under the group macro). These three types of macros will be described in detail later.

Above the Macro display window is the menu bar with the File and Help menus. These are described below.

Below the Macro display window is the Start button. The Start button is used to activate the remote control functions. When activated the button caption changes to Stop. Pushing the Stop button halts the remote control functions.

Menus


File Menu
File Menu
The File menu contains the following commands:
New
The New command will clear all existing macro definitions (after asking if you want to save changes, if you have made any). You then have a "blank slate" for starting to create a new set of macros.
Save
The Save command will save all macro definitions and settings, but does not exit the application. Use save to avoid losing your work when working on new macro definitions.
Import Macros
The Import Macros command will restore the macro definitions from a file saved previously with the Export Macros command.
Export Macros
The Export Macros command will save the current macro definitions to a file of your choice. You can use the Export and Import macro commands to save sets of macro definitions for use with various Windows applications.
Settings
The Settings command brings up the Settings dialog box to set the Com port to use, the baud rate, and other program settings.
Exit
The Exit command exits the application, saving the settings and optionally saving all macro definitions.


Help Menu
Help Menu
The Help menu contains the following commands:
Help
The Help command displays this help file using your default web browser.
About
The About command display the program version and copyright information.


Popup Menu
Popup Menu
The Popup menu is accessed by right-clicking in the Macro display area of the main screed. This menu contains the following commands for working with Macros:
Add Global Macro
The Add Global Macro command is used to create a new global macro. Global macros are displayed at the top of the Macro display tree, and are always active regardless of which macro group is currently active.
Add Group
The Add Group command is used to create a new group of macros. Groups are used to hold collections of member macros. Only one group can be active at a time. Groups are activated by executing the group macro.
Add Member Macro
The Add Member Macro command is used to add a new member macro to the currently selected group. This menu item will be grayed out unless a Group macro, or one of the groups member macros, is currently selected.
Edit
The Edit command brings up the edit macro dialog box to edit the currently selected macro.
Delete
The Delete macro command will delete the currently selected macro. Deleting a Group macro will delete the Group and all of that groups member macros as well.
Learn
The Learn command is used to teach the software what button on the remote to use for the selected macro. Note that Group macros are not learned. Since Group macros have no associated commands, they cannot be executed except by another macro using a "Macro" command to activate the group.
Execute Macro
The Execute Macro command will immediately execute all commands assigned to the selected macro. This is useful for testing the operation of a macro before it is learned, or without using the remote control. It can also be used to activate a Group macro.

Setup

Settings, for COM port and other settings


Settings
Settings
The Settings command brings up the Settings dialog box. Use this dialog box to select the COM port to be used by RF Remote. This can be an actual COM port, or a virtual COM port such as the one created by the USB/serial driver used by the Rubow Systems USB RF remote control system. The baud rate must match the baud rate used by the remote control receiver. The Rubow Systems USB RF remote control system uses 2400 baud.

The Show parameter sets the location on the screen where the name of the macro will be displayed (in a pop up window) whenever a macro is executed. This may be set to None (to disable the Show feature), Top-Left, Top-Center, Top-Right, Middle-Left, Middle-Center, Middle-Right, Bottom-Left, Bottom-Center or Bottom-Right.

If the Show feature is enabled, the Font Size determines the size of the font used in the pop up window that shows the name of the macro being executed. The pop up window will be made as large (or as small) as necessary to show the macro name in the selected font size. This is useful as a confirmation that the button was recognized. A large font lets you see it from across the room.

Font color is used to select the color of text in the pop up Show window.

The Auto Start check box enables the Auto Start feature, which causes RF Remote to be immediately activated (as if you had pushed the Start button on the main screen) as soon as the application is launched.

The Auto Minimize check button enables the Auto Minimize feature, which causes RF Remote to be minimized each time it is activated (either by the Start button on the main screen, or by the Auto Start feature). Auto Minimize gets RF Remote off the screen and out of the way of the application(s) you are controlling. By enabling both Auto Start and Auto Minimize, RF remote will become activated and minimized as soon as it is launched.

Defining Macros


Add Macro
Add Macro
To define macros, use the Add Global Macro, Add Group, or Add Member Macro commands from the popup menu. This brings up the Add Macro dialog box.

Enter a name for the macro, which may be anything up to 32 characters. If the name is too long, it may not fit in the window that pops up showing the macro that is being executed. The name is the only thing you need to enter for Group macros. Global and Member macros require additional information.

Loop mode is used to determine how the commands assigned to this macro are executed. If Loop mode is not set, the entire list of commands will be executed each time the macro is executed. If Loop mode is set, then only one command is executed each time the macro is executed. The first time the macro is executed the first command will be executed. The second time the macro is executed the second command will be executed, etc.  After the last command is executed, execution resumes with the first command again.

Window determines which application will receive any KEY or MOUSE CLICK commands. To select the application, it must be running (and not minimized) when you define the macro. Click the Browse... button to see a list of currently running applications, and select it from the list. You may also type the complete pathname to the executable file for the application. If Window is left blank, any KEY or MOUSE CLICK commands will go to the currently active foreground window.

The Commands area of the window is used to define commands assigned to the macro. The drop down list selects the type of command to add. Commands may be KEY (to simulate a keystroke), MOUSE CLICK (to simulate mouse clicks), VOLUME (to change the system volume control), MACRO (to execute another macro) or LAUNCH FILE. (to launch any application or file, just like double-clicking it in Windows Explorer). Commands are described in detail below.

The Delete button deletes the currently selected command.

The Up and Down buttons will move the currently selected command up or down in the list of commands, to rearrange the order of commands.

Defining Commands



KEY
Add Keystroke
To define a KEY command, select KEY from the dropdown list and click Add. In the Add Keystroke dialog box, select the desired key from the dropdown list. All keys are listed, including function keys, arrow keys, ENTER, SPACE, numeric keypad keys, and special keys like HOME and END. Note that these are keys, and not characters. Any key can be combined with any combination of Alt, Ctrl and Shift by checking the boxes. Note that to generate a upper case letter, you must check Shift. To generate an asterisk, use key 8 with Shift. To generate a colon use key ";" with shift. You can also use standard Windows keyboard shortcuts, such as Alt-F4 to terminate an application.

MOUSE CLICK
Mouse Click
To define a MOUSE CLICK command, select MOUSE CLICK from the dropdown list and click Add. You may select a Left, Middle or Right mouse click. To set the location of the mouse click, click and drag the "+" icon with the mouse to the desired location. As soon as you click the icon, the window you selected for receiving commands will become active. Drag the icon to the desired location and release it. No action will take place in the selected window, and you will be returned to the Command Mouse Click window with the location set. Click OK to save the MOUSE CLICK command.

VOLUME
Volume
To define a VOLUME command, select VOLUME from the drop down list and click Add. You may select a volume Up, volume Down or volume Set command. Use the slider to determine how much to change the volume, or where to set it. For example, if the slider is at 25% of full scale and you select a volume Up command, the system volume control will move up 25% of full scale when the command executes. Four steps would move the volume from 0 to 100%. If the slider is at 10% of full scale and you select a volume Down command, the system volume control will move down 10% each time the command executes. If the slider is at 50% and you select a volume Set command, the system volume will be set to 50% when the command executes.

Note that moving the system volume control up 25% is NOT a 25% increase in volume.

MACRO
Macro
To define a MACRO command, select MACRO from the drop down list and click Add. You may select any macro from the list to execute as a command. The list of macros will include all Global macros, all Group macros, but only the Member macros that are in the same group as the macro you are defining.

Executing a Group macro has the effect of activating that group of macros. The same button on the remote may be assigned (by Learning) to as many different macros as you want, as long as the macros are in different groups. By activating the desired group you can change the function of one or more buttons on the remote. This allows you to have many more functions than there are buttons on the remote. A convenient way to select the active group is to use a single button assigned to a Global macro. This Global macro can be set to Loop mode, and execute a series of MACRO commands to activate the desired Group macros is sequence. Pressing the button on the remote cycles through all the groups is sequence.

LAUNCH FILE
Launch File
To define a LAUNCH FILE command, select LAUNCH FILE from the drop down list and click Add. A standard File Open dialog box lets you select the file you want to launch. This is the same a doubel-clicking the file in Windows Explorer. Launching an EXE file starts the application. Launching a document file will open the file with the associated application.

Learning the Buttons

After defining the macros, and the commands to be executed by the macros, it is necessary to teach the software which button on the remote control transmitter to use for each macro. This is done by using the Learn command on the Popup menu. Each Global macro must "Learn" a different button. The button "Learned" by each Member macro must be different from any other Member macro in the same group, and different from any Global macro. However, a Member macro in one group can use the same button as a Member macro in a different group. This is one way we can get one button to be used for more than one function. Right click on any Global or Member macro and select the Learn command from the Popup menu.
Learn
The Learn window will show you which macro is being learned. Simply press the button you want to use for this macro, and the received data will be shown in hexadecimal in the Learn window. Click OK to accept this data. The red question mark (indicating an unlearned macro) should disappear from the icon for the macro which has been learned. Note that if you know the data generated by the button, you may simply type it (in hexadecimal) instead of pushing the button.

Hint: If you "Learn" a macro and click OK without pushing any button on the remote (or without entering any data), you will REMOVE the learned button from the macro. The red question mark will appear, indicating the macro has not been learned.

Operation

Starting and Stopping

After launching RF Remote, simply click the Start button on the main screen to activate the software. It is best to minimize the RF Remote window when it is active so the window is not in the way of other applications on your desktop. This is conveniently done for you if the Auto Minimize feature is enabled under Settings. The Auto Start feature makes it unnecessary to click the Start button when RF Remote is launched. If the selected COM port cannot be opened, RF Remote will not be activated. This could be caused by having the wrong COM port selected, or by having another application running which has opened the COM port.

If you have defined a Global macro named StartUp, this macro will be executed automatically each time RF Remote is started. The StartUp macro could, for example, execute a Group macro to make it the default active group at startup. The StartUp macro could also launch one or more other applications, such as PowerPoint or WinAmp, which you will control using RF Remote.

Clicking the Stop button the main screen will stop the remote control functions.

Editing and Deleting Macros

By right clicking any macro and selecting Edit from the Popup menu, you can open the Edit window. This is the same window which is used to create new macros. Any property of the macro may be changed using the Edit window. You can change the name of the macro, the target window used by the macro, the Loop mode, and the assigned commands. Simply click OK to save the changes.

To delete a macro, right click it and select Delete from the Popup menu.

Advanced Operation

Macro Groups and Member Macros

The simplest way to use RF Remote is to just create one Global macro for each button on the remote control transmitter. But we can do much more with our remote control by using Group and Member macros.

Group macros simply act like folders to hold a collection of Member macros. This allows us to organize many macros into functional groups. Only one of the Group macros can be "active" at a time. A Group macro is activated by executing it, either by right clicking on it and choosing Execute Macro from the Popup menu, or by executing it using a Macro command from another macro. One way to do this is to create a Global macro for each Group macro, and assign a separate button on the remote control transmitter to each one. Each of these Global macros has a single command to execute a Macro, namely the Group macro to activate. In this way one button on the remote can enable a set of functions (the Member macros of the selected Group), which can be assigned to a set of buttons on the remote. Another macro Group can use different Member macros for a different set of functions assigned to the same buttons on the remote. This is typical of how many remote controls use a button to select TV, VCR, or DVD and then use a set of common buttons for different functions depending on which device was selected.

We can also use a single button on the remote to cycle through a list of two or more macro groups by using the "Loop" feature below. This can be awkward if there are many Group macros, but works well if there are only two or three groups. Using the Show feature to indicate which Group has been selected works very well.

Looping commands

Normally a Macro with more than one Command defined will execute all the commands in sequence when the macro is executed. However, when the Loop mode is enabled for the macro, only one command is executed each time the macro is executed. This can be used for stepping through any predefined set of actions. It also works exceptionally well for activating a series of Group macros using a single button on the remote. For example, suppose we have three Group macros named WAMP, PPOINT, and WMEDIA. Simply create a Global macro named SELECT, and define three commands, MACRO WAMP, MACRO PPOINT, and MACRO WMEDIA. Enable Loop mode for the SELECT macro and assign it to a button on the remote. The first time you push the Select button the WAMP group will be activated. The next time the PPOINT group will be activated. The next time the WMEDIA group will be activated. The next time the WAMP group will be activated, etc.

Importing and Exporting Macros

Once a set of macros have been defined, and they are working well, it would be convenient to save them to a file. This is done using the Export Macros command on the File menu. Simply select any folder and filename, and the current macro definitions will be written to your file with a ".dat" file type. The exported macros can be read back in to RF Remote using the Import Macros command. This allows you to create different sets of macros for use with different applications. When you launch RD Remote, it will always use the most recent set of macros which had been defined or imported.

Hints and Tips

When using multiple macro Groups, you can easily make any Group the default at startup. Simply create a Global Macro named StartUp. This macro will be automatically executed each time RF Remote is started. Create a MACRO command in the StartUp macro that executes the desired default Group macro. Executing a Group macro makes it the currently active group.

When you define a macro that will generate keystrokes and/or mouse clicks to a window, make sure the desired target application window is open (and not minimized) when you define the macro. This will allow you to pick the target window from a list. If the application is not running, or is minimized, it will not appear in the list of open windows.

RF Remote uses the full path to the executable file to identify the target window. If you have two copies of the application running (for example, two copies of Notepad open), RF Remote will not be able to tell which window should receive keystrokes and mouse clicks. The first matching window found will be selected. It is best to have only one copy of the target application window open.

A macro can generate keystrokes and mouse clicks to only one window. If you need a single macro to generate keystrokes and mouse clicks to more than one window, there is a simple way to do it. Create a separate macro for the keystrokes and mouse clicks to each window. Then create another macro that executes each of the previous macros as MACRO commands. In this way a single macro can control many different windows.

Keep you macro names meaningful. Names like Next and Previous are better than names like Button1 and Button2. If you use the Show feature to display the name of the executing macro on the screen, make sure you keep the macro names short enough to fit on the screen.