Outerra forum

Anteworld - Outerra Game => Tech demo, support, updates => Topic started by: Karamich on March 07, 2012, 09:29:01 am

Title: Assigning Joystick axis to Plane
Post by: Karamich on March 07, 2012, 09:29:01 am
Hi,

I think it was mentioned previously as something to be fixed and I wonder if it was fixed in the latest update:  I have 3 controllers plugged in my PC, one being a Joystick and Outerra uses its axis by default for Plane controls however I also have rudder pedals as well as a Throttle quadrant.

Is there a way to edit the assignments in a way to tell Outerra to use either of the 2 other controllers?

When i click on the assignment I either get another automatic value set or an empty field.

What do I have to type in to make it assignable if it is possible indeed

Thanks!

Title: Re: Assigning Joystick axis to Plane
Post by: ZeosPantera on March 07, 2012, 12:02:39 pm
I also have three controllers on my PC and in OuTerra when I am setting up the controls would take my clutch pedal for EVERY control. So I have to press and hold it down and assign the other keys and axis I want. Think a dirty pot is responsible. Likely the value is bouncing just a minute amount all the time.
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 07, 2012, 12:28:31 pm
You have to move with the desired axis in desired direction and there should appear Axis#+ or Axis#-. With multiple joysticks, the axis is prefixed by joy number. There was an issue with Windows XP and USB device detection, but it's now fixed.

Zeos, the problem with clutch/brake pedals has been addressed a week ago, did you try it with new versions? It now takes only the direction of axis movement into account.
Title: Re: Assigning Joystick axis to Plane
Post by: Karamich on March 07, 2012, 09:06:12 pm
You have to move with the desired axis in desired direction and there should appear Axis#+ or Axis#-. With multiple joysticks, the axis is prefixed by joy number. There was an issue with Windows XP and USB device detection, but it's now fixed.

Zeos, the problem with clutch/brake pedals has been addressed a week ago, did you try it with new versions? It now takes only the direction of axis movement into account.

Hi Cameni

I tried (with latest update tonight) the assignments as you mentioned but it does not capture the axis of the controllers when I move them. Not even the main controller. Just when I click with the mouse in the value area, it turns to another value or with right mouse click it errases the values.

Cheers

Title: Re: Assigning Joystick axis to Plane
Post by: ZeosPantera on March 07, 2012, 09:59:45 pm
Zeos, the problem with clutch/brake pedals has been addressed a week ago, did you try it with new versions? It now takes only the direction of axis movement into account.

I will try again but I think the problem is more hardware on my end being finicky.

I tried (with latest update tonight) the assignments as you mentioned but it does not capture the axis of the controllers when I move them. Not even the main controller. Just when I click with the mouse in the value area, it turns to another value or with right mouse click it erases the values

That is what mine was doing. Try repositioning all your axis' to there extremes before clicking to set. Also if you knew which one WAS binding you could focus on that one.
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 08, 2012, 02:00:46 am
Click with the mouse in the value area (for the function you want to map), it changes color to something reddish, and then you move the axis you want there in the direction you want. No longer needed to put it to extreme values before clicking, now it simply scans joystick axes and when it sees one changing the value by some threshold (1/4 of the axis swing), it returns it as the one you want to be bound.
Title: Re: Assigning Joystick axis to Plane
Post by: lonewulf47 on March 08, 2012, 04:57:16 pm
I just found that my controller settings are not store properly anymore. I use a Logitech Stick and a Saitek Throttle Quadrant. While the Logitech axes are properly recalled at startup the Saitek axes "throttle" and "mixture" are recalled without the prefix "1:"and thus are equal to the logitech axes. I have to reassign the throttle and mixture after each restart.
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 08, 2012, 05:12:10 pm
Will check it.
Title: Re: Assigning Joystick axis to Plane
Post by: Karamich on March 08, 2012, 10:03:55 pm
Click with the mouse in the value area (for the function you want to map), it changes color to something reddish, and then you move the axis you want there in the direction you want. No longer needed to put it to extreme values before clicking, now it simply scans joystick axes and when it sees one changing the value by some threshold (1/4 of the axis swing), it returns it as the one you want to be bound.

