static BOOL xf_event_KeyPress(xfContext* xfc, XEvent* event, BOOL app) { KeySym keysym; char str[256]; XLookupString((XKeyEvent*) event, str, sizeof(str), &keysym, NULL); xf_kbd_set_keypress(xfc, event->xkey.keycode, keysym); if (keysym == XK_Insert && ((xf_kbd_key_pressed(xfc, XK_Alt_L) || xf_kbd_key_pressed(xfc, XK_Alt_R)) && (xf_kbd_key_pressed(xfc, XK_Control_L) || xf_kbd_key_pressed(xfc, XK_Control_R))) ) { // Ctrl-Alt-Insert: translate to Ctrl-Alt-Delete xf_kbd_send_key(xfc, TRUE, (BYTE)0x77); return TRUE; } if (xfc->fullscreen_toggle && xf_kbd_handle_special_keys(xfc, keysym)) return TRUE; xf_kbd_send_key(xfc, TRUE, event->xkey.keycode); return TRUE; }
static BOOL xf_event_KeyPress(xfInfo* xfi, XEvent* event, BOOL app) { KeySym keysym; char str[256]; XLookupString((XKeyEvent*) event, str, sizeof(str), &keysym, NULL); xf_kbd_set_keypress(xfi, event->xkey.keycode, keysym); if (xfi->fullscreen_toggle && xf_kbd_handle_special_keys(xfi, keysym)) return TRUE; xf_kbd_send_key(xfi, TRUE, event->xkey.keycode); return TRUE; }