quakeforge/libs
Bill Currie af5d92708d [x11] Implement raw keyboard input via XInput2
UI key presses are still handled by regular X events, but in-game
"button" presses arrive via raw keyboard events. This gives transparent
handling of keyboard repeat (UI keys see repeat, game keys do not),
without messing with the server's settings (yay, that was most annoying
when it came to debugging), and the keyboard is never grabbed, so this
is a fairly user-friendly setup.

At first, I wasn't too keen on capturing them from the root window
(thinking about the user's security), but after a lot of investigation,
I found a post by Peter Hutterer
(http://who-t.blogspot.com/2011/09/whats-new-in-xi-21-raw-events.html)
commenting that root window events were added to XInput2 specifically
for games. Since application focus is tracked and unfocused key events
are dropped very early on, there's no way for code further down the
food-chain to know there even was an event, abusing the access would
require modifying the x11 input code, in which case all bets are off
anyway and any attempt at security anywhere in the code will fail,
meaning that nefarious progs code and the like shouldn't be a problem.
2021-11-23 11:39:48 +09:00
..
audio [win] Fix a pile of bitrot 2021-07-11 13:30:52 +09:00
client [scene] Rename libQFentity to libQFscene 2021-07-24 14:20:59 +09:00
console [console] Close console when escape key is pressed 2021-11-22 14:59:32 +09:00
gamecode [gamecode] Conform with libc malloc for pr zone 2021-09-26 12:03:44 +09:00
gib [console] Hook up new input system 2021-11-08 11:20:04 +09:00
image Do an audit of hunk mark usage 2021-07-29 11:43:27 +09:00
input [input] Drop unfocused evdev axis/button events 2021-11-22 14:59:32 +09:00
models [util] Make bsp_t counts size_t 2021-08-01 21:54:05 +09:00
net [util] Make hunk (optionally) thread-safe 2021-07-29 11:43:27 +09:00
qw [util] Make sizebuf and msg sizes unisgned 2021-04-04 15:53:53 +09:00
ruamoko [console] Hook up new input system 2021-11-08 11:20:04 +09:00
scene [scene] Rename libQFentity to libQFscene 2021-07-24 14:20:59 +09:00
ui [ui] Add two view manipulation functions 2021-07-10 17:57:59 +09:00
util [cexpr] Fix a naming issue with uint 2021-11-19 08:58:02 +09:00
video [x11] Implement raw keyboard input via XInput2 2021-11-23 11:39:48 +09:00
Makemodule.am [scene] Rename libQFentity to libQFscene 2021-07-24 14:20:59 +09:00