Overview
Platzi Viewer supports keyboard shortcuts for faster navigation and video control. These shortcuts work throughout the application and are especially useful during video playback.Video Player Shortcuts
These shortcuts work when you’re watching a video in the player view:Playback Control
| Shortcut | Action | Description |
|---|---|---|
Space | Play/Pause | Toggle video playback (when not in input fields) |
← | Rewind 5s | Seek backward 5 seconds |
→ | Forward 5s | Seek forward 5 seconds |
Alt+← | Previous Class | Navigate to the previous video class |
Alt+→ | Next Class | Navigate to the next video class |
Display Control
| Shortcut | Action | Description |
|---|---|---|
F | Fullscreen Toggle | Enter or exit fullscreen mode |
Escape | Exit Fullscreen | Exit fullscreen mode (when in fullscreen) |
Double-click | Fullscreen Toggle | Double-click video to toggle fullscreen |
Additional Controls
Note: The following do not have dedicated keyboard shortcuts but can be accessed via player controls:- Volume - Use volume slider or mute button
- Speed - Click speed button to cycle (0.5x → 0.75x → 1x → 1.25x → 1.5x → 2x)
- Quality - Click quality button and select from menu
- Subtitles - Click CC button to toggle
Mouse Interactions
While not keyboard shortcuts, these mouse interactions are important for video control:Video Container
| Action | Result |
|---|---|
| Click video | Play/Pause toggle |
| Double-click video | Enter/exit fullscreen |
| Mouse move | Show controls (auto-hide after 2.5s) |
Progress Bar
| Action | Result |
|---|---|
| Click progress bar | Seek to clicked position |
| Drag progress bar | Scrub through video with preview |
| Hover progress bar | Show precise time position |
Volume Control
| Action | Result |
|---|---|
| Click volume button | Toggle mute |
| Drag volume slider | Adjust volume level |
Navigation Shortcuts
General Navigation
| Shortcut | Action | Description |
|---|---|---|
| Browser Back | Previous Page | Navigate to previous view |
| Browser Forward | Next Page | Navigate forward (if available) |
Breadcrumb Navigation
While not keyboard shortcuts, breadcrumbs provide quick navigation:Search and Exploration
Explore View
| Action | Result |
|---|---|
| Focus search box | Start typing to search |
| Type in search | Real-time filtering (200ms debounce) |
| Click category chip | Filter by category |
| Click “Todas” | Clear category filter |
Shortcut Behavior Details
Space Key (Play/Pause)
Implementation:- Works globally when player is active
- Disabled in input fields and textareas
- Prevents page scroll (default space behavior)
Arrow Keys (Seek)
Implementation:- Seeks 5 seconds backward or forward
- Uses sync-aware seeking (maintains A/V sync)
- Prevents default browser behavior
Alt + Arrow Keys (Navigate Classes)
Implementation:- Navigates to previous/next class in course
- Crosses module boundaries automatically
- Updates URL hash to new class
- Stops current video and loads new one
F Key (Fullscreen)
Implementation:- Toggles fullscreen on video wrapper (includes controls)
- Disabled in input fields and textareas
- Works in both directions (enter/exit)
Escape Key (Exit Fullscreen)
Standard Browser Behavior:- Handled by browser’s native fullscreen API
- Automatically exits fullscreen mode
- No custom implementation needed
Shortcut Registration
Shortcuts are registered when the player view mounts: File:/js/views/player.js
- Registered when player view is shown
- Removed when navigating away from player
- Prevents memory leaks and conflicts
Shortcut Conflicts
Input Field Protection
Shortcuts are disabled when typing in input fields:<input>fields (search boxes, etc.)<textarea>fields (notes, comments)- Contenteditable elements (not currently used)
Browser Default Conflicts
Prevented Defaults:Space- Prevents page scroll←/→- Prevents history navigation
- Browser back/forward buttons work normally
Ctrl+F(find) still worksCtrl+R(reload) still works- All other browser shortcuts remain functional
Accessibility Considerations
Keyboard-Only Navigation
All essential functions are accessible via keyboard: ✓ Video playback control (space, arrows) ✓ Navigation between classes (Alt+arrows) ✓ Fullscreen control (F key) ✓ Seeking within video (arrow keys)Screen Reader Compatibility
ARIA Labels: Buttons include proper ARIA labels for screen readers:- Proper button elements (not div with onclick)
- Native video element with standard controls backup
- Logical tab order
Mobile and Touch Devices
No Keyboard Shortcuts
Mobile devices don’t typically have keyboard shortcuts, but offer: Touch Controls:- Tap video to play/pause
- Tap controls to show/hide
- Swipe progress bar to seek
- Pinch to zoom (native browser)
- Previous/Next buttons always visible
- Large touch targets (44px minimum)
- No reliance on hover states
Tips for Power Users
Efficient Video Watching
- Use Alt+→ to skip between classes quickly
- Use ←/→ to skip intros/outros (5s seeks)
- Use Space for instant pause when taking notes
- Use F for distraction-free fullscreen
Navigation Workflow
Combining with Mouse
- Use keyboard for playback control
- Use mouse for progress bar seeking
- Use mouse for speed/quality adjustments
Customization
Current Limitations
⚠️ Keyboard shortcuts are not currently customizable. They are hard-coded in the player implementation. Future Enhancement: A settings panel could be added to allow custom key bindings.Modifying Shortcuts (Developers)
To change shortcuts, modify/js/views/player.js:
Quick Reference Card
Essential Shortcuts
Troubleshooting Shortcuts
Shortcut Not Working
Check:- You’re in the player view (not home/explore)
- Focus is not in an input field
- Browser tab is active (shortcuts work only in active tab)
- Player has finished loading
Conflicts with Browser Extensions
Known Conflicts:- Video downloaders may intercept keyboard events
- Custom video player extensions may conflict
- Accessibility extensions may remap keys
- Disable conflicting extensions
- Use mouse controls as fallback
- Check extension settings for key remapping
Shortcuts Disabled After Navigation
Cause: Shortcuts are registered per-view and cleaned up on navigation. Solution:- Navigate back to player view
- Refresh page if issue persists
- Check browser console for JavaScript errors
Future Enhancements
Potential keyboard shortcut additions:M- Mute/unmuteC- Toggle subtitles+/-- Increase/decrease speed0-9- Jump to 0%, 10%, 20%… 90% of video,/.- Frame-by-frame seeking (when paused)Shift+N- Toggle notes panelShift+T- Toggle sidebar