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".
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.
📷
Drop screenshot here:
screenshots/kb-add-kneeboard.png
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.)
📷
Drop screenshot here:
screenshots/kb-tracking-target.png
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):
Checkbox
Set it to
Why
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.
📷
Drop screenshot here:
screenshots/kb-live-unticked.png
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:
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.
Press Face me - this turns the kneeboard to face you,
so you're looking straight at the pages rather than at an edge.
3D - drag to rotate · Ctrl+scroll to zoom
① Reset offsetsnaps onto the controller
② Face meturns it toward you
Hold the controller, then Reset offset → the kneeboard snaps onto it, and Face me → it turns to face you. Drag to rotate the 3D view.
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.
📷
Drop screenshot here:
screenshots/kb-reset-faceme.png
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:
3D - drag to rotate · Ctrl+scroll to zoom
① hold the controllertracked - following (live)
② move & tilt it6DoF, real time
③ kneeboard followsglued to your hand
Play
Live tracking: the kneeboard is glued to the controller you hold and
follows it in full 6DoF - raise it, tilt it, put it down. Press Play - drag to
rotate the 3D view.