Remove simple keyboard model
Remove the FLTK simple keyboard system and reorganise things in
preparation for a more direct approach.
diff --git a/vncviewer/menukey.cxx b/vncviewer/menukey.cxx
index 2e3a568..9c52f5e 100644
--- a/vncviewer/menukey.cxx
+++ b/vncviewer/menukey.cxx
@@ -20,31 +20,37 @@
#include <string.h>
#include <FL/Fl.H>
+// FLTK can pull in the X11 headers on some systems
+#ifndef XK_VoidSymbol
+#define XK_MISCELLANY
+#include <rfb/keysymdef.h>
+#endif
+
#include "menukey.h"
#include "parameters.h"
static const MenuKeySymbol menuSymbols[] = {
- {"F1", FL_F + 1},
- {"F2", FL_F + 2},
- {"F3", FL_F + 3},
- {"F4", FL_F + 4},
- {"F5", FL_F + 5},
- {"F6", FL_F + 6},
- {"F7", FL_F + 7},
- {"F8", FL_F + 8},
- {"F9", FL_F + 9},
- {"F10", FL_F + 10},
- {"F11", FL_F + 11},
- {"F12", FL_F + 12},
- {"Pause", FL_Pause},
- {"Print", FL_Print},
- {"Scroll_Lock", FL_Scroll_Lock},
- {"Escape", FL_Escape},
- {"Insert", FL_Insert},
- {"Delete", FL_Delete},
- {"Home", FL_Home},
- {"Page_Up", FL_Page_Up},
- {"Page_Down", FL_Page_Down},
+ {"F1", FL_F + 1, XK_F1},
+ {"F2", FL_F + 2, XK_F2},
+ {"F3", FL_F + 3, XK_F3},
+ {"F4", FL_F + 4, XK_F4},
+ {"F5", FL_F + 5, XK_F5},
+ {"F6", FL_F + 6, XK_F6},
+ {"F7", FL_F + 7, XK_F7},
+ {"F8", FL_F + 8, XK_F8},
+ {"F9", FL_F + 9, XK_F9},
+ {"F10", FL_F + 10, XK_F10},
+ {"F11", FL_F + 11, XK_F11},
+ {"F12", FL_F + 12, XK_F12},
+ {"Pause", FL_Pause, XK_Pause},
+ {"Print", FL_Print, XK_Print},
+ {"Scroll_Lock", FL_Scroll_Lock, XK_Scroll_Lock},
+ {"Escape", FL_Escape, XK_Escape},
+ {"Insert", FL_Insert, XK_Insert},
+ {"Delete", FL_Delete, XK_Delete},
+ {"Home", FL_Home, XK_Home},
+ {"Page_Up", FL_Page_Up, XK_Page_Up},
+ {"Page_Down", FL_Page_Down, XK_Page_Down},
};
int getMenuKeySymbolCount()
@@ -57,15 +63,19 @@
return menuSymbols;
}
-int getMenuKeyCode()
+void getMenuKey(int *keycode, rdr::U32 *keysym)
{
- const char *menuKeyStr;
- int menuKeyCode = 0;
+ const char *menuKeyStr;
- menuKeyStr = menuKey;
- for(int i = 0; i < getMenuKeySymbolCount(); i++)
- if (!strcmp(menuSymbols[i].name, menuKeyStr))
- menuKeyCode = menuSymbols[i].keycode;
+ menuKeyStr = menuKey;
+ for(int i = 0; i < getMenuKeySymbolCount(); i++) {
+ if (!strcmp(menuSymbols[i].name, menuKeyStr)) {
+ *keycode = menuSymbols[i].keycode;
+ *keysym = menuSymbols[i].keysym;
+ return;
+ }
+ }
- return menuKeyCode;
+ *keycode = 0;
+ *keysym = 0;
}