+ unsigned char keys_pressed[256];
+};
+
+#ifdef HAVE_LIBVNCSERVER
+
+static const struct keysym_map_ {
+ unsigned int rfb_start;
+ unsigned int rfb_end;
+ DCPU16_WORD dcpu_start;
+} keymap_[] = {
+ { XK_space, XK_asciitilde, 0x20 }, /* ASCII range */
+ { XK_Delete, XK_Delete, 0x7f }, /* ASCII del */
+ { XK_BackSpace, XK_BackSpace, 0x10 }, /* bs */
+ { XK_Return, XK_Return, 0x11 }, /* ret */
+ { XK_Insert, XK_Insert, 0x12 }, /* ins */
+ { XK_Delete, XK_Delete, 0x13 }, /* del */
+ { XK_Up, XK_Up, 0x80 }, /* arrow up */
+ { XK_Down, XK_Down, 0x81 }, /* arrow down */
+ { XK_Left, XK_Left, 0x82 }, /* arrow left */
+ { XK_Right, XK_Right, 0x83 }, /* arrow right */
+ { XK_Shift_L, XK_Shift_R, 0x90 }, /* shift range */
+ { XK_Control_L, XK_Control_R, 0x91 }, /* control range */
+ { 0, 0, 0x0 }