How to reset joystick settings
Hi!
I was setting Doom 2 (from Steam) to be played with my XBox 360 controller. It was OK until I assigned the left stick to "MENU UP".
Now the menu cursor is crazy. It doesn't stop moving. I can't choose anything, unless I turn off the controller. It's happening with all Doom versions. Heretic is OK.
I've already uninstalled/reintalled Doomsday and the games, but it didn't work.
How do I reset the settings? :-/
I was setting Doom 2 (from Steam) to be played with my XBox 360 controller. It was OK until I assigned the left stick to "MENU UP".
Now the menu cursor is crazy. It doesn't stop moving. I can't choose anything, unless I turn off the controller. It's happening with all Doom versions. Heretic is OK.
I've already uninstalled/reintalled Doomsday and the games, but it didn't work.
How do I reset the settings? :-/
Comments
Alternatively when Doomsday is running you can open the console (Shift+Esc) and type "clearbindings", and then "defaultbindings". This will reset all your bindings also.
Clearbindings and defaultbindings did the trick, but I don't know why I can't get Doom to work with my wireless XBox 360 controller.
I go to the menu and when I hit ENTER to select the new key, then it automatically assigns JOY-W. It happens with every options.
For instance, I wanted to fire the gun with the controller right trigger, but when I hit ENTER, JOY-W is selected.
I know it's possible to play Doom with this controller because I've played it with GZDoom, but I wanted to use it with Doomsday.
It's doing that because your controller needs to have a deadzone defined. the Horizontal access on your Left stick is a little bit + or - in value when your controller is in the neutral position. Usually setting a deadzone permits for a little bit of that twitchy or worn-out controller dead-zoneing. Some controllers, just come with lower quality potentiometers, and have a mild zeroing issue normally.
Most game software TENDS to compensate for this known issue, by requiring a higher floating point value from the controller before accepting it a user input. But I with my 10-min of experience using the Doomsday ~ (emulator?), i don't see anything in the doomday-engine for setting a deadzone for our controllers.
In game, my character is slowly twirling, and slowly looking Up. I'd like to set a deadzone value to prevent this spinning. but i cant find one in any settings.
I also cant bind "Scroll Wheel UP/DOWN" to anything,
and i cant bind any POV/HAT directions to any Menu option.
I'm windows7ultamate, 1.15.?? of doomsday, using the doom 2 wad files from Steam. my controller is a Razor Saber-tooth, and my other controller is a wireless xbox 360 controller. both using the default xbox 360 wired and wireless drivers respectively.
its ridiculous but I'm using AUTOHOTKEY scripting language to convert those controller and mouse functions into keyboard-keys from outside the Doomsday application. and I'm not happy that i have to do so....
There are console variables for changing the deadzones, but they are not available via the GUI or menus anywhere. For instance, you could try setting "input-joy-w-deadzone" to something larger than the default 0.05, for instance 0.2.
(You can see all the joystick cvars in the autocompletion popup if you type "input-joy-" followed by Tab in the console.)
I might be typing it wrong but can i assign the Hat positions that way? or is there still issue with detecting any hat data other then "True" I read that the Hat/POV' thingie only gets detected as True because it sends data windows-messages rather then separate buttons, it's supposedly more like an analog then a button. but not like an analog in that it's messages instead of a floating point value?
The scroll wheel does that too, sending windows-messages i mean.
Are you able to see if you can bind those pov directions to menu navigation using the console? please?
please pretty please could you post here for everyone to see, what some examples of those command lines will look like? So google-searchers can land here for the solution to this hatty pov problem, (like i did)
following your advice, I've set all, my deadzones a little larger, as a few axis on my pad are just a tick deady.
so heres what i put into console and it's worked for the analogs all across the board so far:
This has worked to dead-zone all my analog axis!
but in typing "input-joy-" and pressing [tab] key, (((Or even typing "input-" and pressing [tab] key))) i see lots of info about axis, but i don't see anything at all about the Hat/pov? or am i reading it wrong? can you explain the hats pretty please? what can i input to assigning the hat/pov directions to the menu movement bindings?
also the term "help bindcontrol" is terribly ambiguious what control strings can i imput?
it only says "bindcontrol <string> <string>" what strings can i use? whats the list of things i can type in there as a string? how do i learn that "bindcontrol bigbird snuffelupagus" is not something that will work, but "bindcontrol menuUp joy1hatUP" might be?
for example:
bindcontrol speed joy+z
bindcontrol attack/fire joy-z
result in: ''Axis "" not defined in device joy bind control failed''
So i really don't know what I'm doing.
on a wild guess, i assumed "attack/fire" might be addressed just by the word "attack", and gave it a few tries.
bindcontrol attack joy-z+ //is an unknown axis
bindcontrol attack joy-z- //is an unknown axis
bindcontrol attack joy-z //syntax passed,
but now attacks if Z axis (the triggers) are positive(R) OR negative(L)...
so theres a LOT of mystery here for me... bindcontrol itself should -say in it's help- what the labels of it's controling strings accept.
<String1> accepts these values:
<string 2> accepts these values:
That would REALLY help things.
Lastly, I'm curious if there might be built in functionality for setting sense-zones or -actual- analog input for the analog movement?? i have written an auto-hotkey script ((Presently used only for Alice:MadnessReturns)) to send "shift+W" "shift+A" "shift+S" "shift+D" when analog-axis is tipped more then 50% in each direction. and just "W A S D" when tipped less then 50% (and nothing, when at 20% making it like a dead-zone) but i am just hoping for doomsday native analog support, specifically with doom and doom2 at the moment. is that in-there already??
Doomsday can tell you what it knows about input devices with the command "listinputdevices". The bindable controls can be listed with "listcontrols".
Have you checked out these wiki pages?
- http://wiki.dengine.net/w/Bindings
- http://wiki.dengine.net/w/Event_binding
Hats don't have any console variables, IIRC they are handled via input events only.Perhaps the best place to see some bindings examples if your "bindings.cfg" file that is written by Doomsday inside your runtime folder, for instance:
Note that the "local1-" prefix is the default, so if it's omitted Doomsday will treat is as "local1" anyway.
This functionality should exist, however I'm not certain whether it works fully at the moment. There are a couple of examples in the "Event bindings" wiki page I mentioned above. I'll give it a shot when I can grab hold of an Xbox 360 controller.
i used bindevent, i used it 5 times and was able to have each hat direction get called on and output a printed word or text to the console terminal log thingie...
but after asigning all 5, (including center) it ___ONLY___ responds to whatever the last bind-event was. Why would it do that instead of keeping all the boundevents??
bindevent sems to have no corispondance with how bindcontrol works at all calling on the same labeled devices as outlind in listdevicesdoesnt work unilaterally between bindcontrol and bindevent this is all just so BORKED. everything about this is wrong.
Further more when i call to list the controls events, damnit i don't even remember what now... when i do the call to list the available control things, it doesn't list any of the menu up menu down menu left and menu right, even though i can clearly see them in the controls menu of the game and bind them there (but only one, as it erases any other instances of them if i try to bind a different direction.
This is some seriously lousing codeing under the hood here. i mean really. overhaul drastically required. not just for xbox controlers, just in general for anyone with more then a keyboard and mouse in their hands. This is bad. Heres my Log and the mess of failure and tiny successes. all the names it says it can list, all the options missing from the list are obviously missing, and the failures it has when i call those things it says i can call. lastly the hat-play some where in the middle, where bindevent only recognized 1 element, the last element, of anything i set it to bind. and erased all other bindevents in the process.... it's all listen in my output log... resetting the joystick is this topic, and I've sorta hijacked the OP's topic. but i see now that on the Devs side, Resetting the joystick handelers, and re-writing the code from scratch with some intuitive effort, is entirely manditory at this point. it's holding this emulator back while other emulators are on-and-beyond- this with properly functioning joystick support. this thing is maddeningly frustrating, when theres tons of other opensourse emulators out there that got this working with other things, Doom included. *clueless* Is Mame opensource? oy.
FEDUP.LOG
Sounds very much like a bug. I'll submit it to our bug tracker.
Lol yes, that's always sound advice.
My cars not working! I need Advice!
Advice: buy another car!
That's practically a troll response.
But you put in a touch of useful truth,
let the mapping software of the few controllers designed to be mapped do all the work.
As mentioned above, I can write in autohotkey.
So i can, write a program in autohotkey to handle All the buttons and controls from my controller,
and map them to keyboard outputs for Doomsday, But that's not really the point.
This is functionality Doomsday has attempted and failed to include in their software.
So it's a huge Bug within the scope of the doomsday software design.
In an equally trolling thought:
Doomsday isn't working! I need Advice!
Advice: use some other emulator!
I -could- just use some other emulator engine too,
but the point is something is wrong with this one,
and that's what this thread is here to address.
Doomsday isn't handling it's joysticks right, and Work-arounds, third party software, or other emulators, aren't going to fix the stable releases of Doomsday.
Other emulators have done it, it works on them. Yay! Doomsday just needs to get it right and get up to speed with the rest.