JNOV
27-01-2004, 03:39 PM
I am in the planning stage of implementing an application that runs in the background and provides feedback from CH HOTAS devices. There are any number of situations in when I have wanted such an application in the past. For example, in a WWII flight sim, I might program modes for different combinations of guns, cannons, rockets, bombs, etc. I might create a program that changes the stick sensitivity on-the-fly (e.g., one setting for landing, one for taxiing, one for cruise, one for dogfighting, etc.). My program might allow me to cycle through a number (e.g., 10) zoom levels. In any of those cases, it might be nice to be able to see what "mode" the HOTAS is currently in. Or you might just like a real-time display of the values that DirectX is receiving for the various axes that you are using to control the game. There are myriad possibilities. (For a number of reasons, the three LEDs on the Fighterstick and Pro Throttle are inadequate. For starters, they are hardwired to the forefinger button and ministick button, respectively, and are thus totally inflexible.)
Due to the wonderful flexibility of Control Manager and CMS, it is a simple manner to devise a scheme that allows the HOTAS to communicate with the background application without impinging on or interfering with the HOTAS's primary mission--communicating with the game application. Moreover, the information that the HOTAS can send to the background application is limited only by the HOTAS's memory.
There are two general classes of communications from the HOTAS to the background application that I am planning right now. The first is simply a command code, to which the background application responds in a predefined way. There can be any number of these command codes, each of which represents a different HOTAS state and prompts a separate feedback indication from the background application. The other class of communication is strings. The HOTAS simply sends a text string (i.e., "80% Zoom") that the background application relays to the user. Depending on the form of feedback, the text string may have embedded control characters to control positioning, font, etc.
The trickiest part is deciding on a means for the background application to provide feedback to the user. The slickest solution would be if everyone had a dual-monitor set-up and all game applications allowed use of the second monitor. Sadly, I don't think that this solution is practical right now. Nonetheless, there are several options that I an considering, each of which has advantages and disadvantages.
1. Sound. The user would create .wav files that would provide useful feedback. For example, the user could simply record his own voice saying things like "Zoom 10%," "Gear down," "Stick sensitivity dogfight," etc. The background application would then be configured to play the appropriate .wav files upon receiving the corresponding command codes from the HOTAS.
2. Display overlay. The background application would create a feedback display (similar to the FRAPs frame-rate display) in some unotrusive location on the game display. The feedback display could be responsive to either command codes or text strings from the HOTAS. This is more flexible than the sound option and offers persistence, although the dispaly area will be quite limited.
3. Separate display. This option probably affords the most flexibility, but it requires an extra bit of hardware. There are a number of inexpensive USB/serial LCD displays available from companies like Crystalfontz (www.crystalfontz.com). The background application could send feedback information to such a display, responsive to either or both of command codes or text strings. Depending on the type of LCD, graphics would be available.
Anyway, I am interested in any feedback, be it criticism (i.e., that is a stupid idea), suggestions, or comments.
Thanks!
- JNOV
Due to the wonderful flexibility of Control Manager and CMS, it is a simple manner to devise a scheme that allows the HOTAS to communicate with the background application without impinging on or interfering with the HOTAS's primary mission--communicating with the game application. Moreover, the information that the HOTAS can send to the background application is limited only by the HOTAS's memory.
There are two general classes of communications from the HOTAS to the background application that I am planning right now. The first is simply a command code, to which the background application responds in a predefined way. There can be any number of these command codes, each of which represents a different HOTAS state and prompts a separate feedback indication from the background application. The other class of communication is strings. The HOTAS simply sends a text string (i.e., "80% Zoom") that the background application relays to the user. Depending on the form of feedback, the text string may have embedded control characters to control positioning, font, etc.
The trickiest part is deciding on a means for the background application to provide feedback to the user. The slickest solution would be if everyone had a dual-monitor set-up and all game applications allowed use of the second monitor. Sadly, I don't think that this solution is practical right now. Nonetheless, there are several options that I an considering, each of which has advantages and disadvantages.
1. Sound. The user would create .wav files that would provide useful feedback. For example, the user could simply record his own voice saying things like "Zoom 10%," "Gear down," "Stick sensitivity dogfight," etc. The background application would then be configured to play the appropriate .wav files upon receiving the corresponding command codes from the HOTAS.
2. Display overlay. The background application would create a feedback display (similar to the FRAPs frame-rate display) in some unotrusive location on the game display. The feedback display could be responsive to either command codes or text strings from the HOTAS. This is more flexible than the sound option and offers persistence, although the dispaly area will be quite limited.
3. Separate display. This option probably affords the most flexibility, but it requires an extra bit of hardware. There are a number of inexpensive USB/serial LCD displays available from companies like Crystalfontz (www.crystalfontz.com). The background application could send feedback information to such a display, responsive to either or both of command codes or text strings. Depending on the type of LCD, graphics would be available.
Anyway, I am interested in any feedback, be it criticism (i.e., that is a stupid idea), suggestions, or comments.
Thanks!
- JNOV