Commit 98353533e51e2ea90768c9c43f1d08296cd434f7

Cameron Cawley 2022-02-23T18:54:31

riscos: Report keyboard repeat events

diff --git a/src/video/riscos/SDL_riscosevents.c b/src/video/riscos/SDL_riscosevents.c
index b7ae62e..b0a0d75 100644
--- a/src/video/riscos/SDL_riscosevents.c
+++ b/src/video/riscos/SDL_riscosevents.c
@@ -67,7 +67,6 @@ RISCOS_PollKeyboard(_THIS)
 
     /* Check for key presses */
     while (key < 0xff) {
-        SDL_bool already_pressed = SDL_FALSE;
         key = _kernel_osbyte(121, key + 1, 0) & 0xff;
         switch (key) {
         case 255:
@@ -83,22 +82,16 @@ RISCOS_PollKeyboard(_THIS)
             break;
 
         default:
-            /* Do we already know of this key? */
+            SDL_SendKeyboardKey(SDL_PRESSED, SDL_RISCOS_translate_keycode(key));
+
+            /* Record the press so we can detect release later. */
             for (i = 0; i < RISCOS_MAX_KEYS_PRESSED; i++) {
                 if (driverdata->key_pressed[i] == key) {
-                    already_pressed = SDL_TRUE;
                     break;
                 }
-            }
-
-            if (!already_pressed) {
-                SDL_SendKeyboardKey(SDL_PRESSED, SDL_RISCOS_translate_keycode(key));
-                /* Record the press so we can detect release later. */
-                for (i = 0; i < RISCOS_MAX_KEYS_PRESSED; i++) {
-                    if (driverdata->key_pressed[i] == 255) {
-                        driverdata->key_pressed[i] = key;
-                        break;
-                    }
+                if (driverdata->key_pressed[i] == 255) {
+                    driverdata->key_pressed[i] = key;
+                    break;
                 }
             }
         }