diff options
Diffstat (limited to 'textscreen/txt_sdl.c')
-rw-r--r-- | textscreen/txt_sdl.c | 12 |
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 { |