MCPcopy Create free account
hub / github.com/crownengine/crown / InputManager

Method InputManager

src/device/input_manager.cpp:189–238  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187CE_STATIC_ASSERT(countof(s_pad_axis_names) == JoypadAxis::COUNT);
188
189InputManager::InputManager(Allocator &a)
190 : _allocator(&a)
191 , _keyboard(NULL)
192 , _mouse(NULL)
193 , _touch(NULL)
194 , _mouse_last_x(INT16_MAX)
195 , _mouse_last_y(INT16_MAX)
196 , _has_delta_axis_event(false)
197 , _num_events(0)
198{
199 _keyboard = input_device::create(*_allocator
200 , "Keyboard"
201 , KeyboardButton::COUNT
202 , 0
203 , s_keyboard_button_names
204 , NULL
205 );
206 _mouse = input_device::create(*_allocator
207 , "Mouse"
208 , MouseButton::COUNT
209 , MouseAxis::COUNT
210 , s_mouse_button_names
211 , s_mouse_axis_names
212 );
213 _touch = input_device::create(*_allocator
214 , "Touch"
215 , TouchButton::COUNT
216 , TouchAxis::COUNT
217 , s_touch_button_names
218 , s_touch_axis_names
219 );
220
221 for (u8 i = 0; i < CROWN_MAX_JOYPADS; ++i) {
222 _joypad[i] = input_device::create(*_allocator
223 , "Joypad"
224 , JoypadButton::COUNT
225 , JoypadAxis::COUNT
226 , s_pad_button_names
227 , s_pad_axis_names
228 );
229 _joypad[i]->set_deadzone(JoypadAxis::LEFT, DeadzoneMode::CIRCULAR, 0.24f);
230 _joypad[i]->set_deadzone(JoypadAxis::RIGHT, DeadzoneMode::CIRCULAR, 0.27f);
231 _joypad[i]->set_deadzone(JoypadAxis::TRIGGER_LEFT, DeadzoneMode::CIRCULAR, 0.12f);
232 _joypad[i]->set_deadzone(JoypadAxis::TRIGGER_RIGHT, DeadzoneMode::CIRCULAR, 0.12f);
233 }
234
235 _keyboard->_connected = true;
236 _mouse->_connected = true;
237 _touch->_connected = true;
238}
239
240InputManager::~InputManager()
241{

Callers

nothing calls this directly

Calls 2

set_deadzoneMethod · 0.80
createFunction · 0.70

Tested by

no test coverage detected