Jump to content
The simFlight Network Forums

Stand Alone Arrow Keys Problem


ark1320

Recommended Posts

Hi John,

It seems that when the sim has focus the four stand alone arrow keys (in the  'inverted T' pattern on many keyboards) are not seen by FSUIPC7.  Perhaps this is essentially caused by the same Simconnect bug that prevents FSUIPC7 from seeing the Number pad number keys when the sim has focus.

If Asobo has not at least acknowledged this Simconnect problem I would suggest it would be good for you as a developer to contact them again about it.

Thx,

Al

Link to comment
Share on other sites

2 minutes ago, ark1320 said:

It seems that when the sim has focus the four stand alone arrow keys (in the  'inverted T' pattern on many keyboards) are not seen by FSUIPC7

The keys seen by FSUIPC7 is currently restricted by what is sent via SimConnect. For what is currently available, you should refer to the MSFS SDK documentation, under SimConnect, -> SimConnect_Status_of_Input_Events. 

6 minutes ago, ark1320 said:

If Asobo has not at least acknowledged this Simconnect problem I would suggest it would be good for you as a developer to contact then again about it.

It is acknowledged/known. Again, check the documentation.

10 minutes ago, ark1320 said:

Perhaps this is essentially caused by the same Simconnect bug that prevents FSUIPC7 from seeing the Number pad keys when the sim has focus.

This is a different problem. FSUIPC7 can receive/see the numpad keys, but MSFS only sends them when numlock is off, rather than on. This has been reported to ASOBO. As a workaround, I have added a new ini parameter to get around this (in the build from 26th September):
    - new ini parameter UseAlternativeNumpadKeyMapping as a workaround for an MSFS bug on numpad key input.
Please see this thread for a discussion on how this is used:

Cheers,

John

Link to comment
Share on other sites

2 hours ago, John Dowson said:

The keys seen by FSUIPC7 is currently restricted by what is sent via SimConnect. For what is currently available, you should refer to the MSFS SDK documentation, under SimConnect, -> SimConnect_Status_of_Input_Events. 

Thanks for the pointer to the SDK SimConnect_Status_of_Input_Events table. Very interesting. In that table they have the digits 0, 1, ...9 and NUM_0, NUM_1, ...NUM_9 in the Base group and listed as a 'Success' under Event Callback.  VK_NUMPAD0, VK_NUMPAD1, ...VK_NUMPAD9 in the Virtual group are listed as 'Skipped' under Event Callback. Based on your comments I assume by 'Skipped' they probably mean not sent via Simconnect.  I'm not sure what the distinction is between the digits 0, 1.....9 and NUM_0, NUM_1....NUM_9, however.

In any case, hopefully Asobo will get this fixed in the not to distant future. I would think this would be an issue for many developers.

Thx,

Al

Link to comment
Share on other sites

  • 1 month later...

John,

As best as I can tell, the Up, Down, Left and Right arrow keys still do not work correctly in FSUIPC7. I assume this is a continuing Simconnect problem  -- can you confirm this?

As a test, I wrote a very simple Lua script that does nothing but display a few words on the screen,  and assigned the Up arrow key to activate the script -- doesn't work.  However, if I assign a non-arrow key, it works.

Thanks,

Al

 

Link to comment
Share on other sites

Hi Al,

there are no key strings listed for those keys yet  in the SDK, so I don't think they are even planning to provide support for them at the moment. In fact, looking at the P3D SDK, they are not even available there, so it seems like these keys have never been available via SimConnect input events. 

John

Link to comment
Share on other sites

1 hour ago, John Dowson said:

Hi Al,

there are no key strings listed for those keys yet  in the SDK, so I don't think they are even planning to provide support for them at the moment. In fact, looking at the P3D SDK, they are not even available there, so it seems like these keys have never been available via SimConnect input events. 

John

John,

In the FSUIPC6 Key presses drop down controls list I have the stand alone Left and Right arrow keys assigned to Heading Bug Dec and Heading Bug Inc, and the stand alone Up and Down arrow keys assigned to Ap Alt Var Inc and Ap Alt Var Dec, and all works fine. That is what I wanted to do in FSUIPC7, but no luck. If when convenient you could let Asobo know maybe they will eventually fix this. I would expect the arrow keys are used by many with FSUIPC.

Thanks for the feedback,

Al

Link to comment
Share on other sites

12 hours ago, ark1320 said:

If when convenient you could let Asobo know maybe they will eventually fix this. I would expect the arrow keys are used by many with FSUIPC.

But, as I said, it  isn't a bug so no fix is required. Its a new feature request that is needed, as the arrow key input has never been available via Simconnect.
Previous versions of FSUIPC were an embedded dll and so could receive all keystrokes natively (i.e. using the windows API) and did not rely on SimConnect for this.
Now FSUIPC7 is an executable, it can only get the keyboard events (when MSFS has the focus) via SimConnect. Again, check the SDK documentation to see what keys are available.

11 hours ago, ark1320 said:

BTW John,  this issue with the arrow keys seems to be the same problem as we had with the Numpad number keys in that arrow key (or the arrow keys in combination with Shift, etc) control assignments work IF FSUIPC7 has focus.

