Commit Graph

94 Commits

Author SHA1 Message Date
Hajime Hoshi
8e4e3d67c4 internal/gamepad: refactoring 2022-06-03 19:00:21 +09:00
Hajime Hoshi
2eb4ef1a94 internal/gamepad: give a window from another package instead of GetActiveWindow
GetActiveWindow doesn't work on Xbox.

Updates #2084
2022-06-03 18:42:54 +09:00
Hajime Hoshi
1580e92dfc internal/gamepad: refactoring 2022-06-03 18:06:54 +09:00
Hajime Hoshi
90d26305e7 internal/gamepad: unify the naming convention for Win32API with other packages 2022-06-03 16:59:44 +09:00
Hajime Hoshi
124f233de0 internal/gamepad: cast returning values to uint32 2022-06-03 16:52:49 +09:00
Hajime Hoshi
4a684c4195 treat Windows error values as uint32 instead of windows.Handle
The error value are defined as windows.Handle (64bit) in
golang.org/x/sys/windows, but an actual type should be HRESULT (32bit).
This causes an issue that a returning value from a Windows API was
recognized as a non-zero error value though the value was not an error,
when the value's lower 32-bits are all zero.

See also https://github.com/golang/go/issues/48736#issuecomment-1143993096

Updates #2113
2022-06-02 12:10:21 +09:00
Hajime Hoshi
1202e66114 internal/gamepad: bug fix: out of range at hatState on Windows
Closes #2103
2022-05-25 11:44:46 +09:00
Hajime Hoshi
0577a28aed all: add struct members for go-vet
Updates #1306
2022-05-22 22:05:40 +09:00
Hajime Hoshi
8d3de6207b internal/gamepad: add a warning message when getGamepads is not available
Updates #2100
2022-05-21 23:25:56 +09:00
Hajime Hoshi
8d318fc4de internal/gamepad: bug fix: getGamepads might not be available under a non-secure context
Closes #2100
2022-05-21 23:22:50 +09:00
Hajime Hoshi
3d00bb1fa2 internal/gamepad, internal/ui: type-cast returning values from Win32APIs just in case 2022-05-11 00:48:44 +09:00
Hajime Hoshi
07a7aca1b3 internal/gamepad: skip gamepads with more than 32 buttons
This change was removed at ef45058037
accidentally.

Updates #1173
Updates #2039
2022-04-01 02:24:15 +09:00
divVerent
1de1bfef55
internal/gamepad: fix uint16 underflow handling in gamepads. (#2030)
Fixes crash where Ebiten considers a keyboard a gamepad with way too many buttons.

Updates #2027
2022-03-26 15:41:59 +09:00
Hajime Hoshi
e4d0050452 internal/gamepad: bug fix: compile error
Updates #2027
2022-03-25 14:35:03 +09:00
Hajime Hoshi
b985689010 internal/gamepad: bug fix: crash when a too big button code is reported on Linux
Updates #2027
2022-03-25 14:28:09 +09:00
divVerent
476f4e3f9a
internal/gamepad: fix SetWindowLongPtrW crash on 32-bit Windows (#1999)
Closes #1998
2022-02-23 23:18:20 +09:00
Hajime Hoshi
bf33658e64 internal/gamepad: respect original names more 2022-02-15 04:07:11 +09:00
Hajime Hoshi
5f59807284 internal/gamepad: refactoring 2022-02-12 03:49:09 +09:00
Hajime Hoshi
19bfc97a5e mobile/ebitenmobileview: bug fix: compile error 2022-02-05 23:26:44 +09:00
Hajime Hoshi
67663795fd internal/gamepaddb: move driver.StandardGamepadButton to gamepaddb.StandardButton 2022-02-05 23:11:09 +09:00
Hajime Hoshi
627509e974 internal/gamepad: move driver.GamepadButton to gamepad.Button 2022-02-05 23:03:30 +09:00
Hajime Hoshi
1bee10f999 internal/gamepad: move constants from internal/driver 2022-02-05 22:42:14 +09:00
Hajime Hoshi
bf1cb035eb internal/gamepad: port the gamepad part for c-backend 2022-02-05 19:11:57 +09:00
Hajime Hoshi
1570c506ae internal/gamepad: port the implementation for Android 2022-02-05 17:27:24 +09:00
Hajime Hoshi
8d9937801b internal/gamepad: refactoring 2022-02-05 02:11:24 +09:00
Hajime Hoshi
d0e8efca33 internal/gamepad: port the implementation for Android 2022-02-04 23:23:22 +09:00
Hajime Hoshi
f6d8f42c36 internal/gamepad: refactoring: use unix.InotifyEvent 2022-02-04 04:59:40 +09:00
Hajime Hoshi
ef45058037 internal/gamepad: implement for Linux
Updates #1452
2022-02-04 04:26:33 +09:00
Hajime Hoshi
f3f8f6177c internal/gamepad: add gamepad_null.go 2022-02-02 02:18:02 +09:00
Hajime Hoshi
ea39fca10c internal/gamepad: rename functions *Num -> *Count 2022-02-02 02:01:46 +09:00
Hajime Hoshi
a8576008f0 internal/gamepads: refactoring: remove a struct member 2022-02-02 00:32:29 +09:00
Hajime Hoshi
96ddec1753 internal/gamepad: refactoring reorder implementations for consistency 2022-02-01 13:54:33 +09:00
Hajime Hoshi
f5b68e5dc1 internal/gamepad: implement for Windows
Updates #1452
Updates #1764
2022-02-01 13:23:05 +09:00
Hajime Hoshi
e261951946 internal/gamepad: remove nativeGamepad.present 2022-01-30 18:59:25 +09:00
Hajime Hoshi
178a1d929c internal/gamepad: add comments and make Vibrate concurrent-safe 2022-01-29 03:50:43 +09:00
Hajime Hoshi
1d59023649 internal/gamepad: make the APIs concurrent-safe again 2022-01-29 03:41:47 +09:00
Hajime Hoshi
2e9ce94ed0 internal/gamepad: call init in update to make the initialization faster 2022-01-29 03:06:56 +09:00
Hajime Hoshi
d3cf8935e8 internal/gamepad: add comments 2022-01-29 02:22:10 +09:00
Hajime Hoshi
71e17efd80 internal/gamepad: simplify the implementation by making the APIs concurrent-unsafe 2022-01-29 02:07:15 +09:00
Hajime Hoshi
5edfd1b743 internal/gamepad: move the implementation of gamepad for GOOS=js
Updates #1957
2022-01-29 01:44:42 +09:00
Hajime Hoshi
fb3a022327 ebiten: use the DB's name for GamepadName
Updates #1949
2022-01-25 21:14:03 +09:00
Hajime Hoshi
a049c403cf internal/gamepad: bug fix: go-vet failed (misuse of unsafe.Pointer)
Updates #1452
2022-01-23 02:08:30 +09:00
Hajime Hoshi
580307f150 internal/gamepad: bug fix: go-vet failed
Updates #1452
2022-01-23 01:56:14 +09:00
Hajime Hoshi
ff24f7718c internal/uidriver/glfw: use an original implementation for macOS
Updates #1452
2022-01-23 01:48:24 +09:00