Jump to content
The simFlight Network Forums

lag with the mousebutton swap function


Recommended Posts

Hi Pete,

i ve recently updated my version of fsuipc (ver 3.999z).

i'm using a multimonitor setup consisting in 3 touch screens for panels and 1 LCD for external view (1 pc with 2 Nvidia graphic cards, fs 9, win7 x64).

touchscreens are usb plug and play (native win 7 touch drivers).

Obviously i'm using the mouseswap button function of fsuipc for right clicks (i can't ever be grateful enough for such a useful function!!!).

It seem that, after enabling the function small lags (1 or two seconds) interfere between right clicks (Left clicks are "Lag free" in my case), so it is impossible to right click rapidly. This is particularly annoing with aircrafts (like DA Fokker 70/100) that do not implement the "press and hold" feature for setting the MCP.

Any help would be greatly appreciated.

All the best

Alessandro

Link to comment
Share on other sites

Obviously i'm using the mouseswap button function of fsuipc for right clicks (i can't ever be grateful enough for such a useful function!!!).

It seem that, after enabling the function small lags (1 or two seconds) interfere between right clicks (Left clicks are "Lag free" in my case)

 

All FSUIPC does with this option if, when it sees a Left Button message (Down or up) is uses the Windows API "mouse_event" to make Windsows simulate the right button down or up, and discards the current message instead of passing it on.

 

This is the only correct way of doing it that I know of. The amount of code in FSUIPC doing this is just two statements -- the call to "mouse_event" and the "return 0" to exit with no message passed on. And here, on my system, the right-click action is immediate.

 

But perhaps I'm not understanding you. When you say "between right clicks", you do realise, I hope, that the "mousebutton swap" control cancels the swap action btween each use. You have to have some button or key assigned to this and use it between each click. Maybe your delay is in pressing this control between clicks? You don't say how you are programming this.

 

BTW the currently supported version of FSUIPC for FS2004 is 3.999z5, and a version 3.999z6 has just been uploaded.

 

Pete

Link to comment
Share on other sites

All FSUIPC does with this option if, when it sees a Left Button message (Down or up) is uses the Windows API "mouse_event" to make Windsows simulate the right button down or up, and discards the current message instead of passing it on.

 

This is the only correct way of doing it that I know of. The amount of code in FSUIPC doing this is just two statements -- the call to "mouse_event" and the "return 0" to exit with no message passed on. And here, on my system, the right-click action is immediate.

 

But perhaps I'm not understanding you. When you say "between right clicks", you do realise, I hope, that the "mousebutton swap" control cancels the swap action btween each use. You have to have some button or key assigned to this and use it between each click. Maybe your delay is in pressing this control between clicks? You don't say how you are programming this.

 

BTW the currently supported version of FSUIPC for FS2004 is 3.999z5, and a version 3.999z6 has just been uploaded.

 

Pete

Hi Pete,

Thank for the prompt reply,

Sorry for my poor explanation

i ll try to explain whats happening with an example:

I have assigned the mouseswap function to a button on my yoke. the "control to repeat while held" is flagged.

If i enable the function keeping the yoke button pressed and i make 5 subsequent fast touches (1 touch per second) on, let's say, the speed selector of the MCP.

instead of obtaining this: 180,190,200,210,220 (in 5 seconds)

i obtain this : 180,...(2 seconds).....190,...(2seconds).....200,...(2 seconds).......210,......(2 seconds)....220

That doesn t happen with left clicks (i.e. with mouseswap function disabled)

thank you very much again

Alessandro

Link to comment
Share on other sites

I have assigned the mouseswap function to a button on my yoke. the "control to repeat while held" is flagged.

If i enable the function keeping the yoke button pressed and i make 5 subsequent fast touches (1 touch per second) on, let's say, the speed selector of the MCP.

instead of obtaining this: 180,190,200,210,220 (in 5 seconds)

i obtain this : 180,...(2 seconds).....190,...(2seconds).....200,...(2 seconds).......210,......(2 seconds)....220

That doesn t happen with left clicks (i.e. with mouseswap function disabled)

thank you very much again

Alessandro

 

I think the problem may be simply because the MouseSwap function is simply not designed to work like that.  Without doing some tests I'm not sure I can pinpoint exactly what is going on, but I'd guess the dual actions are interfering with each other, timewise. The flag telling the Mouse Button trapper what to do transitions according the the stage of button press/release and its reversal, but the "MouseButton Swap" control resets that flag, making it start again even if its in mid-sequence.

 

Unfortunately I don't think I have any aircraft which use right-button for making values change. None of the defaults do this, do they? If I did I could experiment to find a solution. One is possibly to make the MouseButton Swap control only set the flag if it is currently off. I don't really know if that would solve the problem. Really you want a control which sets the swap 'on' and keeps it 'on' till used again -- maybe a pair, MouseSwap On and MouseSwap Off.

 

If you have any suggestion as to how I can test things here, I'll try some things out. Otherwise I can only think is that I try some change for you to test.

 

Regards

Pete

Link to comment
Share on other sites

Otherwise I can only think is that I try some change for you to test.

 

I've made one small change, to make the control only do anything is it wasn't already operating. I don't know if it will help or not.

 

Download FSUIPC4912.zip

 

Let me know how you get on, please. I've not put 4.912 on general release yet.

 

Pete

Link to comment
Share on other sites

hi Pete,

