Răsfoiți Sursa

emscripten: support KaiOS's Left Soft Key and Right Soft Key (thanks, pelya!).

Fixes Bugzilla #5027.
Ryan C. Gordon 5 ani în urmă
părinte
comite
8641f6e99d
1 a modificat fișierele cu 10 adăugiri și 0 ștergeri
  1. 10 0
      src/video/emscripten/SDL_emscriptenevents.c

+ 10 - 0
src/video/emscripten/SDL_emscriptenevents.c

@@ -485,6 +485,16 @@ Emscripten_HandleKey(int eventType, const EmscriptenKeyboardEvent *keyEvent, voi
     if (keyEvent->keyCode < SDL_arraysize(emscripten_scancode_table)) {
         scancode = emscripten_scancode_table[keyEvent->keyCode];
 
+        if (keyEvent->keyCode == 0) {
+            /* KaiOS Left Soft Key and Right Soft Key, they act as OK/Next/Menu and Cancel/Back/Clear */
+            if (SDL_strncmp(keyEvent->key, "SoftLeft", 9) == 0) {
+                scancode = SDL_SCANCODE_AC_FORWARD;
+            }
+            if (SDL_strncmp(keyEvent->key, "SoftRight", 10) == 0) {
+                scancode = SDL_SCANCODE_AC_BACK;
+            }
+        }
+
         if (scancode != SDL_SCANCODE_UNKNOWN) {
 
             if (keyEvent->location == DOM_KEY_LOCATION_RIGHT) {