Repository navigation
Advanced Configuration
This page covers the extended configuration of the Basic Configuration.
Enable OpenXinput to support more than 4 controllers for XInput version only.
Values :
0 = Disabled | 1 = Enabled
It's an experimental option. Allows both GtoMnK (gamepad to mouse/keyboard mapping) and the native gamepad backend to work at the same time on a per-button basis.
-
If a button is mapped to a key (e.g.
A = 13): That button will send the mapped keyboard key instead of native gamepad input. -
If a button is mapped to
0(e.g.A = 0): That button will pass through to the native gamepad backend unchanged, allowing games that natively support gamepads to use it directly.
Values :
0 = Disabled | 1 = Enabled
[API]
InputMethod=2
EnableOpenXinput=1
GamepadMaskHook=0
This option belongs to DrawProtoFakeCursor. Some games (notably Unity engine games) need DontShowCursorWhenImageUpdated enabled or the cursors will show when they shouldn't.
Values :
0 = Disabled | 1 = Enabled
Wait for a DLL to be loaded to start the GtoMnK thread.
Check the game window for every 500ms. Useful when a game frequently changes its window.
Values :
0 = Disabled | 1 = Enabled
Values :
0 = Disabled | 1 = Enabled
Disabling this option sometimes fixes the fake cursor issue.
Values :
0 = Disabled | 1 = Enabled
The delay (in milliseconds) at the end of each polling loop (4 is recommended). For maximum button responsiveness set 1.
Values : 1 = 1000 Hz | 4 = 250 Hz | 6 = 166 Hz | 16 = 60 Hz.
[Settings]
Controllerid=0
DrawProtoFakeCursor=0
StartUpDelay=0
DontShowCursorWhenImageUpdated=0
WaitForDllName=SDL2.dll
RecheckHWND=1
DisableOverlayOptions=0
CreatedWindowIsOwned=1
Responsetime=4
GtoMnK automatically finds the main window, but some rare games use one other than the main window.
[FindWindow]
WindowName=Specify Window Name
ClassName=Specify Class NameValue Range : -1.0 to 1.0
An "outer deadzone". Allows the mouse to reach max speed before the stick is fully pushed.
Value Range : 0.0 to 0.15
An additional deadzone applied to register only perfect left, right, up, or down inputs.
Value Range : 0.0 to 1.0
An "outer Sensitivity". Only at the very end of the stick's movement (effected by Max_Threshold).
Values : 1.0: No boost. Value > 1.0: Boosts speed when stick is near the edge.
Higher Value: (near 1.0): More Linear. The stick feels responsive immediately.
Lower Value: (near 0.0): More Curved. Allows the Curve_Exponent to dominate the feel.
Value Range : 0.0 to 1.0
Higher Value: Slower center (more precision), but ramps up steeper at the end.
Lower Value: (near 1.0): Flatter, closer to linear speed throughout.
Value Range : 0.0 to 10.0
[StickToMouse]
ThumbstickToMouse=2
Sensitivity=4.00
Sensitivity_Multiplier=2.40
Radial_Deadzone=0.15
Horizontal_Sensitivity=0.00
Vertical_Sensitivity=-0.50 ; Vertical Sensitivity is lower than the base Sensitivity
Max_Threshold=0.045
Axial_Deadzone=0.0
Look_Accel_Multiplier=1.15
Curve_Slope=0.16
Curve_Exponent=1.95
This section controls the feel of the touchpad when it's used to move the mouse.
This can be used with SDL versions only.
Values :
0 = Disabled | 1 = Enabled
The base speed of the mouse movement. Higher values makes the mouse move faster.
Value Range : -0.00 to 1.00
A micro-deadzone to ignore tiny hardware capacitive noise when a finger is resting. Prevents the mouse from vibrating or drifting when you hold still.
Value Range : 0.00 = Instant response (picks up noise) to 1.00 = Requires a full swipe to move.
Reduces mouse jitter by blending recent movements together. Used to prevent accidental mouse jitter when resting a finger on the pad.
Higher values make the mouse feel heavier and smoother, but introduce input delay.
Value Range : 0.00= No smoothing to 1.00= Maximum smoothing
[TouchToMouse]
TouchpadToMouse=1
Sensitivity=1500.00
Horizontal_Sensitivity=0.00
Vertical_Sensitivity=0.00
Deadzone=0.0015
Smoothing=0.65Defines how far you must push the thumbstick along a single axis.
Value Range : 0.0 to 1.0
Zones for RS_Inner and RS_Outer commands. They control how big the "light push"/"full push" zone is near the start/very edge of the stick's movement. When the stick is inside this zone, the Inner/Outer Ring button is active.
Higher Value: Bigger "light push"/"full push" zone.
Lower Value: Smaller "light push"/"full push" zone.
Value Range : 0.0 to 1.0
There are more options for setting the mapping keys, such as combine or press on release and hold, beyond the Basic Configuration :
Use plus + only to combine multiple keys.
Use caret ^ for key action when the button is released.
Use asterisk * for delayed key actions when the button is held down.
e.g X=^42+*30, also you can combine them like X=^(42+30)+*13.
There are also more buttons and mapped commands can be used such as:
Guide, Misc1, Paddle1, Paddle2, Paddle3, Paddle4, Touchpad_Button for SDL only.
LS_Inner, LS_Outer, RS_Inner, RS_Outer.
To add additional layers of button mapping, map a button in this section to Fn1 or Fn2, then use the [Fn1] and [Fn2] sections to map them to different actions.
[KeyMapping]
EnableMouseDoubleClick=0
StickAsButtonDeadzone=0.25
StickAsButtonAxialDeadzone=0.00
TriggerThreshold=40
InnerRingThreshold=0.10
OuterRingThreshold=0.10
A = 13
B = 0
X = 42
Y = 0
; Preset for Arrow Keys
D_UP = 14
D_DOWN = 15
D_LEFT = 16
D_RIGHT = 17
; Preset for layers of button
RB = Fn1
LB = Fn2
; Preset for mouse buttons
RT = -1
LT = -2
; Preset for WASD keys
LSU = 47
LSD = 43
LSL = 25
LSR = 28
; Preset for Escape and TAB keys
Start = 1
Back = 3
; The `RS_Outer` is mapped to 'Shift' key, which activates when the stick reaches the outer ring zone. For example 'Sprint' button will be assigned when the thumbstick reaches the `OuterRingThreshold`.
LS_Inner=0
LS_Outer=4
[Fn1]
; For example: when Fn1 is pressed use these instead of [KeyMapping]:
; Disable the mouse for Fn1 only:
ThumbstickToMouse=0
; Preset for WASD keys
LSU = 47
LSD = 43
LSL = 25
LSR = 28
; And use the right thumbstick as keys:
RSU = 14
RSD = 15
RSL = 16
RSR = 17
[Fn2]
; Can be set same as [Fn1]