Page 1 of 2

Problem with precision toggle in 1.71.2

Posted: Sat Jun 21, 2008 4:27 pm
by s8404755
Hi,

Hope someone can help me:

I have just started using v1.71.2 and when I press the button to toggle precision helm control, the ship imediately yaws to port continually until I turn it off again.

Needless to say, this is not what you need when you're lining up to blow an oncoming pirate to pieces.

Thanks,

Martin.

Posted: Sat Jun 21, 2008 4:30 pm
by DaddyHoggy
There's a button for precision helm control? News to me - so apologies can't help (although it does sound like a button/key mismatch in a config file perhaps?)

Hope you get it sorted.

Posted: Sat Jun 21, 2008 4:43 pm
by s8404755
just to clearify, I'm using my joystick to toggle this.

Posted: Sat Jun 21, 2008 5:48 pm
by Frame
s8404755 wrote:
just to clearify, I'm using my joystick to toggle this.
i think that must be a feature of your joystick, my guees is that you have bound the same key to the yaw left controle...

here is a list of supported keyevent options in oolite 1.7.1.2

Code: Select all

{
	key_roll_left				= 253;		// left arrow
	key_roll_right				= 252;		// right arrow
	key_pitch_forward			= 255;		// up arrow
	key_pitch_back				= 254;		// down arrow
	key_yaw_left				= ",";
	key_yaw_right				= ".";

	key_increase_speed			= "w";
	key_decrease_speed			= "s";
	key_inject_fuel				= "i";

	key_fire_lasers				= "a";
	key_launch_missile			= "m";
	key_next_missile			= "y";
	key_ecm						= "e";

	key_target_missile			= "t";
	key_untarget_missile		= "u";
	key_ident_system			= "r";

	key_scanner_zoom			= "z";
	key_scanner_unzoom			= "Z";

	key_launch_escapepod		= 27;		// escape
	key_energy_bomb				= "\t";		// tab

	key_galactic_hyperspace		= "g";
	key_hyperspace				= "h";
	key_jumpdrive				= "j";

	key_dump_cargo				= "d";
	key_rotate_cargo			= "R";

	key_autopilot				= "c";
	key_autopilot_target		= "C";
	key_autodock				= "D";

	key_snapshot				= "*";
	key_docking_music			= "s";

	key_advanced_nav_array		= "^";
	key_map_home				= 302;		// Home
	key_map_info				= "i";

	key_pausebutton				= "p";
	key_show_fps				= "F";
	key_mouse_control			= "M";

	key_comms_log				= "`";
	key_next_compass_mode		= "\";

	key_cloaking_device			= "0";

	key_contract_info			= "?";

	key_next_target				= "+";
	key_previous_target			= "-";

	key_custom_view				= "v";

	key_dump_target_state		= "H";
}
Afaik there is not any precission controle build into oolite.. but i been wrong before...

Posted: Sat Jun 21, 2008 10:16 pm
by s8404755
It's not a feature of my joystick, Roll/Pitch precision toggle is a feature of Oolite and can be mapped on the joystick options screen to any joystick button.

Also, when you press the button once, the port yaw continues until you press the button again. Whereas, if I press "," the yaw only happens until I release the key.

I will try re-mapping port yaw to another key...

Posted: Sat Jun 21, 2008 10:20 pm
by s8404755
Didn't work...

Posted: Wed Jun 25, 2008 9:56 pm
by caracal
s8404755 wrote:
It's not a feature of my joystick, Roll/Pitch precision toggle is a feature of Oolite and can be mapped on the joystick options screen to any joystick button.

Also, when you press the button once, the port yaw continues until you press the button again. Whereas, if I press "," the yaw only happens until I release the key.

I will try re-mapping port yaw to another key...
I get exactly the same behavior. In addition, if I try to map yaw to one of my joystick axes, not only does it not work, but the other axis stops working too. I tried so many variations (all unsuccessful) that the Lerelace cops cited me for flying while drunk.

I know that yaw control is a new and controversial feature, and I live in terror that they'll just yank it out as a bad job if it causes too much trouble. Don't want that, nooooo!

