Jump to content
The simFlight Network Forums

newbie with WideFS, FSUIPC keey programming.


Recommended Posts

Hi,

I installed WideFS, no probs with the install or running of it but would like to add some advanced functions,, I've tried and tried with no real luck.

1. Is there a way to start a program via actions from wideserver via action button from wide client ?

I have: Action1=E:\AIBridge_V2\AIBridge.exe on server w/no luck.

2. I would like to remap just the keyboard buttons for FS that I use so that I can use one keyboard for FS and typing in the SB text entry.

Ive tried using button 9 on joystick to set flag and also set RW to transmit and SB Key.dll to active, once the flag is set i would like to send the key commands from the server keyboard to SB. Once return is keyed it would turn off flag and return to mapped FS commands and turn off transmit for RW. No probs with the RW part but the SB will not respond to any commands from client except for getting the SBkey.dll to activate.

For example I set FSUIPC keys as a keysend 1=65,8,1006,4 to send the letter "A" to an active SB dialog ( via SBkey.dll ) Action keys=yes and the entry in client is KeySend4=65,8 without flags and such.. No go...

I am not a programmer in any way other than XML...

Is the above things even possible ???

Thanx in advance,

Roman

Link to comment
Share on other sites

Hi,

I installed WideFS, no probs with the install or running of it but would like to add some advanced functions,, I've tried and tried with no real luck.

1. Is there a way to start a program via actions from wideserver via action button from wide client ?

I have: Action1=E:\AIBridge_V2\AIBridge.exe on server w/no luck.

2. I would like to remap just the keyboard buttons for FS that I use so that I can use one keyboard for FS and typing in the SB text entry.

Ive tried using button 9 on joystick to set flag and also set RW to transmit and SB Key.dll to active, once the flag is set i would like to send the key commands from the server keyboard to SB. Once return is keyed it would turn off flag and return to mapped FS commands and turn off transmit for RW. No probs with the RW part but the SB will not respond to any commands from client except for getting the SBkey.dll to activate.

For example I set FSUIPC keys as a keysend 1=65,8,1006,4 to send the letter "A" to an active SB dialog ( via SBkey.dll ) Action keys=yes and the entry in client is KeySend4=65,8 without flags and such.. No go...

I am not a programmer in any way other than XML...

Is the above things even possible ???

Thanx in advance,

Roman

Link to comment
Share on other sites

Is there a way to start a program via actions from wideserver via action button from wide client ?

Not sure what you mean. There are some Menu facilities to do something like that, little used if at all for many years.

I have: Action1=E:\AIBridge_V2\AIBridge.exe on server w/no luck.

But have you defined the Actions with names for the WideClient menu, as documented?

If you always want to load AIBridge on the server, why not use the Run Program facilities in FSUIPC or WideServer?

I would like to remap just the keyboard buttons for FS that I use so that I can use one keyboard for FS and typing in the SB text entry.

Sorry, I don't fully understand that either. You mean you have SB running on the server, or is it on the Client? Surely the big advantage of having it on the Client is that it has its own keyboard and avoids conflict and possible focus loss on the FS PC?

Ive tried using button 9 on joystick to set flag and also set RW to transmit and SB Key.dll to active, once the flag is set i would like to send the key commands from the server keyboard to SB. Once return is keyed it would turn off flag and return to mapped FS commands and turn off transmit for RW. No probs with the RW part but the SB will not respond to any commands from client except for getting the SBkey.dll to activate.

Not being an SB user at all I'm lost here. Sorry. I hope someone else can jump in. Are you programming KeySends in the Client to send keystrokes to SB?

There's no facility to turn FSUIPC's keyboard interception on and off, so your idea of having the keyboard in two modes won't work that way. For each key you program for SB or whatever you'll have to assign the regular FS control to it as well, when the flag is off. All the controls you can use in FS are assignable in FSUIPC too, but once FSUIPC is told to intercept a key, it intercepts it.

For example I set FSUIPC keys as a keysend 1=65,8,1006,4

You mean you assign keypress A to Keysend with a parameter of 1 in the Keys page? You aren't trying to edit the INI file directly for this, are you? There's no need.

to send the letter "A" to an active SB dialog ( via SBkey.dll )

This is where you lose me again. What's "SBkey.dll" and where is it running? What do you mean "via". Doesn't SB in the Client accept keystrokes?

Pete

Link to comment
Share on other sites

Is there a way to start a program via actions from wideserver via action button from wide client ?

