riscos: Report keyboard repeat events
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
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;
}
}
}