mirror of
https://github.com/Pixelplanet/Pixel-VR-Player.git
synced 2026-10-28 05:01:39 +01:00
feat(input): trigger selects in the browser, grip toggles the laser, downloads window replaces the browser
- Restore trigger-to-select in the file browser (it is the intuitive gesture); A remains an alternative for thumbstick/d-pad navigation. Both skip when the laser is resting on a control-bar button, which owns that click. - Grip now toggles that hand's laser pointer, SteamVR-style: turn one off to drive a panel with the stick without the beam fighting it, and to pick the pointing hand. The raycast and the beam both honour it per hand. - Recenter moves from Grip to Bumper (saved grip bindings migrate), since Grip is now the laser toggle. - The downloads window replaces the browser panel instead of stacking over it, and browser input is suspended while it (or the confirm dialog) is open.
This commit is contained in:
1 parent
e39fd5e77c
commit
ee95d79efe
8 files changed
+84
-28
No files matched your search
@@ -1015,9 +1015,10 @@ void VulkanRenderer::updatePointer() {
|
||||
}
|
||||
const Mat4 inv = rigidInverse(panelBase);
|
||||
|
||||
// Prefer the right hand; fall back to the left.
|
||||
// Prefer the right hand; fall back to the left. A hand whose laser is off
|
||||
// takes no part in the raycast.
|
||||
for (int h : {1, 0}) {
|
||||
if (!controllers_[h].active) {
|
||||
if (!controllers_[h].active || !laserOn_[h]) {
|
||||
continue;
|
||||
}
|
||||
const Quat q{controllers_[h].orientation[0], controllers_[h].orientation[1],
|
||||
@@ -2151,7 +2152,7 @@ void VulkanRenderer::renderView(uint32_t viewIndex, uint32_t imageIndex,
|
||||
const float rayCol[4] = {0.25f, 0.60f, 1.0f, 0.85f};
|
||||
const float cursorCol[4] = {1.0f, 1.0f, 1.0f, 0.95f};
|
||||
for (int h = 0; h < 2; ++h) {
|
||||
if (!controllers_[h].active) {
|
||||
if (!controllers_[h].active || !laserOn_[h]) {
|
||||
continue;
|
||||
}
|
||||
const Quat q{controllers_[h].orientation[0],
|
||||
|
||||
Reference in new issue
Block a user