by Len "Viking1" Hjalmarson
Article Type: How-To
Article Date: May 01, 2002
Product Name: HOTAS Cougar
Release Date: Soon
Min. Spec: USB port, DirectX 8.0, Pentium (or compat.), Win98/2000/ME
Files & Links: Click Here
* * *
Back to Part 1
In Part I we talked about macro files and joystick files, and we walked through the basics of creating each file. While you can use the Cougar as a Windows device or simply download a configuration someone else has made, FOXY is designed to make your own programming relatively painless.
One of the ways that the Cougar facilitates this is by using basic text files. We open and access those files in the Editor, where we make changes by defining macros and assigning them to buttons or hats. This way your stick sends the key you want when you move a button or hat.
As we saw in Part I, the format used by the Cougar is so simple that the entire file could be created in a text editor, so long as you know the format. For example, that HAT1 and HAT2 settings in the joystick file for IL-2 Sturmovik look like this:
BTN H2U LockEnemyAir
BTN H2D LockFrdAir
BTN H2L Padlock_Next
BTN H2R Chaseview
The BTN notation at the beginning of the line simply tells the Cougar what switch or hat is the assignment. You see four button assignments for HAT2. When HAT2 is moved up (H2U) it will send LockEnemyAir (F6 I believe). You can see that with a bit of practice you could make these files by hand. Then you could use Foxy to download the file into the Cougar.
When you click the DOWNLOAD button in Foxy, it compiles the file, turning it into the format read by the Cougar, and then checks the file for errors before loading it into the HOTAS.
No problem for small changes or simple files. But creating long files by hand in a text editor is cumbersome and time consuming. There are too many commands to remember, and you would find yourself also referring constantly to the manual that came with your simulation. Hmm? does ALT SPC drop bombs or drop tanks? Whew!
Thatís one reason why we create a macro file, and use the macro file to create the joystick file.
An even more important reason is that if you were to use a text editor to create your files, or to edit existing files, you would limit what you can do with this powerful system. What I want to do now is to show you how to create configuration files using Foxy. Weíll look first at Korgy and then at the main editor and composer.
KorgyWhen I first loaded up a new version of Foxy two years ago, I was dismayed by the amount of information presented. ďWhy,Ē I thought to myself, ďcanít I just have a virtual keyboard format where I can simply click on the key combination I want, then add a few modifiers if necessary and have the program keep track of my choices and create the file I need?Ē It wasnít long before I discovered that Dr. James Hallows (creator of Foxy) had already thought of this.
In fact, Korgy and the composer are complementary graphical tools that will ease your creation of custom files.
Korgy is one of the main modules of the Foxy suite of program interfaces. Korgy makes the creation of complex programming statements for the HOTAS Cougar as easy as using your keyboard.
There are three main areas on Korgy that you will learn. These are:
Using a combination of all of these areas, you can:
- Controllers and macro generatoron the left hand side.
- The virtual keyboardthe buttons of a typical US QWERTY keyboard.
- The statement text areasthe text regions underneath the virtual keyboard.
This might leave you wondering where you deal with such niceties as reassigning axes. Normally you will use the Cougar Control Panel (CCP) for that task. But you can also assign or reassign axes within your favorite simulation. Weíll leave that subject for later.
- Create button statements directly in the joystick file.
- Create macros.
- Generate complex statements, including KD, KU and USB statements.
What do you do with Korgy?The main function of Korgy is to ensure that you generate the correct key syntax for keyboard keys, as outlined in the Cougar manual. If you have the option of searching in the manual for specific modifiers, or simply pointing and clicking on a virtual keyboard, which would you choose?
To view the correct syntax for any keyboard key, you simply click on the key on the virtual keyboard, and in the ThrustMaster (TM) syntax for this key text area, you'll see the correct TM syntax for that key.
This has all kinds of applications. Letís say that you want to know what the syntax is for the BSP key when you hold down a Shift key at the same time (this is known as a ďchordedĒ keystroke).
Simple. You open Korgy, click on the Shift key, then click the Backspace key. In the TM syntax line SHF BSP appears. Now you know the correct symbols.
|Using KORGY |
Now letís look at the basic features of Korgy and see what we can do with it.
The Statement Text AreasThe statement text areas arenít quite as intuitive as some other features of Korgy, but they are functional and important. As we move through the use of these areas to create a joystick file, youíll understand how quickly you can create a configuration file for your controllers.
When you first use Korgy, there are two text areas visible. The top one is the TM syntax for this key text area which shows the correct TM keyboard syntax for any key you click on the virtual keyboard. The bottom one is the statement text area, and it is area you will learn to work in.
The reason for this is that when you insert statements created from Korgy, and only complex or macro statements can be created in this area, then when you use the Insert button beside the statement text area, Foxy will colour highlight the statement and insert it into the currently selected file. Why is the line colour important? Weíll come to that a bit later.
Letís consider how to get the same statement we had in Part I into a joystick file using Korgy. Remember that in Part I we used an example from IL-2. In IL-2 ALT SPACE tells the program to release a bomb from your aircraft, and F1 tells the program to place you in the forward cockpit view.
Release_Bomb = ALT SPC
Forward_view = F1
These two statements look like the above in a macro file. But how do we create them without editing a text file?
First, click on the Macro tab on the left side of the screen in Korgy. Then click on the down arrow on the right side of the macro selection box to see if the macro you want is already in the list. If it isnít there, you simply type it into the box.
Letís say I was creating a Macro for use in Microsoft Space Simulator. I might want a command line like ďopen outer door.Ē No problem…I select the box and type it in the space.
Since we are working with a more typical command, it is in fact already there for us and we can simply select it from the list as you see in the next image.
|Select macro name |
As soon as I release the mouse button Release_Bomb = appears in the statement text area at the bottom of the Korgy interface.
I know from the IL-2 manual that ALT + SPACEBAR will result in bomb release, so I only need to input those keys on the Korgy keyboard. I click on the ALT HELD button, then on the Spacebar, and then on the Paste button and the key commands appear beside the macro in the statement text window (See Figure 1). Clicking on the INSERT button to the right of the window places the macro in the macro file window in Foxy (See Figure 2).
|Figure 1 |
|Figure 2 |
If we didnít have a template to work with, and if we were not editing an existing ThrustMaster file, then we would normally repeat the above process many times to create a macro file. In this case, letís move on to talk about a more advanced option, which is assigning modifiers to a particular command. Korgy makes this a snap.
Working with ModifiersThere are a large variety of modifiers available to the Cougar user, including command modifiers and slash modifiers. Command modifiers, like Press and Release, Hold, Auto Repeat, Toggle and more, take a keyboard command and make it function differently than a single keypress. Slash modifiers, and there are ten available, increase the number of programmable positions for each button and hat on the Cougar.
Now letís say that you really want button S2 to function as a pickle button, so that in normal flight hitting S2 will release external ordnance. But letís say that you also want S2 to function as your cannon. How do you choose which function to assign to S2?
Luckily, you donít have to choose. You can have both.
The way that we do this is by using a slash modifier. The simplest way is to assign switch S3 on the joystick to work like a shift key, doubling all the key positions on both the joystick and throttle. If you assign S3 to do this work for you, then any time you hold in switch S3 while pressing another switch, you are accessing a second command level. Press S2 without pressing S3, and you get cannons; press S2 while holding S3 and you get bomb release. This is how I have my old TM F22 Pro joystick setup for IL-2 at the moment. Letís look at how this would work with Korgy.
The modifiers are all explained in the Cougar manual. All we need to know for now is that the /O modifier tells Foxy that this command is issued normally, without S3 depressed. The /I modifier tells Foxy that this command is issued when S3 is depressed.
First, I find the Cannons macro in the list, and it pops up in the statement text area. Next, I select the /O box below the statement text area and I click the box. This causes the /O statement to appear in the window. I check my IL-2 key card and find that Backspace is the command to fire cannons, so I click on the Back button on the virtual keyboard, and it appears in the syntax key window. I use the PASTE button to insert the key into the statement text window, and the INSERT button to the right of the window records the statement in the macro file.
|Adding the Cannons macro |
Now letís look at another example. The programming flexibility of the Cougar is such that you can do things with it that you canít even do with a keyboard!
|Assign a mouse button |
What if I want to assign mouse functions to a key or hat on the Cougar? I simply click on the L, M and R boxes in turn and as they appear in the ThrustMaster syntax window, then I use the INSERT button to paste them into the macro file I am building. Later I can use Foxy to assign these functions to any button or hat on the Cougar. If I already know that I want HAT1 Up to be a left mouse click, I can assign it now like this:
First, I click the Controllers tab to bring up the image of the Cougar joystick. Next, I click on Hat1 and select H1U.
Then I click on the L mouse button at the right of the Korgy interface, and finally I click INSERT and the command is placed into my joystick file. Notice that we have moved from working with macros to working directly with the joystick file in this last example.
|Select button assignment |
After we have created our macro file, or if we are working with a macro file supplied by ThrustMaster or another user, we can move to the composer interface. The composer is a window consisting of several tabs to help you in developing your files. Although Foxy is a text editor, ThrustMaster wanted a graphical representation of the Cougar hardware that would aid users in developing files and reduce the amount of spent using the manuals.
|The Composer |
In the next article, weíll look at Foxyís composer.
Related COMBATSIM Resources:
Home of the VMF-124 Death's Head Squad