|
1 | 1 | --- |
2 | 2 | title: Settings and Controls |
| 3 | +description: Default keyboard, mouse and VR controller bindings for the Basis client, where to rebind them, and where to find logs and library data. |
3 | 4 | --- |
4 | 5 |
|
| 6 | +import { Callout } from 'fumadocs-ui/components/callout'; |
| 7 | +import { Tab, Tabs } from 'fumadocs-ui/components/tabs'; |
| 8 | + |
5 | 9 | ## Controls |
6 | 10 |
|
7 | | -Let's create a page to cover the available controls in BasisVR |
| 11 | +Basis has a fuller set of controls than most people realise on first launch. This page is a quick reference for the defaults across desktop and VR, and where to change them. |
| 12 | + |
| 13 | +<Callout type="info"> |
| 14 | +Every keyboard binding below is **rebindable** in-client under **Settings → Keyboard Bindings**. The button for each control shows its current key, and the default in brackets if you've changed it. **Escape** cancels a rebind in progress, and you can reset everything back to defaults from the same panel. |
| 15 | +</Callout> |
| 16 | + |
| 17 | +{/* IMAGE PLACEHOLDER |
| 18 | + File: public/img/controls/keyboard-bindings.png |
| 19 | + Show: the in-client Settings → Keyboard Bindings panel with the grouped, rebindable controls visible. |
| 20 | + When ready, replace this comment with: |
| 21 | +  |
| 22 | +*/} |
| 23 | + |
| 24 | +### Movement |
| 25 | + |
| 26 | +| Action | Default key | |
| 27 | +| --- | --- | |
| 28 | +| Forward / Back / Left / Right | `W` `S` `A` `D` | |
| 29 | +| Movement (alternative) | Arrow keys | |
| 30 | +| Jump | `Space` | |
| 31 | +| Sprint | `Left Shift` | |
| 32 | +| Crouch | `C` | |
| 33 | +| Fly up / down | `R` / `F` | |
| 34 | + |
| 35 | +### Camera (desktop) |
| 36 | + |
| 37 | +| Action | Default | |
| 38 | +| --- | --- | |
| 39 | +| Look | Move the mouse | |
| 40 | +| Look (keyboard alternative) | `I` `K` `J` `L` (and `,` `.`) | |
| 41 | +| Toggle third-person view | `F` | |
| 42 | +| Zoom (in third-person) | Mouse scroll wheel | |
| 43 | +| Interact / select | Left mouse button | |
| 44 | + |
| 45 | +### Communication and menus |
| 46 | + |
| 47 | +| Action | Default key | |
| 48 | +| --- | --- | |
| 49 | +| Toggle microphone | `V` | |
| 50 | +| Open chat | `Y` | |
| 51 | +| Free cursor (unlock mouse for UI) | `Tab` | |
| 52 | +| Open / close menu | `Escape` | |
| 53 | + |
| 54 | +<Callout type="info"> |
| 55 | +**Toggle microphone** depends on your microphone mode. With push-to-talk, `V` transmits while held; in toggle mode it switches the mic on and off. Set the mode in the audio settings. |
| 56 | +</Callout> |
| 57 | + |
| 58 | +### Switching input mode |
| 59 | + |
| 60 | +You can move between desktop and the two XR runtimes at runtime: |
8 | 61 |
|
| 62 | +| Key | Mode | |
| 63 | +| --- | --- | |
| 64 | +| `F9` | Desktop | |
| 65 | +| `F10` | OpenXR | |
| 66 | +| `F11` | OpenVR | |
9 | 67 |
|
10 | | -## Keyboard Shortcuts |
| 68 | +### VR controllers |
11 | 69 |
|
12 | | -- F9: switch to Desktop |
| 70 | +In VR the same actions map to the controllers rather than the keyboard: |
13 | 71 |
|
14 | | -- F10: switch to OpenXR |
| 72 | +- **Thumbstick** — movement (one controller) and turning (the other). |
| 73 | +- **Trigger** — interact / select, the controller equivalent of left mouse button. |
| 74 | +- **Grip** — used for descending in fly mode and for grabbing. |
| 75 | +- **Primary face button** — jump. |
| 76 | +- **Menu / system button** — opens the menu. |
15 | 77 |
|
16 | | -- F11: Switch to OpenVR |
| 78 | +<Callout type="info"> |
| 79 | +VR controller bindings aren't part of the keyboard rebinding panel — they're driven by the active OpenXR / OpenVR interaction profile for your headset. |
| 80 | +</Callout> |
17 | 81 |
|
18 | 82 | ## Help with Debugging |
19 | 83 |
|
@@ -42,5 +106,5 @@ Let's create a page to cover the available controls in BasisVR |
42 | 106 | It stores a mapping of the avatars, worlds, and props currently contained in your library. |
43 | 107 |
|
44 | 108 | <Callout> |
45 | | -Within the codebase, you can also find there is an `EmbeddedItems` class containing library items that are embedded into the application. |
46 | | -</Callout> |
| 109 | +Within the codebase, you can also find there is an `EmbeddedItems` class containing library items that are embedded into the application. |
| 110 | +</Callout> |
0 commit comments