Jump to content
The simFlight Network Forums

Programming Saitek joystick buttons


Recommended Posts

I'm having trouble assigning zoom in and out to a couple of buttons on a Saitek X52 joystick. The buttons I'm trying to program are on the throttle. When I use the pull down FSUIPC menu it doesn't recognize the buttons I'm trying to program. I've tried editing the .ini and it doesn't recognize these 2 buttons either. But if I open the control panel for the joystick to the page where you test the buttons while FSX is running the buttons operate as desired.

Any reason neither programming page or manually editing the .ini file would not cause the buttons to operate?

Thanks,

Jerry

Link to comment
Share on other sites

I'm having trouble assigning zoom in and out to a couple of buttons on a Saitek X52 joystick. The buttons I'm trying to program are on the throttle. When I use the pull down FSUIPC menu it doesn't recognize the buttons I'm trying to program.

First, please ALWAYS say which version of FSUIPC you are using. If it isn't the latest, always try that first.

For buttons FSUIPC recognises the 32 possible buttons supported by the standard Windows joystick API. I believe there is an extended mode in DirectX which does support up to 64 buttons -- but unless your device already has 32 I wouldn't think it would be using one of those!

Check in Windows Game Controllers -- see what button numbers it gives there.

I've tried editing the .ini and it doesn't recognize these 2 buttons either.

Edited the INI how? If you don't know the joystick number (0-15) and button numbers, you cannot work out what parameters to enter there!

But if I open the control panel for the joystick to the page where you test the buttons while FSX is running the buttons operate as desired.

What 'control panel' are you talking about in the latter case? Do you mean the Windows Game controller? If so, why has FSX got to be running? And what numbers does it give?

Can you assign the buttons in FSX's control assignments?

I attach a program called JOYVIEW, which can be used to examine in detail Joystick inputs using the standard joystick interface (not DirectX). Try that, see what you can find out.

Regards

Pete

joyview.zip

Link to comment
Share on other sites

Sorry, Pete. I knew to include the version but it slipped my mind when I began the post.

I'm using version 4.08. The Windows control panel recognizes the 2 buttons as 30 and 31. If I remember correctly FSUIPC would see these as 29 and 30.

I used FSUIPC to program another button on the throttle and used that as example to program the buttons in the .ini file manually.

FSX does not have to be running to pull up the Control Panel. When I could not get FSUIPC to recognize the buttons I opened the panel just to see if it still recognized the buttons. That's when I noticed the buttons worked with the control panel open whilst FSX was running also.

I'll give the program you attached a go and see what I learn.

Thanks for the reply,

Jerry

Link to comment
Share on other sites

The joyview program only sees 1 joystick. I also tried assigning the buttons via FSX and it doesn't recognize the buttons either.

The joystick has a USB connection if that matters.

I cleared the button assignments in the .ini file and then reprogrammed 1 button on the joystick and 1 on the throttle. This is what it entered:

1=P0,0,C65588,0

2=P0,6,C65603,0

Jerry

Link to comment
Share on other sites

I'm using version 4.08. The Windows control panel recognizes the 2 buttons as 30 and 31. If I remember correctly FSUIPC would see these as 29 and 30.

If the first button in Windows is number 1, yes, they should be 29 and 30. And i really have no idea how they could be missed if they are being reported that way (in the 32-bit value returned to represent the button states) they'd be to 2^29 and 2^30 bits, i.e. 0x20000000 and 0x40000000 respectively. The program I attached should show then in decimal or hexademially, I think (optionally).

I'll give the program you attached a go and see what I learn.

Okay. Let me know. I've got nothing here with as many as 31 buttons but I expect I could rig up a phoney input if necessary for testing.

Regards

Pete

Link to comment
Share on other sites

The joyview program doesn't recognize either of the 2 buttons I'm attempting to use. It sees some buttons and sliders on the throttle but not these 2 in particular.

Ouch. They must only be handled by the DirectInput part of the driver. Sorry. You'll need to assign those in FS's own assignments.

Regards

Pete

Link to comment
Share on other sites

I just discovered that with the control panel open to test the joystick buttons both FSX and FSUIPC recognize the buttons and will accept assignments. I use 2 monitors so I put the control panel on the 2nd monitor and FSX on the 1st monitor.

They function as long as the control panel is open but do not function if the panel is closed.

Strange,

Jerry

Link to comment
Share on other sites

I found this on Saitek's forum and it works for 1 of the buttons. I have no idea why but it works. Perhaps you can understand. Thought you might be interested in seeing it.

i)open registry (start>run>regedit [press OK])

ii)search for "AviemoreCltBtn" without quotes with the following parameters:

"search for value" and "match the whole string only".

iii)By default the values are:

in decimal: 30 or hexadecimal:1e

change it to

in decimal: 29 or hexadecimal:1d

!!!you may find multiple instances, so do it for every one!!!

iv)Close the registry, unplug from USB and plug back the stick.

Link to comment
Share on other sites

There's the rub. FS doesn't recognize them either.

AhFSUIPC doesn't stand a chance then. Saitek must have done something a bit strange with their driver. Perhaps they have some manager program in which you can assign them. Did you check? If you can get them to send keystrokes you could assign those instead.

I just discovered that with the control panel open to test the joystick buttons both FSX and FSUIPC recognize the buttons and will accept assignments.They function as long as the control panel is open but do not function if the panel is closed.

Curiouser and curiouser! Seems a call to Saitek Tech Support is in order?

I found this on Saitek's forum and it works for 1 of the buttons. I have no idea why but it works. Perhaps you can understand. Thought you might be interested in seeing it.

Well, no, I don't understand. "AviemoreCltBtn"? Aviemore is in Scotland. Is that where Saitek are based? Strange.

Maybe there's another button named after somwhere else in Scotland for the other one, decimal 29 (1d) which you can change to 28 (1c)?

If you ever do find the complete answer, please don't forget to post it here.

Regards

Pete

Link to comment
Share on other sites

  • 2 weeks later...

Here is the solution to programming the buttons that were not recognized by FSX or FSUIPC. Answer by OSmith on the Saitek forum:

When the control panel is open, the default profile (or any active profile) is prevented from emitting keys and mouse buttons. This means that the mouse fire (button 31) is treated exactly like a normal button, and not programmed to be a mouse button.

If you don't use any of the default profile features (like the scroll wheel on the front of the throttle, or the mouse ministick) then you can rename the file C:\Windows\System32\SaiD0255.pr0 or C:\Windows\System32\SaiD075C.pr0 (C:\Windows\System32\SaiD0762.pr0 for the X52Pro) to another name (backup the file first), then unplug and plug in your X52 and the buttons are no longer programmed.

Jerry

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.