Not sure what you mean. There are some Menu facilities to do something like that, little used if at all for many years.

I have: Action1=E:\AIBridge_V2\AIBridge.exe on server w/no luck.

But have you defined the Actions with names for the WideClient menu, as documented?

If you always want to load AIBridge on the server, why not use the Run Program facilities in FSUIPC or WideServer?

I would like to remap just the keyboard buttons for FS that I use so that I can use one keyboard for FS and typing in the SB text entry.

Sorry, I don't fully understand that either. You mean you have SB running on the server, or is it on the Client? Surely the big advantage of having it on the Client is that it has its own keyboard and avoids conflict and possible focus loss on the FS PC?

Ive tried using button 9 on joystick to set flag and also set RW to transmit and SB Key.dll to active, once the flag is set i would like to send the key commands from the server keyboard to SB. Once return is keyed it would turn off flag and return to mapped FS commands and turn off transmit for RW. No probs with the RW part but the SB will not respond to any commands from client except for getting the SBkey.dll to activate.

Not being an SB user at all I'm lost here. Sorry. I hope someone else can jump in. Are you programming KeySends in the Client to send keystrokes to SB?

There's no facility to turn FSUIPC's keyboard interception on and off, so your idea of having the keyboard in two modes won't work that way. For each key you program for SB or whatever you'll have to assign the regular FS control to it as well, when the flag is off. All the controls you can use in FS are assignable in FSUIPC too, but once FSUIPC is told to intercept a key, it intercepts it.

For example I set FSUIPC keys as a keysend 1=65,8,1006,4

You mean you assign keypress A to Keysend with a parameter of 1 in the Keys page? You aren't trying to edit the INI file directly for this, are you? There's no need.

to send the letter "A" to an active SB dialog ( via SBkey.dll )

This is where you lose me again. What's "SBkey.dll" and where is it running? What do you mean "via". Doesn't SB in the Client accept keystrokes?

Pete

Link to comment
Share on other sites

Pete,

Hope you had a good vacation/ holiday.. :-)

I have got it working :-) The AI bridge I have working now... I am writing the authors of SB and SBKey.dll to get the class names so I can get a better descriptor for the keysend on client.. BTW SBKey.dll is a keygrab type thingy which activates the SB input field.. That part is working. ( activating SBey.dll via wideclient ) I experimented a bit with flags also and got that working. The reason why I am doing this is the lack of physical space for 2 keyboards. ( my virtual cockpit is the size of a 1 - hole outhouse :lol: )

I mapped only the FS keyboard functions I use.. Slew, parking brake and pause into FSUIPC keys. Removed all the keyboard entries of FS2002.cfg then modified the server.ini so those (FSUIPC keys) only work when the joy button 9 flag is off. By pressing button 9 on joystick activates RW to on, activates SBKey.dll, and sets the button 9 flag so when I type on the keyboard the letters/numbers will go to SB on the client. ( It's alot of mapping I know :-) ) Then by hitting "enter" will turn off RW xmit then enter the text into the SB field and then turn off the button 9 flag. The experiments I did shows it does work but the keysends are not going to SB. ( I mapped them to do other things during the experiment ) Hopefully by getting the class names will get it going properly.

Keep up the great work.. You're a great asset to all us simmers.

Thanks,

Roman

Green Bay, WI USA

Link to comment
Share on other sites

Pete,

Hope you had a good vacation/ holiday.. :-)

I have got it working :-) The AI bridge I have working now... I am writing the authors of SB and SBKey.dll to get the class names so I can get a better descriptor for the keysend on client.. BTW SBKey.dll is a keygrab type thingy which activates the SB input field.. That part is working. ( activating SBey.dll via wideclient ) I experimented a bit with flags also and got that working. The reason why I am doing this is the lack of physical space for 2 keyboards. ( my virtual cockpit is the size of a 1 - hole outhouse :lol: )

