Jump to content
The simFlight Network Forums

Shift+Z as what value for Hot Key?


Recommended Posts

Pete

Yes, I am writing certain values to open/unused offsets I have identified from 0x3210 onwards. It is for Hot key logging purposes.

I can easily write single key presse like Z etc. but the combinations like in my post is a bit unclear. My application is in VB so perhaps one of the VB boffins out there can also help.

Also how do I know when the GPS window is displayed? Is this possible without normal windows API's and purely with FSUIPC?

Thanks

Link to comment
Share on other sites

Yes, I am writing certain values to open/unused offsets I have identified from 0x3210 onwards. It is for Hot key logging purposes.

I can easily write single key presse like Z etc. but the combinations like in my post is a bit unclear.

In the first byte you will have the code for 'Z' (90, or hex 5A).

In the second there are all the shift codes. For simple Shift just bit 0 must be set. Bit 0 is the lowest bit, value 1 (2^0 = 1). You simply make a value from all the bits you want set. Isn't the documentation clear enough on this for you? Can you clarify what it is you don't understand, please?

You should write the whole 4 bytes as one 32-bit value (an integer in VB, probably, or is it a long?). This would be no different to writing any other 32-bit (4-byte) value.

In the case of Shift+Z the whole 4 bytes, assuming no other options are to be set, are, in order

hex 5A, hex 01, hex 00, hex 00.

Now, as a 32-bit value you have to remember that the first byte is the LEAST significant (i.e. lowest in value), so in hexadecimal the 32-bit value is:

0000015A

or in decimal simply 346 (being the 256 for Shift, plus 90 for Z).

Also how do I know when the GPS window is displayed? Is this possible without normal windows API's and purely with FSUIPC?

No, Window ennumeration has never been a facility in FSUIPC, probably because it has never really been asked for. It is also not always obvious how to determine these. The Window Class for all such is "FS98CHILD", so that doesn't help a lot, and the title is, I think, dependent upon language version -- maybe it can be looked up in the LANGUAGE.DLL.

Ideally, perhaps the Windows ID number should be used. This corresponds to its position in the Menu and its number in the PANEL.CFG file, as well as the Shift+N value used to toggle it on and off. But there again, any window can have any title as dictated by the PANEL.CFG, so determining which might be a GPS is problematic.

Regards,

Pete

Link to comment
Share on other sites

Thanks Pete

I did not think it to be this simple. Understands it perfectly.

Also just bear in mind that for some of the FSUIPC users programming is a hobby and a lot of the stuff is fairly hazy for us, especially if English is a third or fourth language. I am a poultry farmer, which explains a lot probably.

Thanks again for the help.

Link to comment
Share on other sites

Also just bear in mind that for some of the FSUIPC users programming is a hobby and a lot of the stuff is fairly hazy for us, especially if English is a third or fourth language. I am a poultry farmer, which explains a lot probably.

Yes, but if you are also trying programming you have to be classed as a programmer too, and programmers do certainly need to think logically and be able to read and get into such details with care and understanding. That does even apply to VB programmers, I assure you. Otherwise maybe programming is not a hobby for poultry farmers?

;-)

Regards,

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.