Keyboard & Mouse Controls
Specchio translates your Mac's keyboard and mouse input into touch events on your iPhone, making control feel natural and intuitive.
Table of Contents
Mouse Controls
Basic Interactions
| Mac Action | iPhone Equivalent | Notes |
|---|---|---|
| Left Click | Tap | Triggers a tap at the cursor location |
| Click & Drag | Touch & Drag | Hold and move to drag elements |
| Scroll | Swipe | Two-finger swipe on trackpad scrolls |
| Right Click | Long Press | Opens context menus (iOS long press) |
Coordinate Mapping
Specchio automatically maps your Mac's mouse position to the correct location on your iPhone screen:
- Mac window coordinates are normalized (0-1)
- Scaled to iPhone resolution
- Sent to WDA as touch coordinates
- Touch event triggered on device
Click Types
| Click Type | How to Trigger | Use Case |
|---|---|---|
| Single Tap | Left click | Open apps, tap buttons, type in text fields |
| Double Tap | Two quick clicks | Zoom in photos/maps, some app-specific actions |
| Long Press | Right click or hold | Context menus, edit mode, icon rearrangement |
Scrolling
| Input Method | Action |
|---|---|
| Mouse Wheel | Vertical scrolling |
| Trackpad Scroll | Two-finger swipe (any direction) |
| Trackpad Gesture | Two-finger drag |
Keyboard Controls
Typing
Typing on your Mac's keyboard automatically sends keystrokes to your iPhone:
- Click any text field on your iPhone (via Specchio)
- Start typing on your Mac keyboard
- Text appears on your iPhone in real-time
Note: The iOS keyboard doesn't appear when you type via Specchio.
Key Mappings
| Mac Key | iOS Equivalent |
|---|---|
| Return | Enter/Go (depends on context) |
| Tab | Next field (if supported by app) |
| Delete | Backspace |
| Arrow Keys | Unsupported (use gestures instead) |
| Esc | Home button/Cancel |
Keyboard Shortcuts
Most iOS keyboard shortcuts work through Specchio:
| Shortcut | Action |
|---|---|
| ⌘ + C | Copy |
| ⌘ + V | Paste |
| ⌘ + X | Cut |
| ⌘ + Z | Undo |
| ⌘ + Shift + Z | Redo |
| ⌘ + A | Select All |
Gestures
Specchio supports complex iOS gestures through your mouse and keyboard.
Pinch to Zoom
| Action | How to Perform |
|---|---|
| Zoom In | Hold ⌘ + Scroll Up (or drag) |
| Zoom Out | Hold ⌘ + Scroll Down (or drag) |
For trackpad users: Two-finger pinch gesture
Rotation
| Action | How to Perform |
|---|---|
| Rotate | Hold ⌥ (Option) + Click & Drag |
Swipe Gestures
| Gesture | How to Perform |
|---|---|
| Swipe Left | Hold Shift + Scroll Left / Drag |
| Swipe Right | Hold Shift + Scroll Right / Drag |
| Swipe Up | Hold Shift + Scroll Up / Drag |
| Swipe Down | Hold Shift + Scroll Down / Drag |
Multi-Touch Simulation
Specchio can simulate multi-touch gestures:
| Gesture | Modifier + Action |
|---|---|
| Two-finger tap | ⌃ (Ctrl) + Click |
| Three-finger tap | ⌃ + ⌥ + Click |
| Two-finger swipe | ⌃ + Scroll |
Special Keys
Home Button
Even without a physical home button, you can trigger the home action:
| Method | Action |
|---|---|
| ⌘ + Shift + H | Home button press |
| Esc | Home button (alternative) |
Lock/Power
| Method | Action |
|---|---|
| ⌘ + Shift + L | Lock device |
| ⌘ + Shift + P | Power button (toggle) |
Volume
| Method | Action |
|---|---|
| ⌘ + Shift + Up | Volume Up |
| ⌘ + Shift + Down | Volume Down |
| ⌘ + Shift + M | Mute |
Siri
| Method | Action |
|---|---|
| ⌘ + Shift + S | Activate Siri (long press) |
Screenshot
| Method | Action |
|---|---|
| ⌘ + Shift + 4 | iPhone screenshot |
| ⌘ + Shift + 5 | iPhone screenshot (alternative) |
Screenshots are saved to your iPhone's Photos app.
Clipboard Sync
Specchio can synchronize clipboard between Mac and iPhone (Premium feature).
How It Works
- Copy something on your Mac (⌘ + C)
- It automatically appears on your iPhone's clipboard
- Paste anywhere on your iPhone
Enabling Clipboard Sync
- In Specchio, go to Settings
- Find Clipboard Sync
- Toggle Enable
- Grant accessibility permission if prompted
Customization
Input Settings
Access via Specchio → Settings → Input:
| Setting | Description |
|---|---|
| Tap Duration | How long a tap is held before becoming a long press |
| Scroll Sensitivity | How much scrolling occurs per scroll event |
| Gesture Threshold | Minimum distance for swipe gestures |
| Modifier Keys | Remap modifier keys for gestures |
Creating Custom Shortcuts
In Settings → Input → Custom Shortcuts:
- Click + to add a new shortcut
- Choose a key combination
- Assign an action (Home, Lock, Screenshot, etc.)
- Save
Keyboard Layouts
Specchio supports international keyboard layouts:
- Go to Settings → Input → Keyboard Layout
- Select your preferred layout
- Special character mapping updates automatically
Best Practices
For Typing
- ✅ Click directly into text fields before typing
- ✅ Use keyboard shortcuts (⌘+C/V) for copy/paste
- ✅ Enable clipboard sync for seamless workflow
For Navigation
- ✅ Use scroll gestures for natural scrolling
- ✅ Use swipe gestures for page navigation
- ✅ Long-press (right-click) for context menus
For Gaming
- ⚠️ Specchio is not optimized for gaming
- ⚠️ Touch latency may be noticeable in fast-paced games
- ✅ USB connection provides lowest latency
- ✅ Disable display smoothing for fastest response
Troubleshooting Input Issues
Clicks Not Registering
Problem: Clicking doesn't trigger taps on iPhone.
Solutions:
- Make sure Specchio window is focused
- Check that your iPhone is not locked
- Try restarting the connection
- Verify coordinates are mapping correctly
Typing Not Working
Problem: Keyboard input doesn't appear on iPhone.
Diagnostic commands:
# Test WDA input endpoint
curl -X POST http://localhost:8100/wda/keys \
-H "Content-Type: application/json" \
-d '{"value": ["Hello"]}'
# Should send "Hello" to deviceSolutions:
- Click into a text field first
- Check that iOS keyboard is dismissed
- Try restarting the connection
- Verify WDA input session is active
Gestures Not Working
Problem: Pinch, swipe, or other gestures don't work.
Solutions:
- Make sure you're holding the correct modifier keys
- Check gesture settings in Specchio preferences
- Try increasing gesture threshold
- Some apps don't support certain gestures
For more help, see Troubleshooting.