I mapped only the FS keyboard functions I use.. Slew, parking brake and pause into FSUIPC keys. Removed all the keyboard entries of FS2002.cfg then modified the server.ini so those (FSUIPC keys) only work when the joy button 9 flag is off. By pressing button 9 on joystick activates RW to on, activates SBKey.dll, and sets the button 9 flag so when I type on the keyboard the letters/numbers will go to SB on the client. ( It's alot of mapping I know :-) ) Then by hitting "enter" will turn off RW xmit then enter the text into the SB field and then turn off the button 9 flag. The experiments I did shows it does work but the keysends are not going to SB. ( I mapped them to do other things during the experiment ) Hopefully by getting the class names will get it going properly.

Keep up the great work.. You're a great asset to all us simmers.

Thanks,

Roman

Green Bay, WI USA

Link to comment
Share on other sites

I am writing the authors of SB and SBKey.dll to get the class names so I can get a better descriptor for the keysend on client

I you have WideClient loading the program for you you shouldn't need the Class Names as it can determine the correct window -- assuming you are using the latest WideFS, that is. Use Run or RunReady.

.. BTW SBKey.dll is a keygrab type thingy which activates the SB input field.. That part is working. ( activating SBey.dll via wideclient )

How do you activate a DLL from WideClient? I can only load EXEs.

The experiments I did shows it does work but the keysends are not going to SB. ( I mapped them to do other things during the experiment ) Hopefully by getting the class names will get it going properly.

Hmmm. The normal method WideFS uses is by replaying recorded events. You can also try PostKeys. But both effectively send WM_KEYDOWN and KEYUP messages. If SB is reading the keyboard by more direct methods, not by processing messages, then it will be a problem.

Pete

Link to comment
Share on other sites

I am writing the authors of SB and SBKey.dll to get the class names so I can get a better descriptor for the keysend on client

I you have WideClient loading the program for you you shouldn't need the Class Names as it can determine the correct window -- assuming you are using the latest WideFS, that is. Use Run or RunReady.

.. BTW SBKey.dll is a keygrab type thingy which activates the SB input field.. That part is working. ( activating SBey.dll via wideclient )

How do you activate a DLL from WideClient? I can only load EXEs.

The experiments I did shows it does work but the keysends are not going to SB. ( I mapped them to do other things during the experiment ) Hopefully by getting the class names will get it going properly.

Hmmm. The normal method WideFS uses is by replaying recorded events. You can also try PostKeys. But both effectively send WM_KEYDOWN and KEYUP messages. If SB is reading the keyboard by more direct methods, not by processing messages, then it will be a problem.

Pete

Link to comment
Share on other sites

Pete,

The SBKey.dll has a adjustable field through a SB menu where you can describe what key will activate it. ( the .dll loads w/ SB ) Sorry, maybe my choice of words of describing what happens isn't proper. Also, as you said before you haven't had very much experience with sqwaukbox. Anyway, I have selected the "insert" (client) key to get the sqwaukbox text entry field active.

Doesn't SB in the Client accept keystrokes? (Previous reply)

No it does not, even when focus is on the field.. Your wrote in the "WideFS.doc"

Directing Key Strokes more precisely

If the application that is to receive the keystroke is not a child window of Flight Simulator (i.e. of WideClient, which is substituting for FS in this case), the Windows keyboard focus may not allow the assigned keystroke to reach it. In this case you need to add another parameter, or maybe two, to each KeySend line, identifying the program to receive it.

If the program is one you are having WideClient load, using the Run or RunReady parameters, then the additional parameter can simply be the name of the parameter you used. For example:

KeySend1=65,9,Run1

and KeySend1=66,9,RunReady2

However, if it is a program being run separately then you will need more information about that program, in particular the program’s main Window class name, and where there’s a chance of confusion, the title for the application window concerned. The next section goes into this in some detail.

CLASS Names

Windows class names either have to be supplied by the author of the program, or obtained by other programs such as the Spy programs that come with development packages like Microsoft’s Visual C++. Here are the Class names for some (now rather old) FS utility applications. When there are more than two programs running with the same Class name, the title (from the title bar) is needed as well, as an extra parameter.

FlightDirector98 ThunderRT5Form

Project Magenta: ThunderRT5Form,"PFD GLASS COCKPIT"

(but PM modules now have programmable class names—see PM INI files)

Real Weather 5 ThunderRT5Form

Aeroview TestClass

For example:

KeySend1=65,9,ThunderRT5Form,"PFD GLASS COCKPIT"

; Shift+A

KeySend2=8,11,ThunderRT5Form,"PFD GLASS COCKPIT"

; Shift+Ctrl+Backspace

KeySend255=112,12,ThunderRT5Form,"PFD GLASS COCKPIT"

; Alt+F1

Note that quotes " " are needed around the Window title when given. They are also needed around the Class name if it contains any spaces.

Duh !!! I think I you may have nailed it! I'll try the RunReady parameter after the keysend map... Even though the SB field is active, it may not be active for widefs client. I'll give that and postkeys a shot. I do believe in RTFM but "boy oh boy" :-) there sure is alot of info to get into the brain cells LOL!!!!