I tried your tutorial but what I see when I click in the value area, the red flickers/appears fast and disappears and a value othern than default is set (i.e: 2:axis7+) or something like that. So I think there is something not working when I click on the value because the red is not appearing as you said, just a flicker of red and it goes

Thanks again!

MK
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 09, 2012, 01:25:42 am
That would mean that axis7 is sending values as if someone was exercising with it. Now the axes are sometimes oscillating between two values, but for this we've got a threshold, and you have to swing the axis by 1/4 of value range for it to be accepted. So there's a problem or a bug.

What type of joystick it is?
Title: Re: Assigning Joystick axis to Plane
Post by: Karamich on March 09, 2012, 09:20:33 am
That would mean that axis7 is sending values as if someone was exercising with it. Now the axes are sometimes oscillating between two values, but for this we've got a threshold, and you have to swing the axis by 1/4 of value range for it to be accepted. So there's a problem or a bug.

What type of joystick it is?

The main joystick is a Logitech Wingman Force 3D, I have also the Saitek Pro Flight Rudder Pedals and the Thrustmaster HOTAS Warthog Throttle quadrant connected.

I need to verrify which one is the Controller #2 and see if it's sending noise or spikes to make Outerra record the values

Thanks
MK
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 09, 2012, 09:21:54 am
I just found that my controller settings are not store properly anymore. I use a Logitech Stick and a Saitek Throttle Quadrant. While the Logitech axes are properly recalled at startup the Saitek axes "throttle" and "mixture" are recalled without the prefix "1:"and thus are equal to the logitech axes. I have to reassign the throttle and mixture after each restart.
I tested it and it works as expected. That could mean that the iomap.cfg file is not written to disk successfully. That can happen because the app crashes earlier than it manages to write the changed configuration, or that outerra.exe doesn't have sufficient privileges to write the file. What's your data directory and UAC setting in Windows? It may be that outerra.exe cannot write the file under UAC when your data directory points to program files.
Title: Re: Assigning Joystick axis to Plane
Post by: lonewulf47 on March 09, 2012, 04:36:18 pm
I don't think that it is a matter of access rights as I see that iomap.cfg is updated and accepts changes of other cotrollers. It must be an issue with the throttle quadrant itself however I can't find any explanation as it is a common HID controller with no special features - actually the same kind as the joystick.

