by Spike » Fri May 10, 2013 4:16 pm
if CSQC_InputEvent returns true, the engine will not handle the input event.
basically, if you've got some menu grabbing keypresses, just return true, otherwise return false.
you should probably always return false for keyup events though.
CSIE_KEYDOWN = 0, /*syscode, unicode, devid*/
CSIE_KEYUP = 1, /*syscode, unicode, devid*/
CSIE_MOUSEDELTA = 2, /*x, y, devid*/
CSIE_MOUSEABS = 3, /*x, y, devid*/
whether you get delta or absolute mouse events depends upon the engine, the input methods, etc.
a mouse will generally be delta events, but if you've got a touchscreen or the mouse is not grabbed and the engine is running windowed then you'll get absolute events.
the names in the comments are the 2nd, 3rd, and 4th arguments to CSQC_InputEvent for the specified event.
note that devid argument allows you to distinguish between multiple mice, or multi-touch events.
So yeah, return true to keydown events and the engine binds will be blocked, but return true to keyup events and the -forward etc released commands will never be generated.
.