M$ quote " Due to lack of memory my brain will have to shut down" LOL!!!

I'll give it a try after this Easter.. Hope you had a glorious one also..

A little off topic.... How much time do you spend in the air sir? (Virtually) You know, writing these "nearly necessary" programs, then testing them?

Myself putzing with .xml gauges and diving into your programs for me is not much..But....It's a learning experience :-)

Thanks again for the tips, I'll let you know how it works out//

Regards,

Roman

Link to comment
Share on other sites

Pete,

The SBKey.dll has a adjustable field through a SB menu where you can describe what key will activate it. ( the .dll loads w/ SB ) Sorry, maybe my choice of words of describing what happens isn't proper. Also, as you said before you haven't had very much experience with sqwaukbox. Anyway, I have selected the "insert" (client) key to get the sqwaukbox text entry field active.

Doesn't SB in the Client accept keystrokes? (Previous reply)

No it does not, even when focus is on the field.. Your wrote in the "WideFS.doc"

Directing Key Strokes more precisely

If the application that is to receive the keystroke is not a child window of Flight Simulator (i.e. of WideClient, which is substituting for FS in this case), the Windows keyboard focus may not allow the assigned keystroke to reach it. In this case you need to add another parameter, or maybe two, to each KeySend line, identifying the program to receive it.

If the program is one you are having WideClient load, using the Run or RunReady parameters, then the additional parameter can simply be the name of the parameter you used. For example:

KeySend1=65,9,Run1

and KeySend1=66,9,RunReady2

However, if it is a program being run separately then you will need more information about that program, in particular the program’s main Window class name, and where there’s a chance of confusion, the title for the application window concerned. The next section goes into this in some detail.

CLASS Names

Windows class names either have to be supplied by the author of the program, or obtained by other programs such as the Spy programs that come with development packages like Microsoft’s Visual C++. Here are the Class names for some (now rather old) FS utility applications. When there are more than two programs running with the same Class name, the title (from the title bar) is needed as well, as an extra parameter.

FlightDirector98 ThunderRT5Form

Project Magenta: ThunderRT5Form,"PFD GLASS COCKPIT"

(but PM modules now have programmable class names—see PM INI files)

Real Weather 5 ThunderRT5Form

Aeroview TestClass

For example:

KeySend1=65,9,ThunderRT5Form,"PFD GLASS COCKPIT"

; Shift+A

KeySend2=8,11,ThunderRT5Form,"PFD GLASS COCKPIT"

; Shift+Ctrl+Backspace

KeySend255=112,12,ThunderRT5Form,"PFD GLASS COCKPIT"

; Alt+F1

Note that quotes " " are needed around the Window title when given. They are also needed around the Class name if it contains any spaces.

Duh !!! I think I you may have nailed it! I'll try the RunReady parameter after the keysend map... Even though the SB field is active, it may not be active for widefs client. I'll give that and postkeys a shot. I do believe in RTFM but "boy oh boy" :-) there sure is alot of info to get into the brain cells LOL!!!!

M$ quote " Due to lack of memory my brain will have to shut down" LOL!!!

I'll give it a try after this Easter.. Hope you had a glorious one also..

A little off topic.... How much time do you spend in the air sir? (Virtually) You know, writing these "nearly necessary" programs, then testing them?

Myself putzing with .xml gauges and diving into your programs for me is not much..But....It's a learning experience :-)

Thanks again for the tips, I'll let you know how it works out//

Regards,

Roman

Link to comment
Share on other sites

Also, as you said before you haven't had very much experience with sqwaukbox.

I don't use it at all. I tried it just once, way back in FS2000 days (or was it FS98? Can't remember, sorry). But I don't like being on the telephone for extended periods. I'm still using dial-up.

A little off topic.... How much time do you spend in the air sir? (Virtually) You know, writing these "nearly necessary" programs, then testing them?

Almost no time at all except short test runs. Too busy.

Pete

Link to comment
Share on other sites

Also, as you said before you haven't had very much experience with sqwaukbox.

I don't use it at all. I tried it just once, way back in FS2000 days (or was it FS98? Can't remember, sorry). But I don't like being on the telephone for extended periods. I'm still using dial-up.

A little off topic.... How much time do you spend in the air sir? (Virtually) You know, writing these "nearly necessary" programs, then testing them?

Almost no time at all except short test runs. Too busy.

Pete

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.