This commit is contained in:
SenPie 2025-01-13 20:28:57 +01:00 committed by GitHub
commit ee0645fbb5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 1459 additions and 607 deletions

View File

@ -295,6 +295,7 @@ video tutorials.
- Jonas Ådahl - Jonas Ådahl
- Lasse Öörni - Lasse Öörni
- Leonard König - Leonard König
- Smbat Senpie Voskanyan
- All the unmentioned and anonymous contributors in the GLFW community, for bug - All the unmentioned and anonymous contributors in the GLFW community, for bug
reports, patches, feedback, testing and encouragement reports, patches, feedback, testing and encouragement

View File

@ -134,7 +134,8 @@ information on what to include when reporting a bug.
- [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless` - [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless`
- [EGL] Allowed native access on Wayland with `GLFW_CONTEXT_CREATION_API` set to - [EGL] Allowed native access on Wayland with `GLFW_CONTEXT_CREATION_API` set to
`GLFW_NATIVE_CONTEXT_API` (#2518) `GLFW_NATIVE_CONTEXT_API` (#2518)
- Added `GLFW_GAMEPAD_BUTTON_MISC1` and `GLFW_GAMEPAD_BUTTON_TOUCHPAD` to the
gamepad_buttons button group
## Contact ## Contact

View File

@ -869,7 +869,7 @@ The second value is always the human-readable name of the gamepad.
All subsequent values are in the form `<field>:<value>` and describe the layout All subsequent values are in the form `<field>:<value>` and describe the layout
of the mapping. These fields may not all be present and may occur in any order. of the mapping. These fields may not all be present and may occur in any order.
The button fields are `a`, `b`, `x`, `y`, `back`, `start`, `guide`, `dpup`, The button fields are `a`, `b`, `x`, `y`, `back`, `start`, `misc1`, `touchpad`, `guide`, `dpup`,
`dpright`, `dpdown`, `dpleft`, `leftshoulder`, `rightshoulder`, `leftstick` and `dpright`, `dpdown`, `dpleft`, `leftshoulder`, `rightshoulder`, `leftstick` and
`rightstick`. `rightstick`.

View File

@ -14,6 +14,10 @@ values over 8. For compatibility with older versions, the
@ref GLFW_UNLIMITED_MOUSE_BUTTONS input mode needs to be set to make use of @ref GLFW_UNLIMITED_MOUSE_BUTTONS input mode needs to be set to make use of
this. this.
### Gamepad misc1 and touchpad buttons
GLFW gamepad support improved to include mapping for misc1 and touchpad buttons.
## Caveats {#caveats} ## Caveats {#caveats}
## Deprecations {#deprecations} ## Deprecations {#deprecations}

View File

@ -628,10 +628,12 @@ extern "C" {
#define GLFW_GAMEPAD_BUTTON_GUIDE 8 #define GLFW_GAMEPAD_BUTTON_GUIDE 8
#define GLFW_GAMEPAD_BUTTON_LEFT_THUMB 9 #define GLFW_GAMEPAD_BUTTON_LEFT_THUMB 9
#define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB 10 #define GLFW_GAMEPAD_BUTTON_RIGHT_THUMB 10
#define GLFW_GAMEPAD_BUTTON_DPAD_UP 11 #define GLFW_GAMEPAD_BUTTON_MISC1 11
#define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT 12 #define GLFW_GAMEPAD_BUTTON_TOUCHPAD 12
#define GLFW_GAMEPAD_BUTTON_DPAD_DOWN 13 #define GLFW_GAMEPAD_BUTTON_DPAD_UP 13
#define GLFW_GAMEPAD_BUTTON_DPAD_LEFT 14 #define GLFW_GAMEPAD_BUTTON_DPAD_RIGHT 14
#define GLFW_GAMEPAD_BUTTON_DPAD_DOWN 15
#define GLFW_GAMEPAD_BUTTON_DPAD_LEFT 16
#define GLFW_GAMEPAD_BUTTON_LAST GLFW_GAMEPAD_BUTTON_DPAD_LEFT #define GLFW_GAMEPAD_BUTTON_LAST GLFW_GAMEPAD_BUTTON_DPAD_LEFT
#define GLFW_GAMEPAD_BUTTON_CROSS GLFW_GAMEPAD_BUTTON_A #define GLFW_GAMEPAD_BUTTON_CROSS GLFW_GAMEPAD_BUTTON_A
@ -2116,7 +2118,7 @@ typedef struct GLFWgamepadstate
/*! The states of each [gamepad button](@ref gamepad_buttons), `GLFW_PRESS` /*! The states of each [gamepad button](@ref gamepad_buttons), `GLFW_PRESS`
* or `GLFW_RELEASE`. * or `GLFW_RELEASE`.
*/ */
unsigned char buttons[15]; unsigned char buttons[17];
/*! The states of each [gamepad axis](@ref gamepad_axes), in the range -1.0 /*! The states of each [gamepad axis](@ref gamepad_axes), in the range -1.0
* to 1.0 inclusive. * to 1.0 inclusive.
*/ */

View File

@ -144,6 +144,8 @@ static GLFWbool parseMapping(_GLFWmapping* mapping, const char* string)
{ "rightshoulder", mapping->buttons + GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER }, { "rightshoulder", mapping->buttons + GLFW_GAMEPAD_BUTTON_RIGHT_BUMPER },
{ "leftstick", mapping->buttons + GLFW_GAMEPAD_BUTTON_LEFT_THUMB }, { "leftstick", mapping->buttons + GLFW_GAMEPAD_BUTTON_LEFT_THUMB },
{ "rightstick", mapping->buttons + GLFW_GAMEPAD_BUTTON_RIGHT_THUMB }, { "rightstick", mapping->buttons + GLFW_GAMEPAD_BUTTON_RIGHT_THUMB },
{ "misc1", mapping->buttons + GLFW_GAMEPAD_BUTTON_MISC1 },
{ "touchpad", mapping->buttons + GLFW_GAMEPAD_BUTTON_TOUCHPAD },
{ "dpup", mapping->buttons + GLFW_GAMEPAD_BUTTON_DPAD_UP }, { "dpup", mapping->buttons + GLFW_GAMEPAD_BUTTON_DPAD_UP },
{ "dpright", mapping->buttons + GLFW_GAMEPAD_BUTTON_DPAD_RIGHT }, { "dpright", mapping->buttons + GLFW_GAMEPAD_BUTTON_DPAD_RIGHT },
{ "dpdown", mapping->buttons + GLFW_GAMEPAD_BUTTON_DPAD_DOWN }, { "dpdown", mapping->buttons + GLFW_GAMEPAD_BUTTON_DPAD_DOWN },

View File

@ -636,7 +636,7 @@ struct _GLFWmapping
{ {
char name[128]; char name[128];
char guid[33]; char guid[33];
_GLFWmapelement buttons[15]; _GLFWmapelement buttons[17];
_GLFWmapelement axes[6]; _GLFWmapelement axes[6];
}; };

File diff suppressed because it is too large Load Diff

View File

@ -299,6 +299,7 @@ int main(void)
"LB", "RB", "LB", "RB",
"Back", "Start", "Guide", "Back", "Start", "Guide",
"LT", "RT", "LT", "RT",
"MISC1", "TOUCHPAD"
}; };
nk_labelf(nk, NK_TEXT_LEFT, nk_labelf(nk, NK_TEXT_LEFT,