Here's what I set on the controller page:
(http://www.windoscar.ch/images/outerra-controller.jpg)

and here's what the part within the "plane" section reads for the throttle and mixture controllers (the axis controller reads exactly the values for primary and secondary as in the above picture)

{
         "name" : "throttle",
         "bindings" : [{"event_name":"Axis2","device_name":"INDEV_HID1","invert":true}]
      },
      {
         "name" : "throttle_up",
         "bindings" : [{"event_name":"Insert"}]
      },
      {
         "name" : "throttle_down",
         "bindings" : [{"event_name":"Delete"}]
      },
      {
         "name" : "mixture",
         "bindings" : [{"event_name":"Aaxis4"},{"event_name":"Axis0","device_name":"INDEV_HID1","invert":true}]
      },
      {
         "name" : "mixture_up",
         "bindings" : [{"event_name":"Home"}]
      },
      {
         "name" : "mixture_down",
         "bindings" : [{"event_name":"End"}]
      },

Apart from the strange entries in the first line of each the throttle and the mixture controller there are also no entries for the primary controller axis as seen in the picture above. Maybe this gives you a clue what happens here?
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 10, 2012, 12:27:06 am
Thanks, this should help. Asymmetrical throttle-type values are special, they get transformed from/to the config, and there probably the error occurs. I previously debugged the normal values.
Title: Re: Assigning Joystick axis to Plane
Post by: lonewulf47 on March 10, 2012, 02:41:39 am
I see. Maybe another hint. The assignment for the car is like this:

(http://www.windoscar.ch/images/outerra-controller01.jpg)

and the relevant entry in the iomap.cfg:
{
         "name" : "accelerate",
         "bindings" : [{"event_name":"Axis2-","device_name":"INDEV_HID1"},{"event_name":"W"},{"event_name":"Up"}]
      },
      {
         "name" : "reverse",
         "bindings" : [{"event_name":"Axis2+","device_name":"INDEV_HID1"},{"event_name":"S"},{"event_name":"Down"}]

However up to now I could never achieve reverse - neither with the keyboard key nor with the controller axis.
Title: Re: Assigning Joystick axis to Plane
Post by: ZeosPantera on March 10, 2012, 02:19:05 pm
I could never achieve reverse - neither with the keyboard key nor with the controller axis.

I am pretty damn sure the 8x8's reverse has never worked. I am still waiting for the vehicle controls to be defined a bit better. Brake+Reverse is a bit too arcade for the sim platform legacy Outerra is trying to achieve.
Title: Re: Assigning Joystick axis to Plane
Post by: lonewulf47 on March 11, 2012, 02:22:44 pm
The issue seems to be solved with the latest update. No more problems on saved axes. Thank you!

Another thing that came to my attention:

In the present helo setup you provide two different axes for trottle and collective. This is reasonable as long as they work properly. Presently I see ne reaction on the collective axis but the throttle axis is creating a lifting force instead. In a modern turbine helo things are exactly the other way round. While throttle is just "enabled" to keep the governed RPM it's the collective which is the "working tool". In old fashioned piston engined helos like the Bell 47 or the Hughes 300 you will have to work with throttle AND collective simultaneously.

And here some considerations for future control setups:

- Engine controls should of course sooner or later also feature a constant speed prop (RPM) control even it's not present on the C172 (it would be on the 200 HP C172 Reims Rocket...)

- Trim should be enabled for all three main axes using two distinctive buttons (or keys) for each axis. Everything else is not very comfortable in handling

- it should be possible to de-linearize the three main flight control axes. This makes smooth flying easier - together with proper trim
Title: Re: Assigning Joystick axis to Plane
Post by: mustang60348 on March 11, 2012, 07:12:18 pm
I have Saitek X45 Stick and Throttle, the program detects and uses all axis and buttons EXCEPT. Forward and Back and Left and Right on the Stick. I can assign the throttle to pitch up/pitch down OR to Aileron Left/Right but if I try and assign the Stick , it doesn't detect any movement, IOW, the box stays RED.

Latest X45 Drivers, Windows 7 64 Bit.

Any ideas.
Title: Re: Assigning Joystick axis to Plane
Post by: cameni on March 12, 2012, 02:13:43 am
Please attach your eng.log. I presume you push the stick all the way to the end and it works elsewhere.
Title: Re: Assigning Joystick axis to Plane
Post by: lonewulf47 on March 12, 2012, 10:31:03 am
Try to use it without any drivers. I NEVER use any drivers on pure HID as they usually cause more troubles than help  ;D
Title: Re: Assigning Joystick axis to Plane
Post by: angrypig on March 12, 2012, 10:57:23 am
I found the issue, it looks like some Joystick manufacturer didn't fill the HID descriptor properly but it can be driver issue too... I will try to fix it/workaround it somehow and it should works in the next update.
Title: Re: Assigning Joystick axis to Plane
Post by: angrypig on March 12, 2012, 12:15:03 pm
I have Saitek X45 Stick and Throttle, the program detects and uses all axis and buttons EXCEPT. Forward and Back and Left and Right on the Stick. I can assign the throttle to pitch up/pitch down OR to Aileron Left/Right but if I try and assign the Stick , it doesn't detect any movement, IOW, the box stays RED.

Latest X45 Drivers, Windows 7 64 Bit.

Any ideas.


But i still need the "eng.log"...
Title: Re: Assigning Joystick axis to Plane
Post by: mustang60348 on March 12, 2012, 02:00:47 pm
Where is the ENG.LOG located, I don't have one in my dir structure
Title: Re: Assigning Joystick axis to Plane
Post by: mustang60348 on March 12, 2012, 02:05:02 pm
I have Saitek X45 Stick and Throttle, the program detects and uses all axis and buttons EXCEPT. Forward and Back and Left and Right on the Stick. I can assign the throttle to pitch up/pitch down OR to Aileron Left/Right but if I try and assign the Stick , it doesn't detect any movement, IOW, the box stays RED.

Latest X45 Drivers, Windows 7 64 Bit.

Any ideas.


But i still need the "eng.log"...

I Found it....