Пример #1
0
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;
}
Пример #2
0
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;
}