summaryrefslogtreecommitdiff
path: root/textscreen/txt_sdl.c
diff options
context:
space:
mode:
Diffstat (limited to 'textscreen/txt_sdl.c')
-rw-r--r--textscreen/txt_sdl.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/textscreen/txt_sdl.c b/textscreen/txt_sdl.c
index 8ad5bf74..40fb9ff8 100644
--- a/textscreen/txt_sdl.c
+++ b/textscreen/txt_sdl.c
@@ -436,7 +436,17 @@ static int TranslateKey(SDL_keysym *sym)
if (key_mapping)
{
- return sym->unicode;
+ // Unicode characters beyond the ASCII range need to be
+ // mapped up into textscreen's Unicode range.
+
+ if (sym->unicode < 128)
+ {
+ return sym->unicode;
+ }
+ else
+ {
+ return sym->unicode - 128 + TXT_UNICODE_BASE;
+ }
}
else
{