d92f9017c6
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.