Well, its the same effect/result, but the issue is different. The issue with the numpad keys was due to a defective SDK (and documentation) and a hacked implementation in FSUIPC7 due to this. This was rectified in the 0.8.0.0 SDK release and the v7.0.2 release of FSUIPC7. The issue with the arrow keys is that they have never (and most likely won't) been made available via SimConnect.

I will update the documentation to make this clear, and think about removing these other keys from FSUIPC7 as there is really no point assigning to such keys.

John

Link to comment
Share on other sites

5 hours ago, John Dowson said:

Its a new feature request that is needed, as the arrow key input has never been available via Simconnect.
Previous versions of FSUIPC were an embedded dll and so could receive all keystrokes natively (i.e. using the windows API) and did not rely on SimConnect for this.
Now FSUIPC7 is an executable, it can only get the keyboard events (when MSFS has the focus) via SimConnect.

OK, I see, thanks for the explanation.

5 hours ago, John Dowson said:

The issue with the arrow keys is that they have never (and most likely won't) been made available via SimConnect.

Seems strange and unfortunate to me that they would not make all the keys commonly found on a keyboard available via SimConnect. They certainly make use of the arrow keys in the MSFS default key bindings, so why they would not think these keys would also be useful to third party applications via SimConnect is baffling.

5 hours ago, John Dowson said:

I will update the documentation to make this clear, and think about removing these other keys from FSUIPC7 as there is really no point assigning to such keys.

Making it clear certain common keys won't work with FSUIPC7 will likely help prevent users from spending a lot of time trying to figure out why something doesn't work.  And hopefully save you time by eliminating the need to respond to posts like this one!  🙂  Maybe some kind of popup " Key not available" message when a user tries to assign a non-useable key would be good.

Thanks for the help,

Al

Link to comment
Share on other sites

1 hour ago, ark1320 said:

Seems strange and unfortunate to me that they would not make all the keys commonly found on a keyboard available via SimConnect. They certainly make use of the arrow keys in the MSFS default key bindings, so why they would not think these keys would also be useful to third party applications via SimConnect is baffling.

But remember, the SimConnect API dates back many years, and maybe these keys were not common then. Or maybe they are covered by some of the other VK codes (but I would expect VK_LEFT, etc, or VK_0x25, etc which don't seem to exist). But really, you need to address such questions to Asobo.

1 hour ago, ark1320 said:

Maybe some kind of popup " Key not available" message when a user tries to assign a non-useable key would be good.

Well, if they are not assignable I'd rather remove them completely. Or is it worth keeping such key assignments as they do have an effect when FSUIPC7 has the focus? I think the former. But, as the SDK is still under development, for the time being I think its better to accept all and provide a reference to what actually works in SimConnect in the manuals. Once we get to SDK 1.0, I can consider updating the manuals (and maybe the code) to then reflect what is actually assignable.

John

Link to comment
Share on other sites

3 minutes ago, John Dowson said:

 But, as the SDK is still under development, for the time being I think its better to accept all and provide a reference to what actually works in SimConnect in the manuals. Once we get to SDK 1.0, I can consider updating the manuals (and maybe the code) to then reflect what is actually assignable.

 

Agree, makes good sense.

Al

Link to comment
Share on other sites

@ark1320 Thomas has pointed out we are actually receiving the arrow key key presses via SimConnect, but we are receiving these as numpad key events.
As they are being received, I can check the state of the arrow keys when the notification is received and re-map to the correct VK code.
I've done this in the attached version if you would like to try:

FSUIPC7.exe

John

Link to comment
Share on other sites

4 hours ago, John Dowson said:

@ark1320 Thomas has pointed out we are actually receiving the arrow key key presses via SimConnect, but we are receiving these as numpad key events.
As they are being received, I can check the state of the arrow keys when the notification is received and re-map to the correct VK code.
I've done this in the attached version if you would like to try:

FSUIPC7.exe 590.5 kB · 0 downloads

John

YES-- arrow keys work!!  Thank you Thomas and John!

Al

Link to comment
Share on other sites

4 hours ago, John Dowson said:

I've done this in the attached version if you would like to try:

BTW,  although the current SDK shows the Shift, Ctrl, and Alt keys as 'fail', they all seem to work as part of a key combination, which is good news.

Two keys that don't work are the stand alone < and > keys.

Just FYI.

Really appreciate the super support!

Al

Link to comment
Share on other sites

3 minutes ago, ark1320 said:

BTW, just FYI, although the current SDK shows the Shift, Ctrl, and Alt keys as 'fail', they all seem to work as part of a key combination, which is good news.

Yes - FSUIPC recognises the modifier keys directly from the windows API and doesn't use SimConnect key input events for these.

John

Link to comment
Share on other sites

30 minutes ago, John Dowson said:

Yes - FSUIPC recognises the modifier keys directly from the windows API and doesn't use SimConnect key input events for these.

John

In case you missed my late edit above, two keys that don't work are the stand alone <, and >. keys.

Al

Link to comment
Share on other sites

26 minutes ago, ark1320 said:

Two keys that don't work are the stand alone < and > keys.

As before, check the SDK. There are no key input events for those keys. The > is mapped, but to 0x6E (with a shift), so I could add a similar hack to get this key working. The < results in no events, so I can't do anything with that.
But I really don't want to start hacking for individual keys. You should restrict your assignments to those keys available.

John

 

Link to comment
Share on other sites

3 minutes ago, John Dowson said:

As before, check the SDK. There are no key input events for those keys. The > is mapped, but to 0x6E (with a shift), so I could add a similar hack to get this key working. The < results in no events, so I can't do anything with that.
But I really don't want to start hacking for individual keys. You should restrict your assignments to those keys available.

John

 

Yes, I saw they were not listed. I can certainly get by without them.

Al

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.