Playing PC games on a dedicated handheld requires flexible controller input. Some titles are designed for modern Xbox/PlayStation controllers, while others require mouse clicks, keyboard hotkeys, or precise gyroscopic fine-aiming.
DroidDeck includes a built-in Controller & Input Profiler that bridges physical Android gamepad inputs, internal IMU motion sensors, and virtual touch surfaces into standard XInput and Steam Input events.
This guide walks you through configuring physical gamepads, setting up gyro aiming, and enabling virtual trackpads for navigation.
---
1. Mapping Physical Handheld Buttons
Whether you are using an integrated controller on an Ayn Odin 2 or Retroid Pocket 5, or an external controller (such as an Xbox Wireless Controller, DualSense, or Gamesir G8 Galileo):
Open DroidDeck and tap the Controller Icon in the top navigation bar.
Select Gamepad Profile → New Profile.
Follow the on-screen prompts to press each button:
* D-Pad: Up, Down, Left, Right
* Face Buttons: A, B, X, Y (choose between Xbox layout or Nintendo layout)
* Shoulders & Triggers: L1, R1, L2 (analog), R2 (analog)
* Thumbsticks: Left Stick Click (L3), Right Stick Click (R3)
* System Buttons: Start, Select / Back, and the Guide / Home Button.
Pro Tip
Mapping the Guide / Home Button is essential: pressing it during gameplay summons the Steam Big Picture overlay, allowing you to adjust screen brightness, exit games, or inspect achievements.
---
2. Calibrating Gyro Aiming for First-Person Shooters
Gyro aiming allows you to make subtle, intuitive aim corrections in shooters (*Portal 2*, *Left 4 Dead 2*, *Half-Life 2*, *Fallout: New Vegas*) by slightly tilting your handheld device.
How to Enable Gyro in DroidDeck:
In the DroidDeck Controller Editor, navigate to the Motion & Gyro tab.
Toggle Enable IMU Motion Sensor to ON.
Place your device on a flat, level surface and tap Calibrate Zero Point.
Set Gyro Mode to:
* Mouse Emulation (Recommended): Maps device tilts to smooth mouse cursor movements.
* Right Stick Additive: Nudges the right analog stick slightly in the direction of tilt.
Set Activation Condition: You can configure the gyro to activate only when L2 (Aim Down Sights) is held down. This prevents camera drift when running or navigating menus.
---
3. Configuring Virtual Touch Trackpads for Desktop Navigation
Some classic PC games (*FTL: Faster Than Light*, *Civilization*, *Age of Empires*, *Diablo II*) require mouse cursor interaction. DroidDeck solves this with Virtual Touch Trackpads:
Method A: In-Game Virtual Trackpad Overlay
Swipe in from the right edge of your screen during gameplay to open the Session Drawer.
Tap Trackpad Mode.
A translucent touch trackpad overlay will appear on the right side of the screen.
Gliding your thumb over the surface moves the mouse cursor; tapping acts as a Left Click, and a two-finger tap acts as a Right Click.
Method B: Dual Screen Companion Mode
If you are playing on a dual-screen device or have an external portable monitor attached via USB-C:
Open DroidDeck's Display Settings.
Set Secondary Display Role to Input Companion Trackpad.
Your primary display renders the game in full-screen 1080p, while your second screen turns into a massive, responsive trackpad and on-screen keyboard!
---
4. Mapping Back Paddles (M1 / M2 Buttons)
Handhelds like the Ayn Odin 2 feature physical M1 and M2 back paddles. To map these:
In the DroidDeck Controller Editor, scroll to Extended Buttons.
Tap M1 and assign it to any keyboard shortcut (e.g. F5 for Quick Save, or Shift for Sprint).
Tap M2 and assign it to F9 (Quick Load) or an analog stick click.
---
Saving and Switching Profiles
You can save multiple controller configurations:
Gamepad Default: Standard XInput mapping for modern console ports.
FPS + Gyro: Activated L2 gyro aiming with high right-stick sensitivity.
Point-and-Click RTS: Dual virtual trackpads with left/right mouse click buttons.
Profiles can be exported as #0D1319] border border-white/10 font-mono text-xs text-droiddeck-cyan">.json files in Download/DroidDeck/profiles/ and shared with other community members on [GitHub Discussions.