Jump to content
The simFlight Network Forums

Controlling FS9 on a client with keystrokes


Recommended Posts

Pete,

I think there still may be something odd regarding the WideFS keystroke generation.

I am attempting to control a copy of FS9 on a WideView attached client PC with a joystick button on the server with the primary FS9. What I want to do is change the FS9 view on the WideView client.

According to the WideFS documentation, this should be possible by changing the classinstance value for the WideClient.

After changing the classInstance value, I was able to run WideClient on the WideView client PC without a problem. I set up the keysends to generate keystrokes to change the view.

I tested the keystrokes with wordpad and WideFS properly sent the keystrokes to WordPad on the client PC. I started up the FS9 client and verified the keystrokes worked when entered from the keyboard on the client.

When I sent the keystrokes from the server, WideFS does not properly control FS9 on the client. The keys seem to be ignored (no view change). I tried to save a flight so I could enter keys into a text field for a test, the keystrokes would display but the spacing would not advance (using SendInput). The keys would over wright each other. Without SendInput turned on, I could never get a key to display with FS9.

When I programmed a switch with FSUIPC to control the server FS9 view via the same keycode, it works just fine.

Have you ever tried this? Does FS9 use some odd keyboard processing like Teamspeak? Could there be some bad interraction between WideFS and FS9 on the client?

It seems there still may be a variation between the FSUIPC keyboard processing and WideFS.

Any ideas? I am going to download and try the latest FSUIPC and WideFS and see what happens. I will report back.

thx,

Lee

Link to comment
Share on other sites

When I sent the keystrokes from the server, WideFS does not properly control FS9 on the client. The keys seem to be ignored (no view change).

I think FS needs keys to be provided through the SendInput method. You can set that option in WideFS 6.44, being released as I speak.

I tried to save a flight so I could enter keys into a text field for a test, the keystrokes would display but the spacing would not advance (using SendInput). The keys would over wright each other. Without SendInput turned on, I could never get a key to display with FS9.

Oh, you are using SendInput already? Sorry.

Have you ever tried this? Does FS9 use some odd keyboard processing like Teamspeak? Could there be some bad interraction between WideFS and FS9 on the client?

No idea, sorry. I can think of no reason why.

It seems there still may be a variation between the FSUIPC keyboard processing and WideFS.

No idea what that could be -- they look identical now when spied upon (use MS Spy++).

Regards,

Pete

Link to comment
Share on other sites

I will play with it some more when I get the final release. Maybe there is something a bit different in the pre-released version you sent me.

Not in that area there isn't. I can't think what FS could be making of the input it is getting if they all overlay each other. It's as if each was interspersed by a cursor back?

One thing you could try -- programming the keys in FSUIPC on the client to execute the FS controls you want. FSUIPC definitely processes WM_KEYDOWN and WM_KEYUP messages and doesn't worry about scan codes, for instance.

Regards,

Pete

Link to comment
Share on other sites

Pete,

I tried what you suggested and the behavior was exactly the same.

I did a bit more investigating and it would appear there is a bad interaction between the WideClient and FS9 even with a different ClassInstance for the client.

If I keep FS9 in a window and have WideFS as a window next to it, it seems the WideFS client does not get any (or very few) CPU cycles. If FS9 has focus, WideFS cannot seem to take the focus away. The WideFS window border is in non-focus mode and clicking on WideFS will not give it focus. Only minimizing or closing FS9 gives the WideFS client focus. The WideFS client program appears locked up. Other programs do not have any problem taking focus from FS9.

I do not have WideServer on the client and I removed FSUIPC as a test but it did not make any difference.

So, it seems the keypress events are being received and processed but because WideFS is getting so few CPU cycles, the keypresses take a long time to get to FS9. That is the best description I can provide.

I turned on debug logging but did not see anything of interest. It doesn't seem like WideFS is getting errors, it is just very slow.

Any ideas?

thx,

Lee

Link to comment
Share on other sites

One other piece of data. I ran a WideFS client on my server PC with FS9 running and the exact same thing happens. It is not unique to my client but seems to be a problem with a WideFS client and FS9 running on the same computer.

Lee

Link to comment
Share on other sites

Any ideas?

Sorry, none whatsoever. And I'm afraid it will be a while before I can get time to look at it. Really you are trying to make WideClient do something it was never intended to do. (I only added the ClassInstance option reluctantly).

Most of the time when WideClient is running it is getting run because client programs are connected and using it. I take it you have no client programs for it. To make it run as a fully operational program on its own is really a different design job.

Have you checked WidevieW options to see if it'll do what you want? It would seem much more appropriate. I know that Luciano has recently released a program to do things with mouse movements and clicks over the LAN. Have a look, and perhpas make suggestions to him. It would obviously be better for WidevieW to pass messages amongst its instances than trying to run a parallel, possibly conflicting, system.

Regards,

Pete

Link to comment
Share on other sites

No problem Pete.

There are other ways to solve the problem. I currently use a joystick connected to the client to change views and it works fine. I can also use Go-Flight hardware as well. I was just trying to make it work with my yoke buttons but that will have to wait. It's not big deal.

I looked at the Key2Lan but don't think it will do what I want. I will request an additional feature to send keypresses in addition to mouse clicks. You are correct that it is the preferred solution.

Thanks!

Lee

Link to comment
Share on other sites

I looked at the Key2Lan but don't think it will do what I want. I will request an additional feature to send keypresses in addition to mouse clicks. You are correct that it is the preferred solution.

Okaybut I've made a note on my list to find out what is going on with WideClient anyway. It just won't be soon, as I've been putting off a load of other stuff I need to do, for too long!

Regards,

Pete

Link to comment
Share on other sites

  • 3 weeks later...
I've made a note on my list to find out what is going on with WideClient anyway. It just won't be soon, as I've been putting off a load of other stuff I need to do, for too long!

I've just got around to looking at this, but I cannot make it go wrong. I'm sending an email so you can reply with any attachments which may be useful for me to see what the problem is that you see.

Thanks,

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.