|
|
|
#3155636 - 12/12/10 04:23 PM
Speedbrake switch
|
Junior Member
Registered: 12/11/10
Posts: 10
Loc: Argentina
|
I'm trying to make the speedbrake in Warthog work as I had it in my Cougar with Foxy, on Falcon (AF & OF). When pressing SPDF, I toggle the speedbrakes, so they stay fully opened while the switch is locked forward. They toggle back when I release it. That works well. But when pressing SPDB, I want it to hold Shf+B so the brakes open until I release the switch, and stay opened (not fully though). Then, when I press it again, I want it to hold Ctl+B so the brakes close. I can't get it to work, it opens and closes the brakes fully, as if I just pressed B... This is my code:
// Speedbrake (just below the MIC Switch)
// Press
MapKeyIOUMD(&Throttle, SPDF,
PULSE+Ckpit_AirBrakesToggle, PULSE+Ckpit_AirBrakesToggle,
PULSE+Ckpit_AirBrakesToggle, PULSE+Ckpit_AirBrakesToggle,
PULSE+Ckpit_AirBrakesToggle, PULSE+Ckpit_AirBrakesToggle);
// Release
MapKeyRIOUMD(&Throttle, SPDF,
PULSE+Ckpit_AirBrakesToggle, PULSE+Ckpit_AirBrakesToggle,
PULSE+Ckpit_AirBrakesToggle, PULSE+Ckpit_AirBrakesToggle,
PULSE+Ckpit_AirBrakesToggle, PULSE+Ckpit_AirBrakesToggle);
MapKeyIOUMD(&Throttle, SPDB,
SEQ( Ckpit_AirBrakesOpen, Ckpit_AirBrakesClose), SEQ( Ckpit_AirBrakesOpen, Ckpit_AirBrakesClose),
SEQ( Ckpit_AirBrakesOpen, Ckpit_AirBrakesClose), SEQ( Ckpit_AirBrakesOpen, Ckpit_AirBrakesClose),
SEQ( Ckpit_AirBrakesOpen, Ckpit_AirBrakesClose), SEQ( Ckpit_AirBrakesOpen, Ckpit_AirBrakesClose));
MapKeyIOUMD(&Throttle, SPDM,
0, 0,
0, 0,
0, 0);
I've also tried without the last lines (the SPDM ones), and it works exactly the same. On Foxy I have:
BTN T9 /T /H Ckpit-Air_brakes_open /T /H Ckpit-Air_brakes_close
BTN T10 /P Ckpit-Air_brakes_toggle /R Ckpit-Air_brakes_toggle
And it works flawlessly... Please help!
|
|
Top
|
|
|
|
#3155827 - 12/12/10 11:30 PM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Member
Registered: 07/02/05
Posts: 1503
|
Wow. If it works for you, great. But what you're trying to do would confuse/annoy the hell out of me.  I prefer the standard behavior. (pull back to progressively open, push forward to progressively close, no function in middle)...and it annoys me that this isn't possible in FC. I'll give it some thought, but I'm a bit tied over the next day or two....and don't have falcon installed to test with right now.
Edited by Teej (12/12/10 11:33 PM)
|
|
Top
|
|
|
|
#3155833 - 12/12/10 11:48 PM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Member
Registered: 07/02/05
Posts: 1503
|
The following doesn't have your macros loaded, but I just wanted to see if it worked in text mode...and it seems to.
MapKey(&Throttle, SPDF, PULSE+'T');
MapKeyR(&Throttle, SPDF, PULSE+'T');
MapKey(&Throttle, SPDB, SEQ( 'O', 'C'));
With that I get a "T" when I push the switch forward and release it from forward. (toggle) Pulling back I get a bunch of "O" or "C" (open, close) as would fit your description for how you want your brakes to work. (If you're not using the IOUMD layers on that switch, it's OK to just use mapkey and make it easier to read/write). T
|
|
Top
|
|
|
|
#3155849 - 12/13/10 12:23 AM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Junior Member
Registered: 12/11/10
Posts: 10
Loc: Argentina
|
In the analizer works fine, but in Falcon it doesn't... I used to have the same problem with the Cougar and Foxy some 5 years ago, but I can't remember how I solved it 
|
|
Top
|
|
|
|
#3155882 - 12/13/10 03:29 AM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Member
Registered: 09/18/10
Posts: 103
Loc: France
|
In AF, you can't precisly control the airbrake position, it fully opened or closed, at least from what i know. the command use for this are L_SHIFT+'b' and L_CTL+'b'.
Can't test in OF yet.
following you request, the right code for SPDB should be:
MapKey(&Throttle, SPDB, SEQ(L_SHIFT+'b',L_CTL+'b'));
But as the keystroke order fully open and fully close... sounds not possible.
I AF, it's also not possible to control the Airbrake with an axis, this could have been an alternate solution. In this case we could have programmed the SPDB to trim the axis sequentially.
_________________________
Guillaume "Dimebug" Leleve
|
|
Top
|
|
|
|
#3156063 - 12/13/10 11:34 AM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Member
Registered: 07/02/05
Posts: 1503
|
Nope, definitely works in AF to have brakes partially open - I know at one point I was telling people to use half-brakes for refueling to make the plane more responsive to power changes.
I don't think there was anything special about it in this particular regard, but I was using Jagstang's profile / keymaps.
|
|
Top
|
|
|
|
#3156203 - 12/13/10 02:37 PM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Member
Registered: 07/02/05
Posts: 1503
|
OK...did a little bit of testing. I can make the brakes work as they should in AF with the Warthog but it's not quite so straightforward. I think I can make it work the way you want it to also, Nesher, but I'm not positive on that.
In short it has to do with how TARGET handles multi-key commands (ie shift-b). What TARGET is doing when you release the control is releasing the keys in the same order they were pressed...so for a lshft-b, it releases the left shift key, then releases the b key. That's why their default AF profile doesn't work right.
I just did a test making the 'press' event for the fore/back movement of the speedbrake switch be the shift-b or ctrl-b command with a 'press' function....then I made 2-step 'release' events that released the 'b', then the ctrl or shift...and it works as it should (although not the way Nesher wants yet - haven't tried that setup).
In practice this would have to be done in script rather than in the GUI, because you'd want to put some commands/delays/flags/whatever in so that after the SPDF had been held for sufficient seconds, it would release the keypress anyway.
Edited by Teej (12/13/10 02:40 PM)
|
|
Top
|
|
|
|
#3156249 - 12/13/10 03:27 PM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Junior Member
Registered: 12/11/10
Posts: 10
Loc: Argentina
|
Teej wrote: Wow. If it works for you, great. But what you're trying to do would confuse/annoy the hell out of me Well, in fact it's not that confusing. When the speedbrake switch is locked forward, I know my brakes are fully opened. And if I need my brakes to partially open, I can press back on the speedbrake switch. After that, it would be logical to close them, so another push back on the speedbrake switch closes them. Dimebug wrote: In AF, you can't precisly control the airbrake position, it fully opened or closed, at least from what i know. the command use for this are L_SHIFT+'b' and L_CTL+'b'.
That is not accurate at all. While holding down the L_SHIFT+b, the brakes open, and when you release the keys they stop opening. The same happens with L_CTL+b. I have those same keys mapped for Ckpit_AirBrakesOpen and Ckpit_AirBrakesClose on my Macro file. In OF it works exactly the same. Teej wrote: In short it has to do with how TARGET handles multi-key commands (ie shift-b). What TARGET is doing when you release the control is releasing the keys in the same order they were pressed...so for a lshft-b, it releases the left shift key, then releases the b key. That's why their default AF profile doesn't work right.
Mmmm... that sounds about right! If I recall correctly now, I had the same problem with the Cougar and Foxy because of this, so I assigned different keystrokes for opening and closing the brakes, which were simple keys, not combined with Shift or Control. And then a firmware update fixed that issue! So, with Target's enhanced programmability ( is that a word?  ), I wouldn't need to change the keystrokes in the sim, I think I could make it work like this:
MapKeyIOUMD(&Throttle, SPDB,
SEQ(CHAIN(DOWN+L_SHIFT,D(50),DOWN+'b',D(50),UP+'b'),
CHAIN(DOWN+L_CTL,D(50),DOWN+'b',D(50),UP+'b')),
SEQ(CHAIN(DOWN+L_SHIFT,D(50),DOWN+'b',D(50),UP+'b'),
CHAIN(DOWN+L_CTL,D(50),DOWN+'b',D(50),UP+'b')),
SEQ(CHAIN(DOWN+L_SHIFT,D(50),DOWN+'b',D(50),UP+'b'),
CHAIN(DOWN+L_CTL,D(50),DOWN+'b',D(50),UP+'b')),
SEQ(CHAIN(DOWN+L_SHIFT,D(50),DOWN+'b',D(50),UP+'b'),
CHAIN(DOWN+L_CTL,D(50),DOWN+'b',D(50),UP+'b')),
SEQ(CHAIN(DOWN+L_SHIFT,D(50),DOWN+'b',D(50),UP+'b'),
CHAIN(DOWN+L_CTL,D(50),DOWN+'b',D(50),UP+'b')),
SEQ(CHAIN(DOWN+L_SHIFT,D(50),DOWN+'b',D(50),UP+'b'),
CHAIN(DOWN+L_CTL,D(50),DOWN+'b',D(50),UP+'b')));
MapKeyRIOUMD(&Throttle, SPDB,
CHAIN(UP+L_CTL,UP+L_SHIFT), CHAIN(UP+L_CTL,UP+L_SHIFT),
CHAIN(UP+L_CTL,UP+L_SHIFT), CHAIN(UP+L_CTL,UP+L_SHIFT),
CHAIN(UP+L_CTL,UP+L_SHIFT), CHAIN(UP+L_CTL,UP+L_SHIFT));
Does it look ok? I'll try later when I arrive home where I have the Warthog and the TARGET programming software and let you know 
Edited by Nesher_ECV56 (12/13/10 03:32 PM)
|
|
Top
|
|
|
|
#3156280 - 12/13/10 04:00 PM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Member
Registered: 07/02/05
Posts: 1503
|
Teej wrote: Wow. If it works for you, great. But what you're trying to do would confuse/annoy the hell out of me Well, in fact it's not that confusing. When the speedbrake switch is locked forward, I know my brakes are fully opened. And if I need my brakes to partially open, I can press back on the speedbrake switch. After that, it would be logical to close them, so another push back on the speedbrake switch closes them. Sounds like I steered you on the right track at least. As I said, I'd never want to sound like I'm forcing you to change what you're doing. My logic is "back = slow, forward = fast". Thus, pulling back on the brakes to open 'em, pushing forward to close 'em. Pull back on the flaps switch to lower, forward to raise. In FC2, I use the pinky switch for the gear....you guessed it...back to lower, forward to raise.  If I felt the switch in the middle, I figured I probably had the brakes partially open. Pushed forward, I always knew they were closed.  Contrary to your style, I often (in AF, at least) wanted to move the brakes partially from where they were. Open them a bit further, close them a little bit, etc.
Edited by Teej (12/13/10 04:01 PM)
|
|
Top
|
|
|
|
#3156285 - 12/13/10 04:03 PM
Re: Speedbrake switch
[Re: Nesher_ECV56]
|
Veteran
Registered: 04/05/02
Posts: 17733
Loc: Bridgewater, NJ
|
Why not just remap the speedbrake keys in-game to single keypresses (not chorded with SHF, CTRL, etc.), or better yet to DirectX button presses? These sorts of problems are why it is always a good idea to remap any buttons that will be held to in-game mappings that use DirectX buttons, not keyboard keystrokes. It will be so much easier that way; the code will be significantly less complex and there shouldn't be any troubleshooting required.
|
|
Top
|
|
|
|
|
|
| |