|
|
@ -736,9 +736,10 @@ the largest available index for each array. |
|
|
|
|
|
|
|
|
|
|
|
@subsection gamepad_mapping Gamepad mappings |
|
|
|
@subsection gamepad_mapping Gamepad mappings |
|
|
|
|
|
|
|
|
|
|
|
Newer ones can be added with @ref glfwUpdateGamepadMappings. This function |
|
|
|
GLFW contains a copy of the mappings available in |
|
|
|
supports everything from single lines up to the entire unmodified contents of |
|
|
|
[SDL_GameControllerDB](https://github.com/gabomdq/SDL_GameControllerDB) at the |
|
|
|
the `gamecontrollerdb.txt` file. |
|
|
|
time of release. Newer ones can be added at runtime with @ref |
|
|
|
|
|
|
|
glfwUpdateGamepadMappings. |
|
|
|
|
|
|
|
|
|
|
|
@code |
|
|
|
@code |
|
|
|
const char* mappings = load_file_contents("gamecontrollerdb.txt"); |
|
|
|
const char* mappings = load_file_contents("gamecontrollerdb.txt"); |
|
|
@ -746,6 +747,9 @@ const char* mappings = load_file_contents("gamecontrollerdb.txt"); |
|
|
|
glfwUpdateGamepadMappings(mappings); |
|
|
|
glfwUpdateGamepadMappings(mappings); |
|
|
|
@endcode |
|
|
|
@endcode |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This function supports everything from single lines up to and including the |
|
|
|
|
|
|
|
unmodified contents of the whole `gamecontrollerdb.txt` file. |
|
|
|
|
|
|
|
|
|
|
|
Below is a description of the mapping format. Please keep in mind that __this |
|
|
|
Below is a description of the mapping format. Please keep in mind that __this |
|
|
|
description is not authoritative__. The format is defined by the SDL and |
|
|
|
description is not authoritative__. The format is defined by the SDL and |
|
|
|
SDL_GameControllerDB projects and their documentation and code takes precedence. |
|
|
|
SDL_GameControllerDB projects and their documentation and code takes precedence. |
|
|
@ -786,8 +790,20 @@ There is also the special `platform` field that specifies which platform the |
|
|
|
mapping is valid for. Possible values are `Windows`, `Mac OS X` and `Linux`. |
|
|
|
mapping is valid for. Possible values are `Windows`, `Mac OS X` and `Linux`. |
|
|
|
Mappings without this field will always be considered valid. |
|
|
|
Mappings without this field will always be considered valid. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Below is an example of what a gamepad mapping might look like. It is the |
|
|
|
|
|
|
|
one built into GLFW for Xbox controllers accessed via the XInput API on Windows. |
|
|
|
|
|
|
|
This example has been broken into several lines to fit on the page, but real |
|
|
|
|
|
|
|
gamepad mappings must be a single line. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@code{.unparsed} |
|
|
|
|
|
|
|
78696e70757401000000000000000000,XInput Gamepad (GLFW),platform:Windows,a:b0, |
|
|
|
|
|
|
|
b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,leftstick:b8, |
|
|
|
|
|
|
|
rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4, |
|
|
|
|
|
|
|
righttrigger:a5,dpup:h0.1,dpright:h0.2,dpdown:h0.4,dpleft:h0.8, |
|
|
|
|
|
|
|
@endcode |
|
|
|
|
|
|
|
|
|
|
|
@note GLFW does not yet support the range and inversion modifiers `+`, `-` and |
|
|
|
@note GLFW does not yet support the range and inversion modifiers `+`, `-` and |
|
|
|
`~`. |
|
|
|
`~` that were recently added to SDL. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@section time Time input |
|
|
|
@section time Time input |
|
|
|