76 lines
3.5 KiB
Markdown
76 lines
3.5 KiB
Markdown
[//]: # (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. Никаких симуляций или искусственных переключений.
|