diff options
Diffstat (limited to 'riscos/gui.c')
-rw-r--r-- | riscos/gui.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/riscos/gui.c b/riscos/gui.c index 0ef0911c9..88d6e2499 100644 --- a/riscos/gui.c +++ b/riscos/gui.c @@ -1364,9 +1364,14 @@ void ro_gui_keypress(wimp_key* key) { gui_window* g; - if (key->i == -1 && key->c < 256) { + if (key->i == -1 && (key->c < 256 || (key->c >= 396 && key->c <= 399))) { g = ro_lookup_gui_from_w(key->w); if (g) { + /* Munge cursor keys into unused control chars */ + if (key->c == 396) key->c = 29; /* Left */ + else if (key->c == 397) key->c = 28; /* Right */ + else if (key->c == 398) key->c = 31; /* Down */ + else if (key->c == 399) key->c = 30; /* Up */ browser_window_key_press(g->data.browser.bw, (char) key->c); return; } |