IInput: Difference between revisions
Jump to navigation
Jump to search
Bug:Although your mod will compile fine if you bypass creating the
(Creation) |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
| (4 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
'''<code>IInput</code>''' is a client [[interface]] that packages user input from keyboards, mice and joysticks/gamepads into [[usercmd]]s for transmission to the server. It also handles [[third-person camera]]s. | |||
Conventionally, each type of supported peripheral has its own CPP file. Valve's <code>[[CInput]]</code> interface implementation is in <code>in_main.cpp</code> (for usercmd packaging and keyboard), <code>in_mouse.cpp</code> and <code>in_joystick.cpp</code>. | |||
== Minimum implementation == | |||
<source lang=cpp>static CInput g_Input; | |||
* | IInput* input = (IInput*)&g_Input;</source> | ||
* | |||
{{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 == | |||
* <code>[[CInput]]</code>, Valve's basic <code>IInput</code> implementation | |||
[[Category:Interfaces]] | |||
Latest revision as of 06: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 basicIInputimplementation