mirror of https://github.com/godotengine/godot
Fixes #81758
DisplayServerWeb::process_joypads handles buttons 6 and 7 of the
HTML5 Standard Gamepad as a special case by doing:
`input->joy_axis(idx, (JoyAxis)b, s_btns[b]);`
This doesn't work because there is no JoyAxis 6 or 7 in the enum
To fix this we use JoyAxis::TRIGGER_LEFT and TRIGGER_RIGHT for button 6
and 7
However since we are now lying to input->joy_axis we also need to lie in
the mappings for the standard gamepad in godotcontrollersdb.txt,
otherwise input->joy_axis will try to find a mapping to axis 4(LT) and
axis 5(RT) that's not defined.
Therefore we set lefttrigger to +a4 and righttrigger to +a5 in the
mapping, to match what we are actually sending.
A cleaner, and more involved fix to this would be modifying
input->joy_button so that it can handle analog buttons and map them to
axes preserving their value instead of converting to boolean
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| api | ||
| doc_classes | ||
| export | ||
| js | ||
| README.md | ||
| SCsub | ||
| audio_driver_web.cpp | ||
| audio_driver_web.h | ||
| detect.py | ||
| display_server_web.cpp | ||
| display_server_web.h | ||
| dom_keys.inc | ||
| emscripten_helpers.py | ||
| eslint.config.cjs | ||
| godot_audio.h | ||
| godot_js.h | ||
| godot_webgl2.h | ||
| http_client_web.cpp | ||
| http_client_web.h | ||
| javascript_bridge_singleton.cpp | ||
| os_web.cpp | ||
| os_web.h | ||
| package-lock.json | ||
| package.json | ||
| platform_config.h | ||
| platform_gl.h | ||
| serve.py | ||
| web_main.cpp | ||
| web_runtime.cpp | ||
README.md
Web platform port
This folder contains the C++ and JavaScript code for the Web platform port, compiled using Emscripten.
It also contains a ESLint linting setup (see package.json).
See also misc/dist/html folder for additional files used by
this platform such as the html shell (web page).
Documentation
- Compiling for the Web
- Instructions on building this platform port from source.
- Exporting for the Web
- Instructions on using the compiled export templates to export a project.
Artwork license
logo.png and run_icon.png are licensed under
Creative Commons Attribution 3.0 Unported
per the HTML5 logo usage guidelines.