Controller issues - dosbox-staging/dosbox-staging GitHub Wiki
Table of contents (click to expand)
Game-specific controller issues and fixes
- Azrael's Tear
- Bedlam
- Chip's Challenge
- Eric the Unready
- FastTracker II
- Knights of Xentar
- Lemmings 2: The Tribes
- Mega Man 1 (DOS Game)
- Mega Man 3 (DOS Game)
- Might & Magic 4-5, World of Xeen
- Settlers & Settlers II
- Shannara
- The Elder Scrolls: Arena
- Ultima Underworld I & II
- Ultimate Doom
- X-Men: Madness in Murderworld
Whenever you map the trigger buttons of DualShock 4 to SHIFT
(for instance to look up/down while up/down is pressed simultaneously), the game might behave as if SHIFT
is held down all the time. This could make pause menu and alike unusable or preventing other keys to work as expected. [Reference].
Workaround: edit your mapper file and change the trailing 0
in axis 4 0
to a 1
like so:
key_lshift "stick_0 axis 4 1"
[Top]
DOSBox strives to emulate the original hardware as closely as possible, which can result in replicating erratic mouse behaviour present in some programs. As these issues are caused by suboptimally coded mouse handlers in the programs' code, usually there's not much to do about them at the emulator level. However, in some cases there are workarounds that can make the mouse behaviour more tolerable, plus it's good to keep track of these programs so we won't waste time on investigating mouse issues that are unfixable without patching the original code.
-
Open
dosbox-staging.conf
in a text editor, such as Notepad, Notepad++, TextEdit, Nano, Vim, or Vi. -
Locate the
mouse_sensitivity
setting.100
is the default mouse sensitivity value for Dosbox-Staging. -
Increase or decrease the value accordingly.
-
Save your changes and close
dosbox-staging.conf
.
-
Open
dosbox-staging.conf
in a text editor, such as Notepad, Notepad++, TextEdit, Nano, Vim, or Vi. -
Locate the
mouse_raw_input
setting.false
is the default value for this setting. -
Change the value from
false
totrue
. -
Save your changes and close
dosbox-staging.conf
.
[Top]
The mouse pointer jumps two pixels at a time when moved vertically. There is no workaround for this, but luckily it doesn't affect the gameplay at all.
[Top]
The mouse pointer movement becomes very laggy and "sticky" when using a cycles setting higher than about 10000. Using a low cycles value slows down the game considerably, but at least the mouse becomes usable (the game behaves exactly like this on real hardware; it's just not coded very well).
[cpu]
cycles = fixed 10000
[Top]
In order to reach the prompt to quit to DOS, you must press the CTRL
and X
keys simultaneously twice.
[Top]
The mouse movement is about twice as sensitive horizontally than vertically. The workaround is to reduce the horizontal sensitivity:
[sdl]
sensitivity = 50, 100
[Top]
The mouse needs to be moved with a certain minimum speed for the movement to be registered rightwards or downwards. You need to stay above this threshold to maintain a smooth continuous movement, otherwise you'll get a "stuck" mouse pointer or a weird "start/stop" behaviour once the speed falls below the threshold.
The issue is not present when moving the pointer leftwards or upwards.
[Top]
The mouse movement is about twice as sensitive horizontally than vertically. The workaround is to reduce the horizontal sensitivity:
[sdl]
sensitivity = 50, 100
[Top]
To quit to DOS from in-game:
-
While playing any level, double-click on the
Nuke
icon (the icon that looks like an explosion) to kill all the Lemmings. -
On the next screen, single-click on the
Menu
icon. -
You will then return to the Main Menu where you can single-click the
Exit
button to quit to DOS.
[Top]
Note: These are the controls for the DOS game called Mega Man 1, not the NES / Famicom game.
F1 = Speed Game Up
F2 = Slow Game Down
F9 = Toggle to pause and resume gameplay.
F10 = Exit to DOS
Esc = Display Weapons Select Menu
P, D, S, or V = selects one of your weapons in the Weapons Select Menu.
Left = Move Left
Right = Move Right
Up = Move Up (on Ladders)
Down = Move Down (on Ladders)
Space = Start Game (at the Title Screen) / Fire Your Weapon (In-Game)
J = Jump
[Top]
Note: These are the controls for the DOS game called Mega Man 3, not the NES / Famicom game.
F1 = Speed Game Up
F2 = Slow Game Down
F9 = Toggle to pause and resume gameplay.
F10 = Exit to DOS
Esc = Display Weapons Select Menu
P, D, S, or V = selects one of your weapons in the Weapons Select Menu.
Left = Move Left
Right = Move Right
Up = Move Up (on Ladders)
Down = Move Down (on Ladders)
Space = Start Game (at the Title Screen) / Fire Your Weapon (In-Game)
J = Jump
[Top]
The mouse pointer has a tendency to disappear in some menu screens in the upper half of the screen on fast machines. The solution is to use a low fixed cycles setting. Try 20000 and keep lowering it until the cursor is visible most of the time.
[cpu]
cycles = fixed 20000
[Top]
The Settlers and The Settlers II: Gold can now be played by two human players on a single computer, each controlling the game with their own mouse. See here for details.
[Top]
The mouse movement is about twice as sensitive horizontally than vertically. The workaround is to reduce the horizontal sensitivity:
[sdl]
sensitivity = 50, 100
[Top]
arena.zip contains an arena.map
mapper file specifically modified for Dosbox-Staging that is based on TES Arena Re-Remapped 3.0.
To use this mapper file, open dosbox-staging.conf
in a text editor, go to the [sdl]
section, locate the mapperfile
setting, and specify the path to arena.map
accordingly. For example: mapperfile = c:\dosgames\arena\arena.map
If you need to type something in the game with this mod, you need to hold down Left-Ctrl
, so keys that were changed will change back to the original.
QWEASD for movement
R for rest
F to draw your weapon
Z for pilfering
X to drop an item in inventory menu
C for cast
Shift + C for quick cast of last spell that were casted
V for item use menu
TAB for character panel
T for status check
SPACE for jump
Left-Shift + SPACE for jumping forward
M for local map
O for world map
The other buttons from TES Arena Re-Remapped 3.0 have not been changed.
[Top]
The mouse pointer has a weird jerky behaviour with the default settings. You cannot move it just a little, you need go over a certain "minimum movement speed threshold" to move it at all. This makes it very hard to make fine movements. The behaviour is present on real hardware too, so the game's mouse handling is simply badly coded.
It's possible to achieve better-than-hardware mouse behaviour with the below settings (tested on Windows 10). mouse_sensitivity
needs to be at least 150 (you can go higher as well). mouse_raw_input = off
is not strictly necessary but it improves precision when moving the pointer slowly. If the resulting mouse sensitivity is too high, you can try lowering the OS-level mouse sensitivity to compensate (remember, you need mouse_sensitivity
to be at 150 or higher for the fix to work).
[mouse]
mouse_raw_input = off
mouse_sensitivity = 150
[Top]
Note: This also applies to Doom 2 and the other Doom engine games, such as Chex Quest, Heretic, Hexen 1, and Strife: Quest for the Sigil, etc.
NOVERT.COM
is not needed for Dosbox-Staging because Dosbox-Staging already has its own tools to handle this situation.
Setting NOVERT using mouse_sensitivity or mousectl
- Set
mouse_sensitivity = 100,0
in yourdosbox-staging.conf
's[mouse]
section or .bat file such as the one below (the zero disables the Y axis):
(Default X mouse sensitivity value is already 100)
mouse_sensitivity = 100,0
c:
cd doom
doom.exe
OR
- You can use Dosbox-Staging's built-in
MOUSECTL
program to accomplish the same thing in a .bat file such as the one below:
(Default X mouse sensitivity value is already 100)
mousectl dos -sx 100
mousectl dos -sy 0
c:
cd doom
doom.exe
Mouse Inversion
Another tip: Using either mouse_sensitivity
or mousectl
, you can invert the mouse axis by setting the Y axis to a negative value, like 100,-100:
mouse_sensitivity = 100,-100
mousectl dos -sx 100
mousectl dos -sy -100
Or dampen it by 50% but still invert it with 100,-50:
mouse_sensitivity = 100,-50
mousectl dos -sx 100
mousectl dos -sy -50
[Top]
Number pad keys 1
,3
, 7
, and 9
are used for attacks.
The number pad keys are located on your keyboard to the right of the Page Up
and Page Down
keys.
[Top]