quakeforge/libs/video/targets
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
..
context_sdl.c [video] Get 16 and 32 bit sw32 mostly working in x11 2021-07-11 00:09:41 +09:00
context_win.c [win] Update windows input for new binding system 2021-11-19 13:52:40 +09:00
context_x11.c [x11] Send app_window event when window moves 2021-11-22 13:20:13 +09:00
dga_check.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
fbset.c Massive whitespace cleanup. 2012-05-22 08:23:22 +09:00
fbset_modes_l.l various gcc 4.3 fixes 2008-07-19 05:40:57 +00:00
fbset_modes_y.y And a few more bits of whitespace. 2012-05-23 08:21:27 +09:00
in_fbdev.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
in_sdl.c [build] Fix some windows bitrot 2021-08-02 14:02:41 +09:00
in_svgalib.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
in_win.c [win] Update windows input for new binding system 2021-11-19 13:52:40 +09:00
in_x11.c [x11] Implement raw keyboard input via XInput2 2021-11-23 11:39:48 +09:00
joy.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
joy_linux.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
joy_null.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
joy_win.c Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
Makemodule.am [video] Remove libQFjs 2021-11-01 12:30:45 +09:00
vid.c [vid] Remove redundant direct, conbuffer and conrowbytes 2021-07-11 13:44:00 +09:00
vid_3dfxsvga.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
vid_fbdev.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
vid_sdl.c Get QF cross-compiling using MXE/mingw32 2021-03-27 20:09:37 +09:00
vid_sdl_gl.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
vid_sdl_sw.c [vid] Clean up sdl some more 2021-03-31 15:10:51 +09:00
vid_svgalib.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
vid_win.c [vid] Remove redundant direct, conbuffer and conrowbytes 2021-07-11 13:44:00 +09:00
vid_win_gl.c [vid] Set pixel format for OpenGL 2021-03-31 16:25:19 +09:00
vid_win_sw.c [vid] Remove redundant direct, conbuffer and conrowbytes 2021-07-11 13:44:00 +09:00
vid_win_vulkan.c [vulkan] Move viewport and scissor into vulkan_ctx 2021-04-01 11:44:30 +09:00
vid_x11.c [video] Mark dga funcs as const when dga not available 2021-08-11 12:09:07 +09:00
vid_x11_gl.c [util] Make developer flag names easier to manage 2021-03-29 22:38:47 +09:00
vid_x11_sw.c [x11] Clean up duplicate code in software updates 2021-11-03 22:22:37 +09:00
vid_x11_vulkan.c [vulkan] Move viewport and scissor into vulkan_ctx 2021-04-01 11:44:30 +09:00