tengri/Content/Input/ManualTestingChecklist.md

76 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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