Skip to content

Control mappings

Myp3a edited this page Jun 1, 2023 · 13 revisions

Genshin Impact uses Rewired as underlying input system. Rewired is using so-called "Controller maps", which are just fancy XMLs with buttons/axis definitions.
It's pretty convenient that all mappings are shown in Genshin's settings after they are added - so you can bind attack to keyboard button, for example, and then rebind it from Genshin Impact in-game settings.

How does it work?

There are a few steps in the chain between player's thought and a game action.

  1. Player presses a button on the controller
  2. Controller's button is translated to element identifier ID
  3. Action element map is being used to match that ID to the action ID
  4. Game receives action ID and does it.

Overrides

Part of the config
"_overrideControllerMapKeyList": [
    "OverrideControllerMap__d74a350e-fe8b-4e9e-bbcd-efff16d34115__2000000",
    "OverrideControllerMap__d74a350e-fe8b-4e9e-bbcd-efff16d34115__2001000",
    "OverrideControllerMap__00000000-0000-0000-0000-000000000000__0"
  ],
"_overrideControllerMapValueList": [
    <?xml version="1.0" encoding="utf-16"?>
    <JoystickMap dataVersion="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://guavaman.com/rewired http://guavaman.com/schemas/rewired/1.1/KeyboardMap.xsd"
        xmlns="http://guavaman.com/rewired"> <sourceMapId>9</sourceMapId>
        <categoryId>0</categoryId>
        <layoutId>0</layoutId>
        <name></name>
        <hardwareGuid>d74a350e-fe8b-4e9e-bbcd-efff16d34115</hardwareGuid>
        <enabled>true</enabled>
        <buttonMaps>
            <ActionElementMap>
                <actionCategoryId>0</actionCategoryId>
                <actionId>5</actionId>
                <elementType>1</elementType>
                <elementIdentifierId>13</elementIdentifierId>
                <axisRange>0</axisRange>
                ...

The _overrideControllerMapKeyList has a list of controller overrides. They look like OverrideControllerMap__{Controller ID}__{Yet unknown number}. For every value, there must be a matching controller in _overrideControllerMapValueList that contain the keybindings definitions.

Controller is defined like this:

<?xml version="1.0" encoding="utf-16"?>
<JoystickMap dataVersion="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://guavaman.com/rewired http://guavaman.com/schemas/rewired/1.1/KeyboardMap.xsd" xmlns="http://guavaman.com/rewired">
    <sourceMapId>9</sourceMapId>
    <categoryId>0</categoryId>
    <layoutId>0</layoutId>
    <name></name>
    <hardwareGuid>d74a350e-fe8b-4e9e-bbcd-efff16d34115</hardwareGuid>
    <enabled>true</enabled>
    <buttonMaps>
        <!--List of ActionElementMap for buttons-->
    </buttonMaps>
    <axisMaps>
        <!--List of ActionElementMap for buttons-->
    </axisMaps>
</JoystickMap>

JoystickMap is used for gamepads, KeyboardMap - for keyboard, and MouseMap for mouse. KeyboardMap has no axis maps.

Elements breakdown:

Name Value Description
sourceMapId ? ?
categoryId 0-1? ?
layoutId 0? ?
name Empty ?
hardwareGuid UUID UUID of the device, 0's for keyboard
enabled true Status?
buttonMaps List of ActionElementMap Button mappings
axisMaps List of ActionElementMap Axis mappings, absent on keyboard

Controller IDs

Every controller has it's own ID for the game to discriminate it from the others.

Currently known IDs

Name UUID Controller Number Map Name
XInput Gamepad d74a350e-fe8b-4e9e-bbcd-efff16d34115 2000xxx JoystickMap
Keyboard 00000000-0000-0000-0000-000000000000 0 KeyboardMap
Mouse 00000000-0000-0000-0000-000000000000 1000xxx MouseMap

Wait, you said "mouse"?

Yes, mouse can be remapped too! However, base actions probably can't be changed, so there always would be Attack and Sprint. But you can change buttons for them and map mouse custom buttons to actions.

If you want to use mouse, first enable dev mode. Then, use Controls - Add mouse controller to add the mouse, and restart the configurator.
Add mouse button
"Add mouse" button

After that, you can configure mouse bindings from the GUI.

Example mouse config
<?xml version="1.0" encoding="utf-16"?>
<MouseMap dataVersion="2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://guavaman.com/rewired http://guavaman.com/schemas/rewired/1.1/MouseMap.xsd"
    xmlns="http://guavaman.com/rewired"> <sourceMapId>0</sourceMapId>
    <categoryId>0</categoryId>
    <layoutId>0</layoutId>
    <name></name>
    <hardwareGuid>00000000-0000-0000-0000-000000000000</hardwareGuid>
    <enabled>true</enabled>
    <buttonMaps>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>16</actionId>
            <elementType>1</elementType>
            <elementIdentifierId>3</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>57</actionId>
            <elementType>1</elementType>
            <elementIdentifierId>5</elementIdentifierId>
            <axisRange>1</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>138</actionId>
            <elementType>1</elementType>
            <elementIdentifierId>4</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>139</actionId>
            <elementType>1</elementType>
            <elementIdentifierId>3</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>21</actionId>
            <elementType>1</elementType>
            <elementIdentifierId>4</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
    </buttonMaps>
    <axisMaps>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>30</actionId>
            <elementType>0</elementType>
            <elementIdentifierId>0</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>31</actionId>
            <elementType>0</elementType>
            <elementIdentifierId>1</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
        <ActionElementMap>
            <actionCategoryId>0</actionCategoryId>
            <actionId>54</actionId>
            <elementType>0</elementType>
            <elementIdentifierId>2</elementIdentifierId>
            <axisRange>0</axisRange>
            <invert>false</invert>
            <axisContribution>0</axisContribution>
            <keyboardKeyCode>0</keyboardKeyCode>
            <modifierKey1>0</modifierKey1>
            <modifierKey2>0</modifierKey2>
            <modifierKey3>0</modifierKey3>
            <enabled>true</enabled>
        </ActionElementMap>
    </axisMaps>
</MouseMap>

Element Identifiers IDs

This is the IDs of controller's buttons. Fresh ones can be found here. There are CSV files which has relationships between element identifier IDs and physical keys.

Keyboard Element Identifiers
Button Element Identifier
0 None
A 1
B 2
C 3
D 4
E 5
F 6
G 7
H 8
I 9
J 10
K 11
L 12
M 13
N 14
O 15
P 16
Q 17
R 18
S 19
T 20
U 21
V 22
W 23
X 24
Y 25
Z 26
0 27
1 28
2 29
3 30
4 31
5 32
6 33
7 34
8 35
9 36
Numpad 0 37
Numpad 1 38
Numpad 2 39
Numpad 3 40
Numpad 4 41
Numpad 5 42
Numpad 6 43
Numpad 7 44
Numpad 8 45
Numpad 9 46
Numpad . 47
Numpad / 48
Numpad * 49
Numpad - 50
Numpad + 51
Space 54
Backspace 55
Tab 56
Clear 57
Enter 58
Pause 59
ESC 60
' 66
, 71
- 72
. 73
/ 74
; 76
= 78
[ 82
\ 83
] 84
~ 87
Delete 88
Arrow Up 89
Arrow Down 90
Arrow Right 91
Arrow Left 92
Insert 93
Home 94
End 95
Page Up 96
Page Down 97
F1 98
F2 99
F3 100
F4 101
F5 102
F6 103
F7 104
F8 105
F9 106
F10 107
F11 108
F12 109
F13 110
F14 111
F15 112
NumLock 113
CapsLock 114
ScrollLock 115
Right Shift 116
Left Shift 117
Right Ctrl 118
Left Ctrl 119
Right Alt 120
Left Alt 121
Left Win 124
Right Win 125
Help 127
Print 128
XBox Gamepad Element Identifiers
Button Element Identifier
Left Stick X 0
Left Stick Y 1
Right Stick X 2
Right Stick Y 3
Left Trigger 4
Right Trigger 5
A 6
B 7
X 8
Y 9
Left Shoulder 10
Right Shoulder 11
Back 12
Start 13
Left Stick Button 14
Right Stick Button 15
D-Pad Up 16
D-Pad Right 17
D-Pad Down 18
D-Pad Left 19
Left Stick 20
Right Stick 21
Guide 22
DualShock/DualSense Gamepad Element Identifiers
Button Element Identifier
Left Stick X 0
Left Stick Y 1
Right Stick X 2
Right Stick Y 3
Left Trigger 4
Right Trigger 5
Cross 6
Circle 7
Square 8
Triangle 9
Left Shoulder 10
Right Shoulder 11
Share 12
Options 13
PS Button 14
Touchpad Button 15
Left Stick Button 16
Right Stick Button 17
D-Pad Up 18
D-Pad Right 19
D-Pad Down 20
D-Pad Left 21
Left Stick 22
Right Stick 23
Mute 24
Mouse Element Identifiers
Button Element Identifier
Mouse Horizontal 0
Mouse Vertical 1
Mouse Wheel 2
Left Mouse Button 3
Right Mouse Button 4
Middle Mouse Button 5
Mouse 4 6
Mouse 5 7
Mouse 6 8
Mouse 7 9
Mouse Wheel Horizontal 10

Action Element Map

Example element
<ActionElementMap>
    <actionCategoryId>0</actionCategoryId>
    <actionId>5</actionId>
    <elementType>1</elementType>
    <elementIdentifierId>13</elementIdentifierId>
    <axisRange>0</axisRange>
    <invert>false</invert>
    <axisContribution>0</axisContribution>
    <keyboardKeyCode>0</keyboardKeyCode>
    <modifierKey1>0</modifierKey1>
    <modifierKey2>0</modifierKey2>
    <modifierKey3>0</modifierKey3>
    <enabled>true</enabled>
</ActionElementMap>

Single key or axis mapping.

Name Value Description
actionCategoryId 0 ?, not used
actionId int Action ID
elementType 0-1 0 for axis, 1 for button
elementIdentifierId int Button code
axisRange 0 Sometimes different than 0, but appears unused
invert false Invert (for axis)
axisContribution 0 Sometimes different than 0, but appears unused
keyboardKeyCode 0 Appears unused
modifierKey1 0-3 0 - no modifier, 1 - Ctrl, 2 - Alt, 3 - Shift
modifierKey2 0-3 Same, second modifier
modifierKey3 0-3 Same, third modifier (Something like Ctrl+Alt+Shift+Z is possible)
enabled true Control enabled

Action IDs

In-game actions and their IDs.

Genshin Impact 2.4 disassembled actions
public static class Action // TypeDefIndex: 30656
{
	// Fields
	[ActionIdFieldInfo] // 0x0000000180187CE0-0x0000000180187D20
	public const int MOVE_HORIZONTAL = 0; // Metadata: 0x00AF2434
	[ActionIdFieldInfo] // 0x000000018018F480-0x000000018018F4C0
	public const int MOVE_VERTICAL = 1; // Metadata: 0x00AF2438
	[ActionIdFieldInfo] // 0x0000000180195B00-0x0000000180195B40
	public const int PICK_TALK = 22; // Metadata: 0x00AF243C
	[ActionIdFieldInfo] // 0x000000018019CAA0-0x000000018019CAE0
	public const int OPEN_PAIMON = 5; // Metadata: 0x00AF2440
	[ActionIdFieldInfo] // 0x00000001801A3500-0x00000001801A3540
	public const int VIEW_HORIZONTAL = 30; // Metadata: 0x00AF2444
	[ActionIdFieldInfo] // 0x00000001801A9DA0-0x00000001801A9DE0
	public const int VIEW_VERTICAL = 31; // Metadata: 0x00AF2448
	[ActionIdFieldInfo] // 0x00000001801B05D0-0x00000001801B0610
	public const int LEFT_SHOULDER = 34; // Metadata: 0x00AF244C
	[ActionIdFieldInfo] // 0x00000001801B70A0-0x00000001801B70E0
	public const int RIGHT_SHOULDER = 35; // Metadata: 0x00AF2450
	[ActionIdFieldInfo] // 0x00000001801BD590-0x00000001801BD5D0
	public const int MENU_BACK = 42; // Metadata: 0x00AF2454
	[ActionIdFieldInfo] // 0x00000001801C39E0-0x00000001801C3A20
	public const int MENU_CONFIRM = 40; // Metadata: 0x00AF2458
	[ActionIdFieldInfo] // 0x00000001801CA1F0-0x00000001801CA230
	public const int MENU_LEFT = 41; // Metadata: 0x00AF245C
	[ActionIdFieldInfo] // 0x00000001801D0F00-0x00000001801D0F40
	public const int MENU_UP = 63; // Metadata: 0x00AF2460
	[ActionIdFieldInfo] // 0x00000001801D7720-0x00000001801D7760
	public const int LEFT_TRIGGER = 51; // Metadata: 0x00AF2464
	[ActionIdFieldInfo] // 0x00000001801DE0E0-0x00000001801DE120
	public const int RIGHT_TRIGGER = 52; // Metadata: 0x00AF2468
	[ActionIdFieldInfo] // 0x00000001801E4CD0-0x00000001801E4D10
	public const int SLIP = 53; // Metadata: 0x00AF246C
	[ActionIdFieldInfo] // 0x00000001801EB920-0x00000001801EB960
	public const int ZOOM_CAMERA = 54; // Metadata: 0x00AF2470
	[ActionIdFieldInfo] // 0x00000001801F21C0-0x00000001801F2200
	public const int SLOW_MOVE = 55; // Metadata: 0x00AF2474
	[ActionIdFieldInfo] // 0x00000001801F8800-0x00000001801F8840
	public const int CHANGE_WITH_SKILL = 56; // Metadata: 0x00AF2478
	[ActionIdFieldInfo] // 0x00000001801FF110-0x00000001801FF150
	public const int RESET_CAMERA = 57; // Metadata: 0x00AF247C
	[ActionIdFieldInfo] // 0x0000000180206230-0x0000000180206270
	public const int DEBUG_MENU = 58; // Metadata: 0x00AF2480
	[ActionIdFieldInfo] // 0x000000018020CE90-0x000000018020CED0
	public const int QUEST_TRANSPORT = 18; // Metadata: 0x00AF2484
	[ActionIdFieldInfo] // 0x00000001802133F0-0x0000000180213430
	public const int MENU_RIGHT = 71; // Metadata: 0x00AF2488
	[ActionIdFieldInfo] // 0x0000000180219CA0-0x0000000180219CE0
	public const int MENU_DOWN = 72; // Metadata: 0x00AF248C
	[ActionIdFieldInfo] // 0x0000000180220550-0x0000000180220590
	public const int CHALLENGE_INTERRUPT = 84; // Metadata: 0x00AF2490
	[ActionIdFieldInfo] // 0x0000000180226F70-0x0000000180226FB0
	public const int CHALLENGE_INTERRUPT_JOYSTICK = 85; // Metadata: 0x00AF2494
	[ActionIdFieldInfo] // 0x000000018022D870-0x000000018022D8B0
	public const int MENUNEXT = 123; // Metadata: 0x00AF2498
	[ActionIdFieldInfo] // 0x0000000180234080-0x00000001802340C0
	public const int OPENTEAMPAGE = 131; // Metadata: 0x00AF249C
	[ActionIdFieldInfo] // 0x000000018023ACB0-0x000000018023ACF0
	public const int OPENFRIENDPAGE = 132; // Metadata: 0x00AF24A0
	[ActionIdFieldInfo] // 0x0000000180241370-0x00000001802413B0
	public const int MOUSELEFTBUTTON = 138; // Metadata: 0x00AF24A4
	[ActionIdFieldInfo] // 0x0000000180247FA0-0x0000000180247FE0
	public const int MOUSERIGHTBUTTON = 139; // Metadata: 0x00AF24A8
	[ActionIdFieldInfo] // 0x000000018024E450-0x000000018024E490
	public const int HOMEWORLD_CREATECUSTOMSUITE_JOYSTICK = 141; // Metadata: 0x00AF24AC
	[ActionIdFieldInfo] // 0x0000000180255010-0x0000000180255050
	public const int SKILL1 = 16; // Metadata: 0x00AF24B0
	[ActionIdFieldInfo] // 0x000000018025B6A0-0x000000018025B6E0
	public const int SKILL2 = 17; // Metadata: 0x00AF24B4
	[ActionIdFieldInfo] // 0x0000000180261FA0-0x0000000180261FE0
	public const int SPRINT_OR_SKILL3 = 21; // Metadata: 0x00AF24B8
	[ActionIdFieldInfo] // 0x0000000180268900-0x0000000180268940
	public const int JUMP_OR_SKILL4 = 15; // Metadata: 0x00AF24BC
	[ActionIdFieldInfo] // 0x000000018026F2A0-0x000000018026F2E0
	public const int SKILL5 = 20; // Metadata: 0x00AF24C0
	[ActionIdFieldInfo] // 0x0000000180276470-0x00000001802764B0
	public const int QUICKUSE = 87; // Metadata: 0x00AF24C4
	[ActionIdFieldInfo] // 0x000000018027C870-0x000000018027C8B0
	public const int ACTIVITYSKILL = 88; // Metadata: 0x00AF24C8
	[ActionIdFieldInfo] // 0x0000000180282E50-0x0000000180282E90
	public const int EXTRASELECTUP = 89; // Metadata: 0x00AF24CC
	[ActionIdFieldInfo] // 0x0000000180289730-0x0000000180289770
	public const int EXTRASELECTDOWN = 90; // Metadata: 0x00AF24D0
	[ActionIdFieldInfo] // 0x000000018028FEC0-0x000000018028FF00
	public const int EXTRASELECTLEFT = 91; // Metadata: 0x00AF24D4
	[ActionIdFieldInfo] // 0x00000001802964A0-0x00000001802964E0
	public const int EXTRASELECTRIGHT = 92; // Metadata: 0x00AF24D8
	[ActionIdFieldInfo] // 0x000000018029CA80-0x000000018029CAC0
	public const int TO_AVATAR1 = 7; // Metadata: 0x00AF24DC
	[ActionIdFieldInfo] // 0x00000001802A4090-0x00000001802A40D0
	public const int TO_AVATAR2 = 8; // Metadata: 0x00AF24E0
	[ActionIdFieldInfo] // 0x00000001802AA800-0x00000001802AA840
	public const int TO_AVATAR3 = 9; // Metadata: 0x00AF24E4
	[ActionIdFieldInfo] // 0x00000001802B1070-0x00000001802B10B0
	public const int OPEN_MAP = 2; // Metadata: 0x00AF24E8
	[ActionIdFieldInfo] // 0x00000001802B7AC0-0x00000001802B7B00
	public const int OPEN_CHARACTER = 3; // Metadata: 0x00AF24EC
	[ActionIdFieldInfo] // 0x00000001802BEA40-0x00000001802BEA80
	public const int OPEN_BAG = 4; // Metadata: 0x00AF24F0
	[ActionIdFieldInfo] // 0x00000001802C52B0-0x00000001802C52F0
	public const int TOGGLE_QUEST_BOOK = 6; // Metadata: 0x00AF24F4
	[ActionIdFieldInfo] // 0x00000001802CBAF0-0x00000001802CBB30
	public const int TOGGLE_ATTACK_MODE = 27; // Metadata: 0x00AF24F8
	[ActionIdFieldInfo] // 0x00000001802D2370-0x00000001802D23B0
	public const int HELP = 10; // Metadata: 0x00AF24FC
	[ActionIdFieldInfo] // 0x00000001802D8A80-0x00000001802D8AC0
	public const int MULTIPLAYER = 65; // Metadata: 0x00AF2500
	[ActionIdFieldInfo] // 0x00000001802DF590-0x00000001802DF5D0
	public const int TO_AVATAR4 = 66; // Metadata: 0x00AF2504
	[ActionIdFieldInfo] // 0x00000001802E5DE0-0x00000001802E5E20
	public const int OPEN_GACHA = 73; // Metadata: 0x00AF2508
	[ActionIdFieldInfo] // 0x00000001802EC430-0x00000001802EC470
	public const int OPEN_CHAT = 75; // Metadata: 0x00AF250C
	[ActionIdFieldInfo] // 0x00000001802F2B60-0x00000001802F2BA0
	public const int OPEN_NOTIFY = 76; // Metadata: 0x00AF2510
	[ActionIdFieldInfo] // 0x00000001802F8EB0-0x00000001802F8EF0
	public const int OPEN_DUNGEON_FACTOR = 77; // Metadata: 0x00AF2514
	[ActionIdFieldInfo] // 0x00000001802FF690-0x00000001802FF6D0
	public const int TO_AVATAR5 = 78; // Metadata: 0x00AF2518
	[ActionIdFieldInfo] // 0x0000000180305C90-0x0000000180305CD0
	public const int OPENHANDBOOK = 79; // Metadata: 0x00AF251C
	[ActionIdFieldInfo] // 0x000000018030C370-0x000000018030C3B0
	public const int TRACKQUEST = 80; // Metadata: 0x00AF2520
	[ActionIdFieldInfo] // 0x0000000180312890-0x00000001803128D0
	public const int OPENPUSHTIPS = 81; // Metadata: 0x00AF2524
	[ActionIdFieldInfo] // 0x0000000180318F20-0x0000000180318F60
	public const int OPENACTIVITYNORMAL = 82; // Metadata: 0x00AF2528
	[ActionIdFieldInfo] // 0x000000018031FB00-0x000000018031FB40
	public const int OPENBATTLEPASS = 83; // Metadata: 0x00AF252C
	[ActionIdFieldInfo] // 0x0000000180326170-0x00000001803261B0
	public const int HIDE = 86; // Metadata: 0x00AF2530
	[ActionIdFieldInfo] // 0x000000018032C800-0x000000018032C840
	public const int F1 = 124; // Metadata: 0x00AF2534
	[ActionIdFieldInfo] // 0x0000000180333140-0x0000000180333180
	public const int F2 = 125; // Metadata: 0x00AF2538
	[ActionIdFieldInfo] // 0x00000001803396C0-0x0000000180339700
	public const int F3 = 126; // Metadata: 0x00AF253C
	[ActionIdFieldInfo] // 0x000000018033FC80-0x000000018033FCC0
	public const int RETURN = 127; // Metadata: 0x00AF2540
	[ActionIdFieldInfo] // 0x0000000180346820-0x0000000180346860
	public const int OPENHOMEWORLDHANDBOOK = 129; // Metadata: 0x00AF2544
	[ActionIdFieldInfo] // 0x000000018034CFA0-0x000000018034CFE0
	public const int OPENHOMEWORLDEDITOR = 130; // Metadata: 0x00AF2548
	[ActionIdFieldInfo] // 0x0000000180353830-0x0000000180353870
	public const int OBJECTTURNUP = 133; // Metadata: 0x00AF254C
	[ActionIdFieldInfo] // 0x0000000180359B90-0x0000000180359BD0
	public const int OBJECTTURNDOWN = 134; // Metadata: 0x00AF2550
	[ActionIdFieldInfo] // 0x0000000180360730-0x0000000180360770
	public const int OBJECTTURNLEFT = 135; // Metadata: 0x00AF2554
	[ActionIdFieldInfo] // 0x0000000180366F00-0x0000000180366F40
	public const int OBJECTTURNRIGHT = 136; // Metadata: 0x00AF2558
	[ActionIdFieldInfo] // 0x000000018036D330-0x000000018036D370
	public const int ENTER_FOCUS_MODE = 28; // Metadata: 0x00AF255C
	[ActionIdFieldInfo] // 0x0000000180374B70-0x0000000180374BB0
	public const int CHANGE_AVATAR_TRIGGER = 33; // Metadata: 0x00AF2560
	[ActionIdFieldInfo] // 0x000000018037B4E0-0x000000018037B520
	public const int RIGHT_STICK_BUTTON = 19; // Metadata: 0x00AF2564
	[ActionIdFieldInfo] // 0x0000000180381BB0-0x0000000180381BF0
	public const int LEFT_STICK_BUTTON = 67; // Metadata: 0x00AF2568
	[ActionIdFieldInfo] // 0x0000000180387110-0x0000000180387150
	public const int MOVE = 29; // Metadata: 0x00AF256C
	[ActionIdFieldInfo] // 0x000000018038F1B0-0x000000018038F1F0
	public const int VIEW = 32; // Metadata: 0x00AF2570
	[ActionIdFieldInfo] // 0x0000000180395C80-0x0000000180395CC0
	public const int MOVE_FORWARD_SHOW = 23; // Metadata: 0x00AF2574
	[ActionIdFieldInfo] // 0x000000018039C5D0-0x000000018039C610
	public const int MOVE_LEFT_SHOW = 24; // Metadata: 0x00AF2578
	[ActionIdFieldInfo] // 0x00000001803A2EE0-0x00000001803A2F20
	public const int MOVE_RIGHT_SHOW = 25; // Metadata: 0x00AF257C
	[ActionIdFieldInfo] // 0x00000001803A95F0-0x00000001803A9630
	public const int MOVE_BACKWARD_SHOW = 26; // Metadata: 0x00AF2580
	[ActionIdFieldInfo] // 0x00000001803AFB90-0x00000001803AFBD0
	public const int LEFT_STICK_UP = 47; // Metadata: 0x00AF2584
	[ActionIdFieldInfo] // 0x00000001803B74A0-0x00000001803B74E0
	public const int LEFT_STICK_RIGHT = 48; // Metadata: 0x00AF2588
	[ActionIdFieldInfo] // 0x00000001803E9DF0-0x00000001803E9E30
	public const int LEFT_STICK_DOWN = 49; // Metadata: 0x00AF258C
	[ActionIdFieldInfo] // 0x00000001803C35A0-0x00000001803C35E0
	public const int LEFT_STICK_LEFT = 50; // Metadata: 0x00AF2590
	[ActionIdFieldInfo] // 0x00000001803CA380-0x00000001803CA3C0
	public const int DPAD_UP = 43; // Metadata: 0x00AF2594
	[ActionIdFieldInfo] // 0x00000001803D0C40-0x00000001803D0C80
	public const int DPAD_RIGHT = 44; // Metadata: 0x00AF2598
	[ActionIdFieldInfo] // 0x00000001803D7100-0x00000001803D7140
	public const int DPAD_DOWN = 45; // Metadata: 0x00AF259C
	[ActionIdFieldInfo] // 0x00000001803DDB70-0x00000001803DDBB0
	public const int DPAD_LEFT = 46; // Metadata: 0x00AF25A0
	[ActionIdFieldInfo] // 0x00000001803E9DF0-0x00000001803E9E30
	public const int RIGHT_STICK_UP = 59; // Metadata: 0x00AF25A4
	[ActionIdFieldInfo] // 0x00000001803E9DF0-0x00000001803E9E30
	public const int RIGHT_STICK_RIGHT = 60; // Metadata: 0x00AF25A8
	[ActionIdFieldInfo] // 0x00000001803E9DF0-0x00000001803E9E30
	public const int RIGHT_STICK_DOWN = 61; // Metadata: 0x00AF25AC
	[ActionIdFieldInfo] // 0x00000001803E9DF0-0x00000001803E9E30
	public const int RIGHT_STICK_LEFT = 62; // Metadata: 0x00AF25B0
	[ActionIdFieldInfo] // 0x00000001803FA490-0x00000001803FA4D0
	public const int RIGHT_STICK_VERTICAL = 64; // Metadata: 0x00AF25B4
	[ActionIdFieldInfo] // 0x0000000180400E90-0x0000000180400ED0
	public const int RIGHT_STICK_HORIZONTAL = 68; // Metadata: 0x00AF25B8
	[ActionIdFieldInfo] // 0x0000000180407370-0x00000001804073B0
	public const int LEFT_STICK_HORIZONTAL = 69; // Metadata: 0x00AF25BC
	[ActionIdFieldInfo] // 0x000000018040DB70-0x000000018040DBB0
	public const int LEFT_STICK_VERTICAL = 70; // Metadata: 0x00AF25C0
	[ActionIdFieldInfo] // 0x0000000180414040-0x0000000180414080
	public const int LEFT_STICK_MOVE = 128; // Metadata: 0x00AF25C4
	[ActionIdFieldInfo] // 0x000000018041A750-0x000000018041A790
	public const int RIGHT_STICK_MOVE = 137; // Metadata: 0x00AF25C8
	[ActionIdFieldInfo] // 0x0000000180420F90-0x0000000180420FD0
	public const int MUSICGAME_LEFT_UP = 94; // Metadata: 0x00AF25CC
	[ActionIdFieldInfo] // 0x00000001804285E0-0x0000000180428620
	public const int MUSICGAME_LEFT_RIGHT = 95; // Metadata: 0x00AF25D0
	[ActionIdFieldInfo] // 0x000000018042EE90-0x000000018042EED0
	public const int MUSICGAME_LEFT_DOWN = 96; // Metadata: 0x00AF25D4
	[ActionIdFieldInfo] // 0x00000001804356B0-0x00000001804356F0
	public const int MUSICGAME_LEFT_LEFT = 97; // Metadata: 0x00AF25D8
	[ActionIdFieldInfo] // 0x000000018043BC20-0x000000018043BC60
	public const int MUSICGAME_RIGHT_UP = 98; // Metadata: 0x00AF25DC
	[ActionIdFieldInfo] // 0x00000001804428E0-0x0000000180442920
	public const int MUSICGAME_RIGHT_RIGHT = 99; // Metadata: 0x00AF25E0
	[ActionIdFieldInfo] // 0x0000000180449570-0x00000001804495B0
	public const int MUSICGAME_RIGHT_DOWN = 100; // Metadata: 0x00AF25E4
	[ActionIdFieldInfo] // 0x000000018044FD30-0x000000018044FD70
	public const int MUSICGAME_RIGHT_LEFT = 101; // Metadata: 0x00AF25E8
	[ActionIdFieldInfo] // 0x0000000180456850-0x0000000180456890
	public const int MUSICGAMEFREE1 = 102; // Metadata: 0x00AF25EC
	[ActionIdFieldInfo] // 0x000000018045CCE0-0x000000018045CD20
	public const int MUSICGAMEFREE2 = 103; // Metadata: 0x00AF25F0
	[ActionIdFieldInfo] // 0x0000000180002F30-0x0000000180002F70
	public const int MUSICGAMEFREE3 = 104; // Metadata: 0x00AF25F4
	[ActionIdFieldInfo] // 0x0000000180009340-0x0000000180009380
	public const int MUSICGAMEFREE4 = 105; // Metadata: 0x00AF25F8
	[ActionIdFieldInfo] // 0x000000018000FAF0-0x000000018000FB30
	public const int MUSICGAMEFREE5 = 106; // Metadata: 0x00AF25FC
	[ActionIdFieldInfo] // 0x0000000180015FB0-0x0000000180015FF0
	public const int MUSICGAMEFREE6 = 107; // Metadata: 0x00AF2600
	[ActionIdFieldInfo] // 0x000000018001C760-0x000000018001C7A0
	public const int MUSICGAMEFREE7 = 108; // Metadata: 0x00AF2604
	[ActionIdFieldInfo] // 0x00000001800235D0-0x0000000180023610
	public const int MUSICGAMEFREE8 = 109; // Metadata: 0x00AF2608
	[ActionIdFieldInfo] // 0x000000018002A2D0-0x000000018002A310
	public const int MUSICGAMEFREE9 = 110; // Metadata: 0x00AF260C
	[ActionIdFieldInfo] // 0x0000000180030B90-0x0000000180030BD0
	public const int MUSICGAMEFREE10 = 111; // Metadata: 0x00AF2610
	[ActionIdFieldInfo] // 0x0000000180037220-0x0000000180037260
	public const int MUSICGAMEFREE11 = 112; // Metadata: 0x00AF2614
	[ActionIdFieldInfo] // 0x000000018003D950-0x000000018003D990
	public const int MUSICGAMEFREE12 = 113; // Metadata: 0x00AF2618
	[ActionIdFieldInfo] // 0x0000000180044250-0x0000000180044290
	public const int MUSICGAMEFREE13 = 114; // Metadata: 0x00AF261C
	[ActionIdFieldInfo] // 0x000000018004AB30-0x000000018004AB70
	public const int MUSICGAMEFREE14 = 115; // Metadata: 0x00AF2620
	[ActionIdFieldInfo] // 0x00000001800516C0-0x0000000180051700
	public const int MUSICGAMEFREE15 = 116; // Metadata: 0x00AF2624
	[ActionIdFieldInfo] // 0x0000000180057DB0-0x0000000180057DF0
	public const int MUSICGAMEFREE16 = 117; // Metadata: 0x00AF2628
	[ActionIdFieldInfo] // 0x000000018005E7F0-0x000000018005E830
	public const int MUSICGAMEFREE17 = 118; // Metadata: 0x00AF262C
	[ActionIdFieldInfo] // 0x00000001800651A0-0x00000001800651E0
	public const int MUSICGAMEFREE18 = 119; // Metadata: 0x00AF2630
	[ActionIdFieldInfo] // 0x000000018006B910-0x000000018006B950
	public const int MUSICGAMEFREE19 = 120; // Metadata: 0x00AF2634
	[ActionIdFieldInfo] // 0x0000000180073060-0x00000001800730A0
	public const int MUSICGAMEFREE20 = 121; // Metadata: 0x00AF2638
	[ActionIdFieldInfo] // 0x0000000180079CE0-0x0000000180079D20
	public const int MUSICGAMEFREE21 = 122; // Metadata: 0x00AF263C
}
Action ID
Side Movement 0
Forward Movement 1
Camera: Horizontal 30
Camera: Vertical 31
Camera: Zoom 54
Jump 15
Attack 16
Elemental Skill 17
Elemental Burst 20
Sprint 21
Aim Mode 27
Aim Button 28
Cancel Climb 53
Walk / Run 55
Show Cursor 56
Elemental Sight 57
Navigation 80
Gadget 87
Interaction (some modes) 88
Map 2
Character List 3
Inventory 4
Menu (Gamepad) 5
Quest List 6
Use / Talk 22
Quick Wheel 33
Chat 75
Notification Details 76
Environment Info 77
Tutorial 81
Abandon Challenge 84
Abandon Challenge (Gamepad) 85
Party Setup 131
Friends 132
Photo: Hide UI 86
Item Info 19
Top Menu: Left 34
Top Menu: Right 35
Menu Select 40
Auxiliary Action 41
Secondary Action 63
Menu / Back 42
Menu: Up 47
Menu: Right 48
Menu: Down 49
Menu: Left 50
Less 51
More 52
Lock Item / Mark Map 67
D-Pad Up 43
D-Pad Right 44
D-Pad Down 45
D-Pad Left 46
Adventurer Handbook 10
Co-Op 65
Wish 73
Events 82
Battle Pass 83
Pot Tasks 129
Pot Edit 130
Music: Left Up 94
Music: Left Right 95
Music: Left Down 96
Music: Left Left 97
Music: Right Up 98
Music: Right Right 99
Music: Right Down 100
Music: Right Left 101
Music: Note 1-1 102
Music: Note 1-2 103
Music: Note 1-3 104
Music: Note 1-4 105
Music: Note 1-5 106
Music: Note 1-6 107
Music: Note 1-7 108
Music: Note 2-1 109
Music: Note 2-2 110
Music: Note 2-3 111
Music: Note 2-4 112
Music: Note 2-5 113
Music: Note 2-6 114
Music: Note 2-7 115
Music: Note 3-1 116
Music: Note 3-2 117
Music: Note 3-3 118
Music: Note 3-4 119
Music: Note 3-5 120
Music: Note 3-6 121
Music: Note 3-7 122
Char 1 7
Char 2 8
Chat 3 9
Char 4 66
Char 5 78

Elemental Burst on keyboard is a combination of Show cursor and Char X. There is no direct mapping for it.

Actions, that have known mappings, but still not known in-game

Action ID
Quest transport 18
Move Forward: Show 23
Move Left: Show 24
Move Right: Show 25
Move Back: Show 26
Move 29
View 32
Debug Menu 58
Right Stick Up 59
Right Stick Right 60
Right Stick Down 61
Right Stick Left 62
Right Stick Vertical 64
Right Stick Horizontal 68
Left Stick Horizontal 69
Left Stick Vertical 70
Menu Right 71
Menu Down 72
Adventurer Handbook? 79
Extra Up 89
Extra Down 90
Extra Left 91
Extra Right 92
F1 124
F2 125
F3 126
Return 127
Left Stick Move 128
Pot Object: Up 133
Pot Object: Down 134
Pot Object: Left 135
Pot Object: Right 136
Right Stick Move 137
LMB 138
RMB 139
Pot: Create Custom Suite 141
Camera Up 142
Camera Down 143
Pot: Float Mode 144
Pot: Deploy 145
Arrow Up 146
Arrow Down 147
Arrow Right 148
Arrow Left 149
? 150
? 151
? 152
? 153
? 154
? 155