My particulars: Oolite svn from 17 June (also saw it on 1.71.2 release), Ubuntu 7.10 (yes, I should upgrade), Logitech "Attack3" joystick. (It's great when attacking three, but when I see five or more red blips, I wet my astronaut diapers.)

Posted: Wed Jun 25, 2008 10:07 pm
by DaddyHoggy
@Caracal (I'm stalking you already!).

I have pretty much exactly the same as you: Ubuntu 7.10 (I only just upgraded from 7.04 when 8.04 came out so they can wait if they think I'm going through all that again!), and Oolite 1.71,2 (installed by following this thread): https://bb.oolite.space/viewtopic.php?t=4595

I'm using a Thrustmaster Firestorm Dual Power 2 (twin analogue thumbstick gamepad) via USB and picked up natively by Ubuntu - YAW control works fine - left thumb stick is normal up/down roll left/right and the left<->right axis of right thumbstick is set to be the yaw control - and it works fine.

I've never tried this fancy precision control thing - didn't know there was such a setting!

Hope some/any of that helps.

DH

Posted: Wed Jun 25, 2008 10:19 pm
by caracal
DaddyHoggy wrote:
@Caracal (I'm stalking you already!).
How flattering!
I have pretty much exactly the same as you: Ubuntu 7.10 (I only just upgraded from 7.04 when 8.04 came out so they can wait if they think I'm going through all that again!), and Oolite 1.71,2 (installed by following this thread): https://bb.oolite.space/viewtopic.php?t=4595
Nice to hear from other Linux users!
I'm using a Thrustmaster Firestorm Dual Power 2 (twin analogue thumbstick gamepad) via USB and picked up natively by Ubuntu - YAW control works fine - left thumb stick is normal up/down roll left/right and the left<->right axis of right thumbstick is set to be the yaw control - and it works fine.
I knew I shoulda bought a three-axis 'stick! :evil:
I've never tried this fancy precision control thing - didn't know there was such a setting!
I found it in the "Joystick Setup" page in 1.65 and loved it right away. Great for lining up a Dead Man Flying for a long-range shot with a military flashlight.
Hope some/any of that helps.
Helps me kick myself, yeah. Thanks a lot! :wink: It's nice to give the subject some visibility, though; increases the chances it'll get addressed.

Posted: Thu Jun 26, 2008 11:38 pm
by drumz
I'm not getting this behavior. Try unsetting all axis and button mappings, and then set them back to how you want. If you still have this problem, post the contents of ~/GNUstep/Defaults/.GNUstepDefaults

Posted: Fri Jun 27, 2008 5:07 am
by caracal
drumz wrote:
I'm not getting this behavior. Try unsetting all axis and button mappings, and then set them back to how you want. If you still have this problem, post the contents of ~/GNUstep/Defaults/.GNUstepDefaults
Veddy interesting. I tried what you suggested, checking and saving my .GNUstepDefaults before and after each change. Sadly, it didn't rectify the problem, but it did shed some new light, at least a tiny bit.

I unset everything and indeed all the "Joystick*" entries got emptied out of the config file.Then I reset all the buttons and axes. This time, I tried setting the main stick to pitch/yaw instead of pitch/roll, just on a lark. Once I'd done that, the yaw worked when I moved the stick from side to side, but the pitch didn't. In a previous test a couple weeks ago, I'd tried to do that and my recollection was that neither axis worked, although it's possible that the yaw indeed worked, dunno. Memory ain't what it used to be, ya know.

But anyway, tonight after unsetting and resetting everything, as I said, my yaw worked but pitch did not. And with that setup, the precision toggle button initiated a continuous roll, where before it had initiated continuous yaw.

So I unset the yaw axis, and reset my side-to-side stick movement (what oolite calls "Axis 1") back to roll, just as I'd set it up originally when I got the stick. Now I'm back to exactly where I was when I reported this problem: pitch and roll work fine, and the precision toggle button initiates a continuous yaw. Without any other change than that described above, its behavior went from roll to yaw.

Oh, and I have also tried putting the precision toggle on other buttons, to no avail. Whichever button it's assigned to triggers the continuous movement.

I've been in this business a looong time, and this has the distinct air of a programmatic issue, presumably having to do with bitmasks or something. I haven't looked at the oolite joystick code yet; for all I know, this is an SDL problem, although the stick works fine in other apps. Can't swear that any of them use the SDL joystick interface, though. I should hunt one up and give it a try.

As requested, here's my .GNUstepDefaults file, after
  • Unsetting everything
  • Resetting everything, assigning Axis 1 to "yaw"
  • Unsetting yaw and assigning Axis 1 to "roll"
In case it helps, my precision toggle is currently assigned to "Button 8". For me, an acceptable workaround would be to add a keyboard control that toggled maneuvering precision. An added bonus would be if it affected keyboard maneuvering as well as joystick.

Thanks for the attention to this issue!

Code: Select all

{
    NSGlobalDomain = {
    };
    oolite = {
	"Arkie-humbletrash" = <*I63976>;
	"Duckworth-humbletrash" = <*I23224>;
	"Hogben P-humbletrash" = <*I2552>;
	"Hogben Test-humbletrash" = <*I12184>;
	"Hollister Sled-humbletrash" = <*I18856>;
	"Jameson-humbletrash" = <*I35912>;
	JoystickAxes = {
	    0 = {
		isAxis = <*BY>;
		stickAxBt = <*I0>;
		stickNum = <*I0>;
	    };
	    1 = {
		isAxis = <*BY>;
		stickAxBt = <*I1>;
		stickNum = <*I0>;
	    };
	    4 = {
		isAxis = <*BY>;
		stickAxBt = <*I2>;
		stickNum = <*I0>;
	    };
	};
	JoystickButs = {
	    10 = {
		isAxis = <*BN>;
		stickAxBt = <*I9>;
		stickNum = <*I0>;
	    };
	    13 = {
		isAxis = <*BN>;
		stickAxBt = <*I0>;
		stickNum = <*I0>;
	    };
	    14 = {
		isAxis = <*BN>;
		stickAxBt = <*I10>;
		stickNum = <*I0>;
	    };
	    15 = {
		isAxis = <*BN>;
		stickAxBt = <*I2>;
		stickNum = <*I0>;
	    };
	    16 = {
		isAxis = <*BN>;
		stickAxBt = <*I5>;
		stickNum = <*I0>;
	    };
	    17 = {
		isAxis = <*BN>;
		stickAxBt = <*I4>;
		stickNum = <*I0>;
	    };
	    19 = {
		isAxis = <*BN>;
		stickAxBt = <*I3>;
		stickNum = <*I0>;
	    };
	    20 = {
		isAxis = <*BN>;
		stickAxBt = <*I1>;
		stickNum = <*I0>;
	    };
	    23 = {
		isAxis = <*BN>;
		stickAxBt = <*I7>;
		stickNum = <*I0>;
	    };
	    9 = {
		isAxis = <*BN>;
		stickAxBt = <*I6>;
		stickNum = <*I0>;
	    };
	};
	"Rodney P-humbletrash" = <*I29384>;
	autosave = <*BN>;
	display_height = <*I1024>;
	display_refresh = <*I0>;
	display_width = <*I1600>;
	fullscreen = <*BN>;
	"reduced-detail-graphics" = <*BN>;
	"shader-effects-level" = <*I2>;
	volume_control = <*R0.3>;
	window_height = <*I1028>;
	window_width = <*I1620>;
    };
}

Posted: Fri Jun 27, 2008 5:11 am
by caracal
Oh, and you know what would really be Extra Credit here? If there was some little light or something on the HUD that indicated that I was in (or not in) "precision" mode. Back in 1.65, I just had to waggle the stick and judge whether I was in regular or precise mode.

Sigh, users, never happy with something that actually works. :wink:

Posted: Sun Jun 29, 2008 7:10 pm
by Moonlight Fox
Yeah! My three axis stick just arrived!

but.... where / how do I assign an axis to yaw?

I remember that I had to add the yaw option into the controls to get it to work on the keyboard, but I have no idea how I would get it to to use a joystick axis.
..help!

Posted: Sun Jun 29, 2008 8:29 pm
by Commander Mysenses
F2
Game Options
Joystick Configuration
Select Yaw, press enter to set
twist/turn/rotate whatever you are using for a yaw controller on your stick
Sorted!

Posted: Sun Jun 29, 2008 8:46 pm
by Moonlight Fox
Commander Mysenses wrote:
F2
Game Options
Joystick Configuration
Select Yaw, press enter to set
twist/turn/rotate whatever you are using for a yaw controller on your stick
Sorted!
If only it was that easy! There's no Yaw option.

Edit: I should have stated that I'm using version 1.65.