/* client/input.h This file is part of the Osirion project and is distributed under the terms and conditions of the GNU General Public License version 2 */ #ifndef __INCLUDED_cLIENT_INPUT_H__ #define __INCLUDED_cLIENT_INPUT_H__ #include "client/key.h" #include "client/keyboard.h" #include "core/cvar.h" namespace client { extern core::Cvar *input_mousecontrol; extern core::Cvar *input_keydelay; extern core::Cvar *input_keyrepeat; extern core::Cvar *input_mousedelay; extern core::Cvar *input_grab; namespace input { /// initialize the input subsystem void init(); /// shutdown the input subsystem void shutdown(); /// handle one frame of input events void frame(); /// reset input state void reset(); /// current mouse x position int mouse_position_x(); /// current mouse y position int mouse_position_y(); /// the last key that was pressed Key *last_key_pressed(); /// time the mouse was last moved float mouse_lastmoved_time(); /// time the joystick was last moved float joystick_lastmoved_time(); /// current modifier Key::Modifier modifier(); extern bool mouse_control; extern bool joystick_control; extern float local_thrust; extern Keyboard *keyboard; } // namespace input } // namespace client #endif // __INCLUDED_cLIENT_INPUT_H__