IInput: Difference between revisions
Jump to navigation
Jump to search
Bug:Although your mod will compile fine if you bypass creating the
TomEdwards (talk | contribs) No edit summary |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
Line 8: | Line 8: | ||
IInput* input = (IInput*)&g_Input;</source> | IInput* input = (IInput*)&g_Input;</source> | ||
{{bug|Although your mod will compile fine if you bypass creating the <code>g_Input</code> object, you may encounter bizarre errors (including the world not rendering and a cursor that is re-centred every frame) when launching with a debugger attached!}} | {{bug|hidetested=1|Although your mod will compile fine if you bypass creating the <code>g_Input</code> object, you may encounter bizarre errors (including the world not rendering and a cursor that is re-centred every frame) when launching with a debugger attached!}} | ||
== See also == | == See also == |
Latest revision as of 07:14, 20 May 2025
IInput
is a client interface that packages user input from keyboards, mice and joysticks/gamepads into usercmds for transmission to the server. It also handles third-person cameras.
Conventionally, each type of supported peripheral has its own CPP file. Valve's CInput
interface implementation is in in_main.cpp
(for usercmd packaging and keyboard), in_mouse.cpp
and in_joystick.cpp
.
Minimum implementation
static CInput g_Input;
IInput* input = (IInput*)&g_Input;

g_Input
object, you may encounter bizarre errors (including the world not rendering and a cursor that is re-centred every frame) when launching with a debugger attached!See also
CInput
, Valve's basicIInput
implementation