Documentation work

This commit is contained in:
Camilla Löwy 2017-07-09 21:55:06 +02:00
parent 2fa90ae19f
commit 6634c47e57

View File

@ -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