[//]: # (Input/ManualTestingChecklist.md) # Input Device System - Manual Testing Checklist ## Тестовая среда - **Персонаж:** BP_MainCharacter с ShowDebugInfo = true - **Клавиши:** PageUp/PageDown для навигации в Debug HUD - **Требования:** InputDeviceComponent инициализирован --- ## 1. Debug HUD Integration ### 1.1 Input Device Info Page - [ ] **Page 4** отображается как "Input Device Detection" - [ ] **PageUp/PageDown** позволяет перейти на Input Device page - [ ] **Содержимое страницы** показывает: - Primary Type: [тип устройства UE] - Is Initialized: [true/false] ### 1.2 Real-time Device Detection - [ ] **При использовании мыши/клавиатуры** Primary Type показывает "Keyboard & Mouse" - [ ] **При подключении геймпада** Primary Type автоматически меняется на "Gamepad" --- ## 2. Автоматическая детекция устройств ### 2.1 Keyboard & Mouse Detection - [ ] **Движение мыши** автоматически переключает на Keyboard & Mouse - [ ] **Нажатие клавиш** (WASD, пробел, etc.) переключает на Keyboard & Mouse - [ ] **Primary Type** показывает "KeyboardAndMouse" ### 2.2 Gamepad Detection - [ ] **Движение стиков** автоматически переключает на Gamepad - [ ] **Нажатие кнопок геймпада** переключает на Gamepad - [ ] **Primary Type** показывает "Gamepad" --- ## 3. API Functions Testing ### 3.1 Device Type Queries (Binary) - [ ] **IsKeyboard()** возвращает true для всех устройств кроме Gamepad - [ ] **IsGamepad()** возвращает true только для геймпадов - [ ] **IsKeyboard() и IsGamepad()** никогда не возвращают одинаковые значения - [ ] **GetCurrentInputDevice()** возвращает корректный EHardwareDevicePrimaryType --- ## 4. Error Handling ### 4.1 Edge Cases - [ ] **Отключение устройств** обрабатывается корректно - [ ] **Подключение новых устройств** детектируется автоматически - [ ] **System console** не содержит ошибок input detection - [ ] **Performance** остается стабильной при активном использовании ### 4.2 Integration Stability - [ ] **Debug HUD** стабильно работает с device detection - [ ] **Частые переключения** устройств не вызывают проблем - [ ] **AC_InputDevice** корректно инициализируется - [ ] **IsGamepad/IsKeyboard** всегда возвращают корректные значения --- ## Критерии прохождения - [ ] All device types correctly detected and displayed - [ ] Real-time switching works seamlessly through UE subsystem - [ ] Debug HUD shows complete hardware information - [ ] No console errors during normal operation - [ ] API functions return consistent results - [ ] Native UE InputDeviceSubsystem integration works properly **Примечание:** Система использует только встроенную InputDeviceSubsystem от Unreal Engine. Никаких симуляций или искусственных переключений.