a couple of questions ( be patient with me.......i 'm not an expert)

1 where should i place the new dll contained in the download (.......modules.?)

2 FSUIPC4912 is compatible with fs2004? (.......the number is quite similar to the FSX version....)

regards

alessandro

Edited by alexven1972
Link to comment
Share on other sites

1 where should i place the new dll contained in the download (.......modules.?)

2 FSUIPC4912 is compatible with fs2004? (.......the number is quite similar to the FSX version....)

 

No! Sorry, I clean forgot you were using FS2004! I wasn't planning to make more changes to FSUIPC3, except for maybe serious errors. I tried to freeze it years ago, as the code is now so old (10 years!) that I hate to mess with it for fear of doing more damage than good.

 

Also, when trying to test for your problem I was doing it with FSX, and perhaps that problem doesn't even exist in FSX. Duh!

 

Can you tell me what aircraft I can use to test right-button dial increments?  I don't think I've got much in the way of add-ons for fS2004 these days, not having used it for 8 years, but you never know.

 

Regards

Pete

Link to comment
Share on other sites

No! Sorry, I clean forgot you were using FS2004

 

Okay. The small change I made to FSUIPC4 also applied easily enough to FSUIPC3, so:

 

Download FSUIPC3999z7.zip and, yes, place it into the FS Modules folder (where else???).

 

Again, let me know how you get on, please. If it doesn't help I'll need a way to reproduce the problem here in order to work out why.

 

Pete

Link to comment
Share on other sites

Hi Pete and Alessandro,

I have been following this thread with some interest since I was the originator of the earlier thread at http://forum.simflight.com/topic/70959-lua-script-to-swap-mouse-buttons-for-touchscreen-users/?hl=mousebutton#entry438799

I have a touchscreen setup with 6 touchscreens (5-wire single-touch technology) connected to my server PC used exclusively to display cockpit instruments and I use both FS9.1 and FSX SP2 on Win 7 x64 with various payware aircraft. Pete, I have sent you an email containing a link to a presentation of my setup, which I hope you will have a look at.

I have not encountered the lag described by Allessandro with my currently installed FSUIPC 3.999z5 and FSUIPC 4.910. I downloaded the new FSUIPC versions in this thread and I could not find any change in the behaviour either. I suspect that the lag experienced by Allesandro might be a system-specific issue.

Regards,

Chakko.

Link to comment
Share on other sites

I have not encountered the lag described by Allessandro with my currently installed FSUIPC 3.999z5 and FSUIPC 4.910. I downloaded the new FSUIPC versions in this thread and I could not find any change in the behaviour either. I suspect that the lag experienced by Allesandro might be a system-specific issue.

 

Thanks for this. It's a puzzle then.

 

Alessandro, if you have other add-ons or programs running, would it be possible for you to carry out a series of elimination tests?  Try stopping all other add-ons and add-ins running to see if it then works correctly. If so, add them back one by one till you find the culprit.

 

If nothing helps, it remains a puzzle. There are tools (Microsoft's own Spy++ for instance, which lets you trace all Windows messages) which might help get to the bottom of it, but they all tend to be aimed at programmers. That's why it would be best if I could reproduce the problem here, but even if I had an aircraft I could test it on, from what Chakko says, I might not see the problem in any case.

 

Regards

Pete

Link to comment
Share on other sites

Hi Pete and Alessandro,

I have been following this thread with some interest since I was the originator of the earlier thread at http://forum.simflight.com/topic/70959-lua-script-to-swap-mouse-buttons-for-touchscreen-users/?hl=mousebutton#entry438799

I have a touchscreen setup with 6 touchscreens (5-wire single-touch technology) connected to my server PC used exclusively to display cockpit instruments and I use both FS9.1 and FSX SP2 on Win 7 x64 with various payware aircraft. Pete, I have sent you an email containing a link to a presentation of my setup, which I hope you will have a look at.

I have not encountered the lag described by Allessandro with my currently installed FSUIPC 3.999z5 and FSUIPC 4.910. I downloaded the new FSUIPC versions in this thread and I could not find any change in the behaviour either. I suspect that the lag experienced by Allesandro might be a system-specific issue.

Regards,

Chakko.

  

Thanks for this. It's a puzzle then.

 

Alessandro, if you have other add-ons or programs running, would it be possible for you to carry out a series of elimination tests?  Try stopping all other add-ons and add-ins running to see if it then works correctly. If so, add them back one by one till you find the culprit.

 

If nothing helps, it remains a puzzle. There are tools (Microsoft's own Spy++ for instance, which lets you trace all Windows messages) which might help get to the bottom of it, but they all tend to be aimed at programmers. That's why it would be best if I could reproduce the problem here, but even if I had an aircraft I could test it on, from what Chakko says, I might not see the problem in any case.

 

Regards

Pete

hi again Pete and Chakko

So.....things get complicated in my case.....

i tried the newest dll (thanks again Pete) but (as correctly supposed by you) the problem persist.

Maybe it is related to the win 7 x64 tablet pc application.........

Thanks Chakko for your contribution: If i well undrstood, U use touchscreens MONITORS WITH specific drivers (am i correct ?), so it is completely different hardware and software

in my case there are 3 infrared usb touch OVERLAYS (WIVItouch inc.) WITHOUT any specific driver writtent by constructors as win 7 recognizes them as plug and play mouses and manage them under tablet pc application.

So, as there are not add ons or applications working in backgroud, further solutions are quite limited in my mind (i ll try changing some flags in the tablet pc application .......who knows)

BTW, thanks again to all of you for supporting

alessandro

Link to comment
Share on other sites

Hi Allesandro,

As a matter of fact, I am using a mixture of touchscreen overlays and touchscreen panels integrated with monitors, but yes in all cases they are driven by external drivers, not the native Win 7 drivers, and they are all the older single-touch 5-wire resistive type. I did experiment with the native Win 7 drivers and multi-touch enabled IR screens, as I do have some HP touchscreens (L2105TM) based on this technology, but I found them difficult to use with MSFS, and soon gave up. If I remember correctly, lag and touch-location-inaccuracy were two of the main issues I faced at the time.

Regards,

Chakko.

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.