diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-09-12 21:56:15 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2011-09-12 21:56:15 +0000 |
commit | 6a5b10c685b07199afe856f7c17ebc0e8846ddd5 (patch) | |
tree | 1f9bdeebe51498abaac9efc68ad00ad7b9f67f86 | |
parent | b2d5492b84e9f5234f80a205a3870e8fde448d1b (diff) | |
download | netsurf-6a5b10c685b07199afe856f7c17ebc0e8846ddd5.tar.gz netsurf-6a5b10c685b07199afe856f7c17ebc0e8846ddd5.tar.bz2 |
Convert keypresses to UCS4. Fixes issue with typing Euro symbol (¤). Probably fixes
other characters in more exotic character sets.
svn path=/trunk/netsurf/; revision=12789
-rwxr-xr-x | amiga/gui.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index bee078624..e4b7c156f 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -811,6 +811,7 @@ int ami_key_to_nskey(ULONG keycode, struct InputEvent *ie) { int nskey = 0, chars; UBYTE buffer[20]; + char *utf8 = NULL; if(keycode >= IECODE_UP_PREFIX) return 0; @@ -903,7 +904,8 @@ int ami_key_to_nskey(ULONG keycode, struct InputEvent *ie) default: if((chars = MapRawKey(ie,buffer,20,NULL)) > 0) { - nskey = buffer[0]; + utf8_from_local_encoding(buffer, chars, &utf8); + nskey = utf8_to_ucs4(utf8, utf8_char_byte_length(utf8)); } break; } |