1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

[Web] Poll controllers only if at least one is detected

Keeps the spirit of #105601
This commit is contained in:
Adam Scott
2025-06-26 08:33:25 -04:00
parent 722accc5c8
commit c56d131876
2 changed files with 13 additions and 2 deletions

View File

@@ -829,6 +829,12 @@ void DisplayServerWeb::gamepad_callback(int p_index, int p_connected, const char
}
void DisplayServerWeb::_gamepad_callback(int p_index, int p_connected, const String &p_id, const String &p_guid) {
if (p_connected) {
DisplayServerWeb::get_singleton()->gamepad_count += 1;
} else {
DisplayServerWeb::get_singleton()->gamepad_count -= 1;
}
Input *input = Input::get_singleton();
if (p_connected) {
input->joy_connection_changed(p_index, true, p_id, p_guid);
@@ -1432,8 +1438,11 @@ DisplayServer::VSyncMode DisplayServerWeb::window_get_vsync_mode(WindowID p_vsyn
void DisplayServerWeb::process_events() {
process_keys();
Input::get_singleton()->flush_buffered_events();
if (godot_js_input_gamepad_sample() == OK) {
process_joypads();
if (gamepad_count > 0) {
if (godot_js_input_gamepad_sample() == OK) {
process_joypads();
}
}
}