Files
novafarma/docs/ACCESSIBILITY_QUICK_REFERENCE.md
2025-12-12 22:46:38 +01:00

210 lines
4.3 KiB
Markdown

# 🎮 NovaFarma - Accessibility Features Quick Reference
## 🎬 Visual Sound Cues
### Quick Commands:
```javascript
const visualCues = game.scene.scenes[1].visualSoundCues;
// Subtitle size
visualCues.setSubtitleSize('small'); // 16px
visualCues.setSubtitleSize('medium'); // 20px (default)
visualCues.setSubtitleSize('large'); // 28px
visualCues.setSubtitleSize('very-large'); // 36px
// Opacity
visualCues.setSubtitleOpacity(0.8); // 0.0 - 1.0
// Show subtitle
visualCues.showSubtitle('Text', 3000, 'Speaker', 'direction');
// Toggles
visualCues.toggleSubtitles(true/false);
visualCues.toggleSpeakerNames(true/false);
visualCues.toggleDirectionalArrows(true/false);
visualCues.toggleFishingBobber(true/false);
// Custom speaker color
visualCues.addSpeakerColor('Merchant', '#ffa500');
```
---
## 🎮 Input Remapping
### Quick Commands:
```javascript
const inputSystem = game.scene.scenes[1].inputRemapping;
// Switch profile
inputSystem.switchProfile('default');
inputSystem.switchProfile('left-handed');
inputSystem.switchProfile('arrows');
// Rebind action
inputSystem.startRebinding('interact', (action, key) => {
console.log(`Rebound ${action} to ${key}`);
});
// Check binding
inputSystem.getBindingDisplay('move_up');
// Check if pressed
inputSystem.isActionPressed('sprint');
inputSystem.isActionJustPressed('attack');
// Reset
inputSystem.resetAction('interact');
inputSystem.resetAllBindings();
// Save/Load
inputSystem.saveToProfile('custom-1');
const json = inputSystem.exportBindings();
inputSystem.importBindings(json);
// Controller
inputSystem.isControllerConnected();
inputSystem.getControllerInfo();
```
---
## 🔊 Screen Reader System
### Quick Commands:
```javascript
const sr = game.scene.scenes[1].screenReader;
// Speech
sr.speak('Text to speak');
sr.speak('Alert!', 'alert', true); // Interrupt
// Settings
sr.setRate(1.5); // Speed (0.1 - 10)
sr.setPitch(1.2); // Pitch (0 - 2)
sr.setVolume(0.8); // Volume (0 - 1)
// Announcements
sr.announceStats();
sr.announceInventory();
sr.announcePosition();
sr.announceNearby();
sr.announceAction('pickup', 'carrot');
// Toggles
sr.toggleVerboseMode();
sr.toggleSoundCues();
sr.toggleAutoNarrate();
// Audio cues
sr.playAudioCue('success');
sr.playAudioCue('error');
// Voices
sr.getAvailableVoices();
sr.setVoice('Microsoft David Desktop');
```
### Keyboard Shortcuts:
- **Ctrl+H**: Help
- **Ctrl+R**: Repeat last
- **Ctrl+S**: Settings
- **Ctrl+P**: Position
- **Ctrl+I**: Inventory
- **Ctrl+N**: Nearby
- **Ctrl+T**: Stats
- **Ctrl+V**: Verbose mode
---
## 📋 Available Profiles
1. **default** - WASD + mouse
2. **wasd** - WASD movement
3. **arrows** - Arrow keys
4. **left-handed** - Numpad + left side
5. **right-handed** - Standard WASD
6. **custom-1** - User-defined
7. **custom-2** - User-defined
8. **custom-3** - User-defined
---
## 🎨 Speaker Colors
- 🟢 **Player**: Green
- 🟡 **NPC**: Yellow
- 🔴 **Enemy**: Red
- 🔵 **System**: Cyan
-**Narrator**: White
---
## 📏 Subtitle Sizes
| Size | Main | Speaker | Arrows |
|------|------|---------|--------|
| Small | 16px | 12px | 24px |
| Medium | 20px | 16px | 32px |
| Large | 28px | 20px | 40px |
| Very Large | 36px | 24px | 48px |
---
## 🔊 Sound Effects
1. [DAMAGE TAKEN]
2. [PICKED UP: Item]
3. [CROP HARVESTED]
4. [BUILDING PLACED]
5. [DIGGING SOUND]
6. [PLANTING SOUND]
7. [FOOTSTEPS]
8. [DOOR OPENS]
9. [CHEST OPENS]
10. [WATER SPLASH]
11. [FIRE CRACKLING]
12. [EXPLOSION!]
13. [NPC TALKING]
14. [ENEMY GROWL]
15. [FISH BITING!]
16. [DANGER NEARBY]
17. [NIGHT IS FALLING]
18. [ACHIEVEMENT UNLOCKED]
19. [CLICK]
20. [HOVER]
---
## 🧪 Quick Test
```javascript
// Copy-paste this to test everything:
const visualCues = game.scene.scenes[1].visualSoundCues;
const inputSystem = game.scene.scenes[1].inputRemapping;
// Test subtitles
visualCues.setSubtitleSize('large');
visualCues.showSubtitle('Testing!', 3000, 'NPC', 'left');
// Test input
console.log('Move Up:', inputSystem.getBindingDisplay('move_up'));
inputSystem.switchProfile('left-handed');
console.log('Move Up (left-handed):', inputSystem.getBindingDisplay('move_up'));
inputSystem.switchProfile('default');
```
---
## 📖 Full Documentation
- `docs/guides/CLOSED_CAPTIONS_TESTING.md`
- `docs/guides/INPUT_REMAPPING_TESTING.md`
- `docs/sessions/ACCESSIBILITY_IMPLEMENTATION_12_12_2025.md`
---
**Version**: 2.5.0
**Last Updated**: 12.12.2025