| 187 | CE_STATIC_ASSERT(countof(s_pad_axis_names) == JoypadAxis::COUNT); |
| 188 | |
| 189 | InputManager::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 | |
| 240 | InputManager::~InputManager() |
| 241 | { |
nothing calls this directly
no test coverage detected