X11: keyboard auto-repeat detection
This commit is contained in:
parent
4547973561
commit
752d254982
|
@ -311,6 +311,16 @@ void input_x11_handle()
|
|||
case KeyPress:
|
||||
case KeyRelease:
|
||||
{
|
||||
if (e.type == KeyRelease && XEventsQueued(display, QueuedAfterReading))
|
||||
{
|
||||
XEvent nev;
|
||||
XPeekEvent(display, &nev);
|
||||
|
||||
if (nev.type == KeyPress && nev.xkey.time == e.xkey.time &&
|
||||
nev.xkey.keycode == e.xkey.keycode)
|
||||
// Key wasn’t actually released: auto repeat
|
||||
continue;
|
||||
}
|
||||
// Dreamcast keyboard emulation
|
||||
if (e.xkey.keycode == KEY_LSHIFT || e.xkey.keycode == KEY_RSHIFT)
|
||||
if (e.type == KeyRelease)
|
||||
|
|
Loading…
Reference in New Issue