diff options
author | Pierre Ossman <ossman@cendio.se> | 2011-04-11 11:59:31 +0000 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2011-04-11 11:59:31 +0000 |
commit | 89f868a44fa28d9daeb4070faa0f25d47db91fb1 (patch) | |
tree | c03b710f71c3c7a57125fe1910dbe80ce28c3cb9 /vncviewer | |
parent | c583c044c9cc4b89b36d43dd3795a52c1ef93ef4 (diff) | |
download | tigervnc-89f868a44fa28d9daeb4070faa0f25d47db91fb1.tar.gz tigervnc-89f868a44fa28d9daeb4070faa0f25d47db91fb1.zip |
Handle dead keys more properly (through some fixing in FLTK).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4365 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'vncviewer')
-rw-r--r-- | vncviewer/DesktopWindow.cxx | 9 | ||||
-rw-r--r-- | vncviewer/keysym2ucs.c | 17 |
2 files changed, 24 insertions, 2 deletions
diff --git a/vncviewer/DesktopWindow.cxx b/vncviewer/DesktopWindow.cxx index a621e405..113b8801 100644 --- a/vncviewer/DesktopWindow.cxx +++ b/vncviewer/DesktopWindow.cxx @@ -38,6 +38,11 @@ #include "parameters.h" #include "keysym2ucs.h" +// FLTK STR #2599 must be fixed for proper dead keys support +#ifndef HAVE_FLTK_DEAD_KEYS +#define event_compose_symbol event_text +#endif + using namespace rfb; extern void exit_vncviewer(); @@ -210,11 +215,11 @@ int DesktopWindow::handle(int event) return 1; case FL_KEYDOWN: - handleKeyEvent(Fl::event_key(), Fl::event_text(), true); + handleKeyEvent(Fl::event_key(), Fl::event_compose_symbol(), true); return 1; case FL_KEYUP: - handleKeyEvent(Fl::event_key(), Fl::event_text(), false); + handleKeyEvent(Fl::event_key(), Fl::event_compose_symbol(), false); return 1; } diff --git a/vncviewer/keysym2ucs.c b/vncviewer/keysym2ucs.c index 2e6711fb..d12eb491 100644 --- a/vncviewer/keysym2ucs.c +++ b/vncviewer/keysym2ucs.c @@ -810,6 +810,23 @@ struct codepair { { 0x13bd, 0x0153 }, /* oe œ LATIN SMALL LIGATURE OE */ { 0x13be, 0x0178 }, /* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */ { 0x20ac, 0x20ac }, /* EuroSign € EURO SIGN */ + { 0xfe50, 0x0300 }, /* COMBINING GRAVE ACCENT */ + { 0xfe51, 0x0301 }, /* COMBINING ACUTE ACCENT */ + { 0xfe52, 0x0302 }, /* COMBINING CIRCUMFLEX ACCENT */ + { 0xfe53, 0x0303 }, /* COMBINING TILDE */ + { 0xfe54, 0x0304 }, /* COMBINING MACRON */ + { 0xfe55, 0x0306 }, /* COMBINING BREVE */ + { 0xfe56, 0x0307 }, /* COMBINING DOT ABOVE */ + { 0xfe57, 0x0308 }, /* COMBINING DIAERESIS */ + { 0xfe58, 0x030a }, /* COMBINING RING ABOVE */ + { 0xfe59, 0x030b }, /* COMBINING DOUBLE ACUTE ACCENT */ + { 0xfe5a, 0x030c }, /* COMBINING CARON */ + { 0xfe5b, 0x0327 }, /* COMBINING CEDILLA */ + { 0xfe5c, 0x0328 }, /* COMBINING OGONEK */ + { 0xfe5d, 0x1da5 }, /* MODIFIER LETTER SMALL IOTA */ + { 0xfe5e, 0x3099 }, /* COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK */ + { 0xfe5f, 0x309a }, /* COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK */ + { 0xfe60, 0x0323 }, /* COMBINING DOT BELOW */ }; unsigned keysym2ucs(unsigned keysym) |