Kneeboard on a live controller

Bind the DCS kneeboard to a Quest controller you hold in your hand - pick it up, angle it to read, set it down. Full 6DoF, in real time.

🎯 What you get
A Quest controller becomes a kneeboard you hold in your hand. The mask is glued to the controller and follows every move in full 6DoF - raise it to read an approach plate, tilt it to your eyeline, lower your hand to stow it. This is the exact opposite of the rig-mounted reference workflow: there the controller sleeps and the mask stays world-locked; here the controller stays live and the mask goes wherever your hand goes.
A typical use — approach charts. You rarely want a plate parked in your view for the whole flight. So bind it to a controller and let it rest by your side; when you actually need it, just grab the controller and the chart is right there in your hand. Glance at it on the approach, then lower your hand and it's tucked away again — no menus, no toggling a mask on and off.
Real-time tracking in action — the kneeboard stays glued to the controller as you move your hand.
🖥️ Set it up at your PC — align it in VR
🖥️ At your PC= headset off, working at the desktop
🥽 In VR= headset on, controller in hand — so you see the result

DCS (or another VR app) has to be running so the controller is tracked and the kneeboard has pages to show. You add and bind the mask at the desktop (steps 1–3), but the alignment (step 4: Reset offset + Face me) you do with the headset on and the controller in your hand — that's the only way to see the kneeboard land where you want it.

⚠️ First get controller tracking working. This guide assumes the Quest is actually forwarding controller poses to the PC. If you haven't set that up yet, do the one-time tracking prerequisites from the Controller Tracking guide first (VD Track controllers + Forward tracking data to PC on; Quest/VD hand & body tracking off). Without them the [T] panel just shows "no pose".
1

Add a mask with the Kneeboard function

🖥️ At your PC

Create a new mask and set its content type to DCS Kneeboard. Instead of a drawn cutout, this mask streams your in-game kneeboard pages onto the surface. We'll cover the kneeboard's own functions — the different pages it can show (aircraft, theater, mission, briefing, nearest airfield) — in detail in the next guide.

  • Open the mask list and click Add mask.
  • Set the type / function to DCS Kneeboard.
  • The kneeboard now appears both in the 2D canvas on your desktop and in VR.
PassthroughForge Add new mask wizard with the DCS Kneeboard source highlighted and the Create button.
Add a mask and set its function to DCS Kneeboard.
📖 No pages showing? The kneeboard content comes from DCS via the PassthroughForge hook - make sure the hook is installed and DCS is running. The mask surface, tracking and alignment all work regardless; the pages just fill in once DCS feeds them.
2

Bind it to the controller you'll hold

🖥️ At your PC
🥽 DCS (or another VR app) must be running.

Assigning a controller only works while you are in DCS or any other VR application - controller poses reach PassthroughForge only through the active VR session. Start the sim, put the headset on once so the session is live, then do this step at your PC.

Select the kneeboard mask, open the [T] Tracking section in the right-hand panel and set Tracking Target to the hand you'll actually hold it in:

Real Time Tracking Left Controller  or  Real Time Tracking Right Controller

The mask does not jump - it stays exactly where it sits and starts tracking that controller from there. (PassthroughForge auto-ticks the two mode boxes for the rig-mounted workflow; in the next step we deliberately switch them back off, because we want a live kneeboard, not a world-locked one.)

The [T] Tracking section with the Tracking Target dropdown open on Real Time Tracking Right Controller.
The [T] Tracking section: pick the controller you'll hold under Tracking Target.
3

Switch off auto-freeze & release-to-world

🖥️ At your PC

This is the one step that makes it a live kneeboard. Two checkboxes in the [T] section decide whether the mask stays glued to the controller or parks itself to the world - and for a hand-held kneeboard both must be OFF (they are on by default when you pick a controller, so you have to un-tick them):

CheckboxSet it toWhy
Auto-freeze when idle☐ OFF On, the mask freezes to a world anchor the moment the controller holds still. Off, it keeps following - so the kneeboard never "sticks" in mid-air when your hand pauses.
Release to world after placing☐ OFF On, the mask detaches and world-locks for good. Off, it never releases and tracks the controller for the whole session - exactly what a hand-held kneeboard needs.

With both off, the Mode: line at the top of the [T] section reads Tracked - following (live) - the mask is now glued to the controller in real time.

[T] Tracking panel with both Auto-freeze when idle and Release to world after placing un-ticked; the Mode line reads Tracked - following (live).
Both boxes un-ticked, Mode shows Tracked - following (live).
💤 Put it down whenever you like. When you set the controller down it simply sleeps and the kneeboard rests with it — the moment you pick it up again it wakes and the kneeboard is right back in your hand. No need to keep it in view between uses. (If you'd rather the mask stay world-locked and set-and-forget, that's the rig-mounted workflow instead.)
4

Align it in your hand: Reset offset + Face me

🥽 In VR

Do this with the headset on so you can watch the kneeboard land in your hand. Hold the controller in a comfortable reading position, then align it with the two buttons in the [T] Tracking menu — that's the only place the alignment lives:

  1. Press Reset offset - this snaps the kneeboard onto the controller and clears any stored offset, so the surface sits right at your hand instead of floating off somewhere.
  2. Press Face me - this turns the kneeboard to face you, so you're looking straight at the pages rather than at an edge.

Watch it as you press each one: the kneeboard snaps onto the controller and turns to face you, right there in your hand. Fine-tune the exact spot with the nudge shortcuts if you like, then press Reset offset once more to lock that feel in.

[T] Tracking section highlighting the Reset offset and Face me buttons.
Reset offset puts the kneeboard on the controller; Face me turns it toward you.
💾 Save it. When it sits right, press Save Profile - the kneeboard, its controller binding and the live-tracking settings all come back exactly like this next session.
5

Use it: grab, read, set down

🥽 In VR

That's it - in the headset the kneeboard now lives on the controller. Pick the controller up when you need a chart, angle it to your eyeline, read it, and lower your hand to stow it out of the way. It tracks your hand the whole time. Press Play below and drag to rotate the 3D view:

Where to next