THE LOW-COST UNIVERSAL REMOTE FOR YOUR MAC

 

Wouldn't you like to have a remote control for your Apple equipment without the bulkiness of a keyboard, but not so small that it can easily be lost, like the Apple remote control that comes with a Mac Mini? The magic comes from a wireless gamepad and the power little program ControllerMate. Even if you don't play games, you'll see how having a gamepad can make things a little easier. Whereas the Apple Keyboard and Mouse control panel lets you reassign the Option and Command keys on a PC keyboard, ControllerMate gives you authority to take any button press from any recognized device and assign almost any task to it. This tutorial is not meant to be a guide on how to utilize ControllerMate, but rather how to assign a gamepad to control your Macintosh applications. ControllerMate is the program that unleashes the power of your input devices; be it keyboard, gamepad, joystick or the like. If your Mac can recognize it as an input device, you can control it endlessly! ControllerMate can be downloaded from the publisher's website by clicking this link.

A GARAGEBAND REMOTE

Making music with GarageBand involved using keyboard shortcuts, clicking and dragging the mouse, reaching over to press the record button, and of course going back and fourth between playing the instruments. I wanted to use the game pad as a remote control with GarageBand so that I wouldn't be switching so much and could focus more on playing. Now things would be a lot easier using the "remote control".

  Here is the main screen for ControllerMate with the default programming screen. This screen allows you to choose various input and output types. This is also the same area where you'll be doing most of your button programming. To the upper right shows the various devices hooked up to your Mac. Over to the left on the "Controller Types" button, you can see a list of the same devices, then choose which devices you want to show up in the Controllers windowon the right.

 

 

When a button is pressed on the device, the device in the list lights up as so:


   

   

 

The above photos show a close-up of the middle of my wired game pad purchased from Wally World. It's much more useful to purchase a wireless game pad instead so that you're not tied down (although if you throw your game pad in anger when you lose a game, a wired controller may be a better option). Because the start button resembles the play button on recording devices, I'll to assign that to start and stop the playback. I make sure that the controller has been selected in the palette window, then press the START button on the controller itself. ControllerMate tells me that Button #10 is the name of that button by the button glow next to it:

Next I simply click it and drag it over to the programming area:

Now I have to assign an action to that. The spacebar in GarageBand controls the start and stop of playback. From the palette window I select "Outputs" from the drop-down menu and select "Single Key";

then click and drag it over to the main window:

In the Properties menu I can click the Keystrokes Palette button:

This presents us with the keyboard layout:

I can drag the spacebar in the Keyboard Palette over to the Inspector window. The two different keys in the Key window show keystroke down and keystroke up. From the Behavior drop-down menu I can select "One-shot". This is equivalent to pressing then releasing the forward advance button on an iPod and going to the next track (one-shot) instead of holding the same button down resulting in fast-forwarding through the song (press and hold). Holding down the spacebar in GarageBand has no useful effect, which is why I am assigning it as a one-shot.

I'll connect the two together so that pressing Button #10 is equivalent to pressing the spacebar. I can click and drag the green "OFF" button from the Button #10 down to the empty grey oval area in the space keystroke marker, assigning the start button on the controller to the spacebar, bridging the two together:

I'll save the setting, go into GarageBand, then hit the START button on the controller. GarageBand starts playing my composition! In addition you can also set key combinations and sequences. The example below shows that, during gameplay, one button press moves the player ahead 3, right three, left three back to the middle, to the right three again, back one, then ahead three; the common letters on the keyboard for moving forward, back, left and right.

 

 

MULTIPLE APPLICATIONS

What would happen if we were to give FrontRow a more powerful remote? You may mistakenly assign one button to open a file in one program, but in another program that same but may close a file or quit the program altogether. This is where the essential groups and pages come into play.

In a hierarchy fashion similar to lists, groups act like folders and pages act like files. You can create a group and name it for the application it is being used for, then create a page specifically for that application:


 
To be sure that the ControllerMate will only respond to the buttons assignments for the specific application, we select the group and modify the settings in the Inspector window. The name of the group appears and tells us if that group is enabled or not. In the lower window for "Application Requirements" we can choose to have the button assignments enabled all the time, if one or more programs are running or if selected programs are not running. ControllerMate also allows button assignments to be activated if the selected applications are in the foreground, background, or in either location. The plus and minus symbols on the bottom left of that window allow you to add and subtract programs from the list of affected applications. In the previous window I've created one group for Mail and another for GarageBand. The Mail group only works when Mail is running and the GarageBand group only functions when GarageBand is running (below).

 

Now back to working with FrontRow... On the game pad we'll use the back button 5 to scroll up, button 7 to scroll down, and the select button on the front (Button #9) as the play/pause button. With FrontRow, the spacebar and return keys function the same. We start a new page, press each button, then drag them over to the main window:

 

Let's drag three Single Keys in the same area, one button for each function. This time we can drag them directly underneath the button as shown and ControllerMate locks them to the above buttons:

Now we can assign Button #5 to the up-arrow key, Button #7 to the down-arrow key and Button #9 as the Return key. Regarding behavior, Buttons #5 and #7 will be set at Press and Hold (default) so that when we hold each button down, the list of items in FrontRow will gradually scroll through, increasing speed as it does when using the Apple IR remote. Button #9's behavior will be set at one-shot. It's also possible to simply drag a key from the Keyboard palette into the main window to prevent having to program it separately:

Now we have a much larger FrontRow remote; one that is not easily lost.


PRACTICAL APPLICATIONS


Musicians can now control their recording software while they're in a soundproof room and their Mac is in the recording booth. DJs can control playlists when they're away from the mixer. Even you won't have to get up from the couch or dinner table to change songs in iTunes. Essentially, one can even reconfigure a separate keyboard to use entirely new keys and shortcuts with an application, even the Finder. Don't like to use Command + N to create a new file? Change the setup so that pressing Q creates a new file and Command + Q closes the file.

Some applications require constant keyboard input such as word processors, or period keyboard and mouse input like a web browser. Some parts of a controller can be configured to act like as a mouse input, like the controller above, but an actual mouse provides quicker and more accurate controlling. Although ControllerMate's primary design is to allow PC joysticks and flight sticks to work with Macintosh games, lifting the gaming boundaries allows for much more control freedom and n