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>;
};
}