Hajime Hoshi
abc056ab29
internal/gamepad: refactoring
2024-07-21 09:10:04 +09:00
Hajime Hoshi
7ab9382424
internal/gamepad: bug fix: crash when XInput and DInput gamepads were connected
...
Closes #3047
2024-07-20 22:30:38 +09:00
Hajime Hoshi
687e505db0
internal/gamepad: specify dwHow explicitly
...
As _DIPH_DEVICE is 0, this worked even without setting it, but this
was less readable.
2024-07-20 19:37:53 +09:00
Hajime Hoshi
b6b08f4fce
internal/gamepad: typo
2024-07-20 19:21:09 +09:00
Hajime Hoshi
122877c265
internal/gamepad: bug fix: GUID was not reliable as a unique identifier
...
Use a HID path as a gamepad unique identifier instead.
Closes #3046
2024-07-20 19:17:57 +09:00
Hajime Hoshi
f34932151d
all: use atomic.Bool instead of atomic.Store/LoadUint32
...
Updates #2422
2024-04-29 21:16:01 +09:00
Hajime Hoshi
4647e9de53
internal/glfw, internal/gamepad: update GLFW to v3.3.9
...
Updates #2960
2024-04-14 01:14:22 +09:00
Hajime Hoshi
b7dd45c0e4
internal/gamepad: ignore the very first MotionEvent with 0 value for Android
...
On Android, MotionEvent with 0 values might come for axes when connecting
a gamepad, even though a user didn't touch any axes. This is problematic
especially for tirgger axes, where the default value should be -1.
This change fixes the issue by adding a new state `axesReady` to check
if an axis is really touched or not. If an axis is not touched yet,
a button value for a standard (trigger) button always returns 0.
This change also removes an old hack to initialize axis values for
triggers.
Closes #2598
2024-03-21 22:28:48 +09:00
Hajime Hoshi
95b4eeafce
all: remove unnecessary build tag restrictions
2023-10-01 23:27:57 +09:00
Hajime Hoshi
4267e5d22e
internal/gamepad: bug fix: do not call GetRawInputDeviceList with the count 0
...
Updates #2696
2023-07-08 19:18:05 +09:00
Hajime Hoshi
22dfdfc418
internal/gamepad: bug fix: possible crash at iterating gamepads
...
Closes #2603
2023-03-17 11:40:24 +09:00
divVerent
809ad991c2
internal/gamepad: refactor standard layout support to allow remapping in the per-platform implementations. ( #2588 )
...
Refactors native standard layout so standard axes and buttons can be implemented using any of axes, buttons or hats.
This is required to be able to implement a native standard layout mapping for Linux, as e.g. shoulder buttons can be
backed either by an analog or digital input.
Precedes #2587
Updates #2052
2023-03-03 23:29:04 +09:00
Artem Yadelskyi
5b53cef59e
all: remove old // +build
comments ( #2431 )
...
Closes #2325
2022-11-03 12:55:14 +09:00
Hajime Hoshi
8a7d860632
all: unify Windows error handlings for Windows HANDLE
...
Updates #2366
2022-10-02 02:22:06 +09:00
Terra Brown
a1cc44833d
add errcheck static analysis ( #2293 )
...
Closes #2287
2022-09-10 01:52:46 +09:00
Hajime Hoshi
e7c0a121c4
all: remove the build tag 'ebitencbackend'
...
This also automatically enables 'egl' when 'nintendosdk' is specified.
Updates #2242
2022-08-12 13:15:39 +09:00
Hajime Hoshi
dac6548c0c
all: rename ebitenginecbackend to nintendosdk
...
Updates #2242
2022-08-12 02:05:29 +09:00
Hajime Hoshi
094726915b
ebiten: add IsStandardGamepadAxisAvailable and IsStandardGamepadButtonAvailable ( #2241 )
...
Closes #2040
2022-08-11 12:35:20 +09:00
Hajime Hoshi
abcacc26d8
internal/glfwwin: update for GLFW v3.3.8
...
Closes #2214
2022-08-07 15:03:33 +09:00
Hajime Hoshi
d231a35d3b
internal/gamepad: bug fix: release IDirectInputDevice8W on disconnecting
...
Closes #2205
2022-07-15 15:44:40 +09:00
Hajime Hoshi
428b1263d9
add ebitenginecbackend build tag besides ebitencbackend
...
Updates #2111
Updates #2190
2022-07-09 15:23:52 +09:00
Hajime Hoshi
3fb3997160
internal/gamepad: separate the Xbox part
...
Updates #2084
2022-06-24 22:49:37 +09:00