浏览代码

emscripten: restore key event prevent default behaviour

This restores the behaviour before 92215481146f9225a458e9a09abb85a33b52d9ff where we only preventDefault the event if:
- the key is recognised
- the event is enabled
- the event is not filtered

(ignoring the KEYPRESS special case, which is unchanged)
Charlie Birks 1 年之前
父节点
当前提交
6e931bee01
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/video/emscripten/SDL_emscriptenevents.c

+ 2 - 2
src/video/emscripten/SDL_emscriptenevents.c

@@ -794,7 +794,7 @@ static EM_BOOL Emscripten_HandleKey(int eventType, const EmscriptenKeyboardEvent
 {
 {
     const SDL_Keycode keycode = Emscripten_MapKeyCode(keyEvent);
     const SDL_Keycode keycode = Emscripten_MapKeyCode(keyEvent);
     SDL_Scancode scancode = Emscripten_MapScanCode(keyEvent->code);
     SDL_Scancode scancode = Emscripten_MapScanCode(keyEvent->code);
-    SDL_bool prevent_default = SDL_GetEventState(eventType == EMSCRIPTEN_EVENT_KEYDOWN ? SDL_KEYDOWN : SDL_KEYUP) == SDL_ENABLE;
+    SDL_bool prevent_default = SDL_FALSE;
     SDL_bool is_nav_key = SDL_FALSE;
     SDL_bool is_nav_key = SDL_FALSE;
 
 
     if (scancode == SDL_SCANCODE_UNKNOWN) {
     if (scancode == SDL_SCANCODE_UNKNOWN) {
@@ -807,7 +807,7 @@ static EM_BOOL Emscripten_HandleKey(int eventType, const EmscriptenKeyboardEvent
     }
     }
 
 
     if (scancode != SDL_SCANCODE_UNKNOWN) {
     if (scancode != SDL_SCANCODE_UNKNOWN) {
-        SDL_SendKeyboardKeyAndKeycode(eventType == EMSCRIPTEN_EVENT_KEYDOWN ? SDL_PRESSED : SDL_RELEASED, scancode, keycode);
+        prevent_default = SDL_SendKeyboardKeyAndKeycode(eventType == EMSCRIPTEN_EVENT_KEYDOWN ? SDL_PRESSED : SDL_RELEASED, scancode, keycode);
     }
     }
 
 
     /* if TEXTINPUT events are enabled we can't prevent keydown or we won't get keypress
     /* if TEXTINPUT events are enabled we can't prevent keydown or we won't get keypress