git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4365 3789f03b-4d11-0410-bbf8-ca57d06f2519tags/v1.1.90
include(CheckFunctionExists) | include(CheckFunctionExists) | ||||
include(CheckTypeSize) | include(CheckTypeSize) | ||||
include(CheckCSourceCompiles) | include(CheckCSourceCompiles) | ||||
include(CheckCXXSourceCompiles) | |||||
project(TigerVNC) | project(TigerVNC) | ||||
set(VERSION 1.0.90) | set(VERSION 1.0.90) | ||||
set(FLTK_SKIP_FLUID TRUE) | set(FLTK_SKIP_FLUID TRUE) | ||||
set(FLTK_SKIP_OPENGL TRUE) | set(FLTK_SKIP_OPENGL TRUE) | ||||
find_package(FLTK COMPONENTS REQUIRED) | find_package(FLTK COMPONENTS REQUIRED) | ||||
# FLTK STR #2599 | |||||
set(CMAKE_REQUIRED_INCLUDES ${FLTK_INCLUDE_DIR}) | |||||
set(CMAKE_REQUIRED_LIBRARIES ${FLTK_LIBRARIES}) | |||||
check_cxx_source_compiles("#include <FL/Fl.H>\nint main(int c, char** v) { Fl::event_compose_symbol(); return 0; }" HAVE_FLTK_DEAD_KEYS) | |||||
set(CMAKE_REQUIRED_INCLUDES) | |||||
set(CMAKE_REQUIRED_LIBRARIES) | |||||
endif() | endif() | ||||
# Check for GNUTLS library | # Check for GNUTLS library |
#include "parameters.h" | #include "parameters.h" | ||||
#include "keysym2ucs.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; | using namespace rfb; | ||||
extern void exit_vncviewer(); | extern void exit_vncviewer(); | ||||
return 1; | return 1; | ||||
case FL_KEYDOWN: | case FL_KEYDOWN: | ||||
handleKeyEvent(Fl::event_key(), Fl::event_text(), true); | |||||
handleKeyEvent(Fl::event_key(), Fl::event_compose_symbol(), true); | |||||
return 1; | return 1; | ||||
case FL_KEYUP: | case FL_KEYUP: | ||||
handleKeyEvent(Fl::event_key(), Fl::event_text(), false); | |||||
handleKeyEvent(Fl::event_key(), Fl::event_compose_symbol(), false); | |||||
return 1; | return 1; | ||||
} | } | ||||
{ 0x13bd, 0x0153 }, /* oe œ LATIN SMALL LIGATURE OE */ | { 0x13bd, 0x0153 }, /* oe œ LATIN SMALL LIGATURE OE */ | ||||
{ 0x13be, 0x0178 }, /* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */ | { 0x13be, 0x0178 }, /* Ydiaeresis Ÿ LATIN CAPITAL LETTER Y WITH DIAERESIS */ | ||||
{ 0x20ac, 0x20ac }, /* EuroSign € EURO SIGN */ | { 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) | unsigned keysym2ucs(unsigned keysym) |