Basic Map Programming Techniques
This section covers the basic techniques for creating a new Control
Manager map and discusses some of the things that need to be considered
when creating a map.
Map Types
Before beginning a new map, you'll need to decide which type of map
you need to created. Maps generally fall into one of two categories,
"Direct" or "Combined". The type you'll need to use is usually dictated
by the game for which the map is intended.
"Direct" Maps
In a "Direct" map, each of your controllers will have a corresponding
Control Manager Device in the Windows Game Controllers Applet. The
Control Manager Device will have the same axes and buttons as the
actual controller and there will be a one-for-one relationship between
them. This type of map is suitable for games that can recognize more
than a single controller. Many later games have this capability.
When a game does support using multiple controllers, the Direct map
is generally preferred as it allows maximum utilization of in-game
functions by allowing all of the axes and buttons on all of your
controllers to be seen by the game. This reduces the amount of
programming required to produce the map, with some games no further
programming in the map is required, the buttons and axes can be assigned
in the game itself.
Using a Direct map is very similar to running the Control Manager
in Direct Mode with no map at all. In its simplest form, the most
obvious difference is that the devices that Windows sees will be
Control Manager Devices rather than being shown under their normal
names (FighterStick, Yoke LE, etc.).
It does have other advantages, though. First, it give you control over
which Control Manager Device will be "Joystick #1", which will be
"Joystick #2", etc. In Direct Mode, the ordering will be determined
by Windows based on how the devices show up at Windows start and that
can create problems for some games.
Using a Direct map also gives you access to all three program Modes
and the Shift Button functions, so you can increase the number of
assignable controls in the game. For example, if you're using a
Flightsim Yoke USB, you can set aside one buttons as the Shift button,
then assign the unshifted side of the other eleven buttons on the yoke
to the first eleven buttons on the Control Manager device and the shifted
side of those same 11 buttons to buttons 12 through 22 on the Control
Manager device. This gives you 22 available buttons in the game as
opposed to the 12 available in Direct Mode.
"Combined" Maps
The second type of map is one in which several devices are combined
to form a single virtual controller in Game Controllers. This is the
type of map that's necessary for games that only support Joystick #1
and you want to combine your primary controller with a throttle and/or
pedals to get full functionality from your control system.
In this type of map, all assignments are made to a control on "CM Device 1"
regardless of which controller they're on. Buttons that aren't assigned
to "CM Device 1" are either programmed to send characters or to do
nothing at all.
For example, if you have a FighterStick, ProThrottle, and ProPedals, you
can combine them into a "Control Manager Device 1" that includes the
X and Y axes from the stick, the Z (throttle) axis from the ProThrottle,
and the R (rudder) axis from the ProPedals resulting in a basic 4-Axis
controller that will work with virtually any game.
Combined Maps are most easily created by using the Map Wizard to create
the map in the first place, or by using the Controller Wizard to combine
the devices manually. While you can certainly create a combined map
by manually assigning all the controls on your controllers, if you use
the one of the Wizards it will make the most common assignments for
you. It will also set unused axes and buttons to Programmed Mode (but
not programmed to do anything). This saves a lot of switching of modes
when it comes time to fill in the functions that can't be mapped through
directly.
Control Manager Scripting
As noted earlier, the Control Manager includes a scripting facility
(CMS) that advanced users can access to create complex functions that
can't be achieved using only the GUI. The CMS requires some basic
understanding of programming concepts and a good understanding of how
the Control Manager itself functions. If you're just starting out with
Control Manager maps, it's recommended that put off the scripting until you
have a good understanding of how the system operates. In most cases
you'll find that you can accomplish what you want without the CMS.
If you do decide you need to use the CMS, be sure to read the section
on CMS Scripting for complete descriptions of the functions available.
Basic Map Creation
Once you've decided which type of map you need to create and whether
you want to use the CMS, you're ready to begin the map creation process.
The first step is to create the basic map itself. By far, the easiest way
to do this is to use the Map Wizard. It will lead you through
the creation process requiring only a few mouse clicks and when it's
done you'll have a basic working map to start from.
You can also create the map manually by repeatedly using the
Add Button to add each of your controllers to the map. If you
want to create a Combined map, you can use the
Controller Wizard once the devices have been added
to make the basic assignments automatically. Again, the end result
will be a basic working map to start from.
Assigning Functions
Beyond the creation of the basic map, what the controls will do is
up to you. Regardless of whether you created a Direct or a Combined
map, any of the axes and buttons on your controllers can be assigned
or reassigned to do whatever it is you want to do. Nothing is "cast
in stone" as a result of the initial creation. If you've used one
of the Wizards to create the map and don't care for the assignments
that it made, you can manually move them around, assign characters
to them, even move them to different Control Manager Devices if
necessary. It's entirely up to you. Simply select the controller
and the specific control in the Selection Pane, then make whatever
assignment you want to in the Dialog Pane.