Commit Graph
154 Commits
Author SHA1 Message Date
ykeara a97a04efbc 5.5.0 Pairing, Universe Restriction Removal, space drag multiplier (#595)
* add Select Dongle Pairing, fix clipping on long SN names (quest)

* remove test log, add ws log, add pair protection non steamvr

* add missing install commands for new qt modules

* remove bad package

* add auto apply chaperone option, remove old seated/uncal/openxr fixes in favor of always on

* adjust battery overlay for tundras

* fix tundra tracker bat indicator positioning, remove offset page restrictions from non-standing universe, make pairing more responsive and display brief instructions

* add Drag Multiplier

* update documentation

* change version to release

* update readme

* fix format issues readme

* update readme with setting description

* change uid to prevent collision

* changed rounding for grav fling to 2 decimals to be consistand with other values on drag page
2022-04-12 18:07:25 -05:00
ykearaandTheMrGong eea713429d 5.4.0 Raw Restriction Setting, Apply Offsets (#577)
* Crash Recovery Defaults to Off, add option to use space drag w/ uncalibrated playspace

* increment version 5.3.3

* Feat/apply offsets binding (#576)

* add apply offsets steamvr input

* add new binding to Readme

Co-authored-by: TheMrGong <gongora656@gmail.com>

* increment version 5.4.0

* added LH Console Interface class, WIP TX/RX list via lh console

* switch over to property based dongle information

* add ovr system wrapper

* add use of parameter to avoid warning as error

* openXR fix, and Change Display State of Chaperone Disabled

* update text

* format files

* clang 9.0.0 format

* add documentation update

* remove windows header include

* remove filesystem header

* fix uncal motion switching issue

Co-authored-by: TheMrGong <gongora656@gmail.com>
2022-02-23 16:06:03 -06:00
ykeara 7d0823f83c Exclusive Input + Documentation Changes (#514)
* added input block code

* added exclusive Input action

* test ready exclusive

* working test state

* clean-up and add setting

* removed auto saved file

* added code to set required key

* fixed qml connection issues

* updated readme

* updated documentation

* updated version string

* updated for better directory navigation

* removed un-used code
2020-09-01 10:30:33 -05:00
ykeara eb8140a7f7 Fixed Synchro Bug 5.2.0 release (#470)
* fixed synch bug

* refactored chaperone tab controller for better ui synching/updated

* refactored steamvr tab controller

* refactored video tab controller

* cleanup

* update version strings fix implicit conversions
2020-06-07 12:06:25 -05:00
ykeara 88a1c002c4 Keyboard And Documentation update (#469)
* changed action names

* updated settings for new action key

* updated keyboard input guide

* updated readme top

* updated appveyor link

* fixed qml issue and some formatting

* updated screenshots

* updated documentation portion of readme

* fix qml issues
2020-06-06 14:18:21 -05:00
Vasily 3857c2ac2f Refactor update rates of tab controllers
Previous way of controlling when controllers were run was split among
the different controllers, meaning that third parties would require
knowledge of internal state of controllers in order to be on the same
update schedule as them.

This refactor moves the logic into a seperate class.

Additionally, it also stops the use of the `adjustUpdateRate` function
on all tab controllers, since it broke the prime-number-ability of
less collisions.
2020-06-06 20:53:34 +02:00
Vasily 4757756d32 Refactor alarm system and replace notification method
The old OpenVR overlays did not function for unknown reasons, and it was
not possible to get them to work.

With this a white overlay with ALARM ACTIVATED will be shown for 3 seconds.
It's not pretty, but it effectively communicates that an alarm has been
activated.

This fixes
https://github.com/OpenVR-Advanced-Settings/OpenVR-AdvancedSettings/issues/417
2020-06-05 20:52:13 +02:00
ykeara 8c2af7477c Keyboard Press Feature and Version String Updated (#464)
* added two new keyboard press actions

* added todos to overlay controller for new actions

* added settings for keyboard press and default to f10

* added logic, fixed default value

* added action alias

* fixed center marker rotation count

* updated version strings

* fixed Trigger Condition

* removed literal limitation (character input)

* updated version string

* fixed white space issues
2020-06-04 11:17:58 -05:00
ykearaandVasily a803ffaeac Center Marker/ Chaperone Refactor/ IVROverlay/IVRSettings wrappers PT 1/? (#438)
* changed click noises to internal sounds

* udpated to ovr 1.11.11

* in prog added prototypes

* began wrapper for IVRSettings

* added getters for chaperone colors

* added setters for chaperone color

* fixed type conversion issue

* fixed linking issue, added additional settings chaperone page

* adjusted chaperone page qml

* added color chaperone UI

* refactor in prog

* updated ivrsettings wrapper, refactor in prog

* refactor in prog

* collision bound style add

* refactor

* cleaned up error logging

* fixed fade distance remember bug

* fixed sounds

* fixed brightness opacity bug setting to 0 when 0

* fixed sounds

* added wrapper for removing keys

* refactored reset

* added chaperone Styles to UI

* added chaperone floor always on

* fixed copy/paste error

* adjsuted ui chaperone color slider

* started adding chaperone floor marker

* fixeed naming error overlay

* finalized chaperone Ideas, added chaperone markers

* began ivroverlay wrapper

* center marker fully implemented

* added function prototypes for new settings

* added setting, and updated ui for New Center Marker Overlay

* adjsuted sound effect volume and formatting for chaperonecolorbox

* adjusted volume back

* fixed various issues aroudn new overlay

* removed artifact comment

* cleaned up settings wrapper

* cleaned up chaperone tab controller for namespace changes

* removed ide comment issue

* cleanup overlay wrapper

* cleaned up tab/space changed file name

* renamed files

* fixed include statements

* updated namespace in chaperonetabcontroller

* fixed tab/space issues

* re-activated boundbasisheight

* fixed bulgarian case

* changed chaperone warnings to only work in roomscale

* fix capitilization

* fixed tracking universe update

* direct text input change for brightness

* qml fixes

* fixed qml format issues

* fixed sound issue w/ sliders

* fixed super truely

* Add SDL libraries to CircleCI

* Remove -tidy from circleCI config

* flushed out error messages in overlaywrapper

* removed hungarian notation

* added get/set string to ovrsettings wrapper

* misc cleanup

* add reset orientation btn and new center marker to chaperone

* ui adjustments

* changed alarm audio

* adjusted sound effect volume slightly lower

* updated for 5.1.0 release

Co-authored-by: Vasily <vautkin@teknik.io>
2020-05-13 15:11:20 -05:00
ykeara deb0d4a324 Fixes Startup Error, and ghost profiles 5.0.2 (#422)
* fixed unsafe chaperone issue

* fixed phantom names on offset/video profiles

* version strings
2020-04-20 12:44:29 -05:00
ykeara b3e9e63cba Fix default Brightness value/behavior adds shutdown button (#412)
* added exit button

* fixed visible state

* added shutdown button fixed default brightness issues

* fixed compiler warning
2020-04-16 21:53:15 -05:00
1ae740463c Implement Auto-turn and Redirected Walking
Initial implementation of Auto-Turn

Auto-turn leverages Space Turn automatically whenever you reach a configured distance from your chaperone boundary. Turn direction is in order of precedence:

1. Away from a corner where you're already touching one wall. This is to avoid being turned to face a wall, which we pretty much never want. If 'use corner angle' is enabled, it'll turn the angle of the corner, otherwise it'll turn the angle of your headset to the wall you encountered.
2. In whichever direction will start you unwinding your cord. If your rotations is greater than 'cord detangling rotations' and your angle to the wall is less than 'min detangling angle' it'll turn you such that the thing you're walking towards is directly along a wall, in the direction which will begin unwinding your cord.
3. In the closest angle to the wall. This too will put whatever you're walking towards directly along a wall, so you can walk the maximum distance to it. 
- If Smooth turn is checked, it'll turn at a constant (configurable) rate until the world is aligned with the new angle, otherwise it'll snap to the new direction instantly. 
- Activation distance is the distance from your chaperone at which auto-turn starts, and deactivation distance is the minimum distance (+ the activation distance) at which it'll be able to be activated again, to avoid turning twice at once.


Redirected walking tries to gently guide you away from your playspace boundaries by tweaking the world's angle at smaller increments than your brain is capable of noticing. While most playspaces won't be big enough to allow this to give you a true 'infinite walk' experience, it can give the perception of your playspace being ever so slightly bigger by making you walk in a slight arc in real life while walking forward in VR.
- Redirected walking is independent from Auto-turn and can be activated on its own. At both the 'slight' and 'imperceptable' radii, the turning speed is incredibly minimal. When walking along one wall of your chaperone to another, you should notice the far corner of your playspace (relative to the world) drifting ever so slightly away from you. In normal circumstances at the lowest settings this shouldn't be noticable. 


Co-authored-by: feilen <feilen1000@gmail.com>

* Initial implementation of Infinite Walk

* Code cleanup and abstraction, use nearest corner instead of nearest wall to determine turn direction

* Run clang-format

* Turn relative to the last wall if we run into adjacent walls, otherwise turn at easiest angle

* Limit maximum turns (just refuse to turn for now), only turn on shared corners if going the same direction

* Improve same-corner

* get rid of LastDirectionLeft

* WIP: cord untangling hint

* Try to automatically untangle cord, don't rotate if we encounter a wall behind us

* Incorrect offset for walls

* optimize if hmd inactive

* Cleanup/clarify angles

* (probably?) solve rare segfault

* Adjust the defaults and fix a bug with blocking reverse turns

* Implement smooth turn, fix a bug with shared-corners that would cause it to turn the wrong way

* actually really fix shared corner bug

vect[i + 1 % vect.size()] was somehow evaluating to vect[i + (1 %
vect.size())]

* Move configurables for autoturn to .h to make clearer what's configurable

* WIP: true redirected walking

* First pass optimization/cleanup

* Second pass cleanup/optimize

* Missing clang-format

* Somewhat ugly: Optionally turn the exact angle of the corner when using shared corner turns

* added rotation tab controller in progress

* cleaned up chaperone controller/ finished settings/rotationtab

* did first 4 settings qml, and main qml setup

* initial working build, not all settings UI done

* merging master into redirected walking. (#387)

* Update OVR to 1.10.30 (#379)

* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* Updated Manifest (#380)

* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* removed un-necessary matrix, updated app key and manifest

* fixed formatting

* Fix push to mute icon not being used when PTM enabled

* added touch default bindings (#385)

travis CI down/broken?

Co-authored-by: Vasily <vautkin@teknik.io>

* added action, and additional settings

* fixed various bugs added turn speed and mode

* fixed conversion error for turn speed

* added redirected walking options

* formatting

* formatting fixing

* removed old comments

* changed logs to debug and some wording changes

* changed UI layout

* added space turn to rotation page

* added icon, fixed autoturn to autoTurn, fixed conversion to be in qml vs set

* Update src/res/qml/RootPage.qml

yep XD

Co-Authored-By: Kung-vr <38249782+Kung-vr@users.noreply.github.com>

* reverted build changes

* removed un-needed app image build commands

* Cleanup some functions, avoid an extra chaperone check.

* Make redirected walking and autoturn independently enable-able

Co-authored-by: Feilen <feilen1000@gmail.com>
Co-authored-by: Vasily <vautkin@teknik.io>
Co-authored-by: Kung-vr <38249782+Kung-vr@users.noreply.github.com>
2020-04-08 18:57:53 -07:00
ykeara c0d44812d6 fixes keyboard positioning (#394) 2020-04-08 16:29:59 -05:00
ykeara a9d3b9f873 Updated Manifest (#380)
* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location

* removed un-necessary matrix, updated app key and manifest

* fixed formatting
2020-03-22 11:58:58 -05:00
ykeara 25f3a1040d Update OVR to 1.10.30 (#379)
* updated to ovr 1.10.30

* fixed updated showoverlaykeyboard call

* fixed keyboard location
2020-03-20 02:59:08 -05:00
Vasily eed01ed5a8 Remove unneeded QSettings functions and imports 2020-01-30 10:36:21 +01:00
Vasily 0bc77b2fd0 Completely remove features related to Desktop Overlay
As of SteamVR 1.10.1 the overlay width feature has been implemented by
Valve in the standard settings.
OpenVR features related to overlay translation have been removed and the
main reason for including them (multi monitor setups) have been solved
by Valve giving each screen an individual overlay.
2020-01-16 00:09:09 +01:00
Vasily ebc2d92333 Fix SEGFAULT when compiling with Qt 5.14.0
For unknown reasons this did not SEGFAULT with Qt<5.14.0.

Official Qt docs says that deleteLater is the preferred method
https://doc.qt.io/qt-5/qobject.html#deleteLater
2020-01-15 14:01:47 +01:00
Vasily 2f612f52ae Cache verified customMsTickRate
The `customTickRateMs()` function is being called every millisecond,
adding the verification to every call leads to unnecessary overhead.

The tick rate is verified when loading and when saving.
2019-12-10 08:28:41 +01:00
Vasily 2ab77e6584 Convert keyboardShortcut bindings to new settings API 2019-12-10 08:28:41 +01:00
Vasily 31982c54bf Add m_customTickRateMs to new settings API
The value is verified before saving and loading. It is the
responsibility of the function calling the settings API to verify data.
2019-12-10 08:28:41 +01:00
Vasily 87bf59fd31 Add m_debugState to new settings API 2019-12-10 08:28:41 +01:00
Vasily 598d77a0e7 Convert m_disableVersionCheck to new settings API 2019-12-10 08:28:41 +01:00
Vasily c8b271ad3e Add m_enableDebug to new settings API 2019-12-10 08:28:41 +01:00
Vasily bed0939ddf Add m_crashRecoveryDisabled to new settings API 2019-12-10 08:28:41 +01:00
Vasily adc3a1e7b2 Convert m_previousShutdownSafe to new settings API 2019-12-10 08:28:41 +01:00
Vasily 4ae8bd8fb5 Add m_vsyncDisabled to new settings API 2019-12-10 08:28:41 +01:00
Vasily f945bd06bd Remove unnecessary code forcing keyboardShortcuts to appear in config
The settings API automatically makes settings appear on startup.
2019-12-10 08:28:41 +01:00
Vasily c1690056cc Add settings API and specification
The details of the API are in the `/docs/specsSettings-API.md` file.

The enums do not list all available settings, more are to be added as
the settings API replaces inline QSettings calls.
2019-12-03 08:26:10 +01:00
Vasily 61fd3dde79 Change m_window function call from -> to . 2019-11-30 18:14:49 +01:00
Vasily 6e04c77be2 Change name of m_pWindow in Linux only section
Name was not changed by tooling due to being in a Linux ifdef.
2019-11-30 18:14:49 +01:00
Vasily 8300f5395e Convert m_pPumpEventsTimer into object
Having an extra layer of indirection was unnecessary.

The if statement guard to check if the pointer is null is now
unnecessary.
2019-11-30 18:14:49 +01:00
Vasily 96e80ec3ce Convert m_pOffscreenSurface from pointer to object 2019-11-30 18:14:49 +01:00
Vasily 8136569455 Convert m_pOpenGLContext from pointer to object 2019-11-30 18:14:49 +01:00
Vasily 6c04dd25b1 Convert m_pWindow from pointer to object
The extra layer of indirection was unnecessary and had no benefit.
2019-11-30 18:14:49 +01:00
Vasily 2b9b3d653a Convert m_pRenderControl from smart pointer to object
Having it be a pointer was an unnecessary complication with no gain.
2019-11-30 18:14:49 +01:00
Kung-vr d48648f17c Add binaries for openssl to windows distribution
Binaries are both v 1.1.1c from what's optionally included with Qt
2019-11-11 01:40:23 +09:00
Kung-vr dca2557373 Update overlaycontroller.cpp 2019-11-07 05:50:28 +09:00
Kung-vr f964241656 Add version checking feature
Addresses #305
2019-11-07 05:18:04 +09:00
Kung-vr f05f6f7deb Swap default to unchecked enable seated motion and add debug states 2019-10-13 17:02:15 +09:00
Kung-vr 2e6dd3b8fe Add chaperone autoprofiles, crash recovery, and space fix revert 2019-10-13 03:56:57 +09:00
Kung-vr 036e5cb452 Add logging for changes to universe ID 2019-10-03 14:08:55 +09:00
ykeara 4b0be27ff6 Video and Steam VR Tab Re-work + keyboard binds (#289)
* changed color overlay to use gain values instead of overlay

* moved SS/Motion smoothing, and filter to video tab

* began refactor of steamVR qml page

* added misc toggles to steamvr tab

* added imu fallback and DND, and some qml formatting

* added Camera Settings to SteamVR page

* changed formatting to minimize height

* added video profiles cleaned up steamvr controller

* delta comparison change

* added profiles for video

* fixed display bug in colorgroupbox and removed frivoulous saves

* removed commented code

* added custom keybind buttons
2019-09-01 02:35:00 -05:00
ykeara 5452144157 Velocity fade dependent setting removal (#282)
* removed velocity fade dependent fade.

* changed floating point comparisons

* explicit conversion changes

* removed head speed calculation from overlaycontroller as no longer used
2019-09-01 02:13:38 -05:00
ykeara 746aa23207 Ssbugs, removal of re-vive, and dashboard loop tick (#277)
* minor changes

* debugging testing

* removed un-needed log calls

* moved some logic to run only when dashboard is active

* fixed linker error

* added casting

* removed revive tab

* removed stray revive reference

* removed revive from sources

* fixed misc formatting issues

* added newline
2019-08-22 13:40:48 -05:00
Vasily ecfbb6f0ff Remove StatisticsTabController initStage1 function
Function was a noop.
2019-07-20 21:24:03 +02:00
Vasily b6001235f0 Remove FixFloorTabController initStage1 function
The function was a noop.
2019-07-20 21:24:03 +02:00
Vasily 1975192bb1 Remove widget pointer from MoveCenterTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 0c6ed9a68d Remove widget and parent pointers from UtilitiesTabController
The pointers are not needed and are an anti pattern.
2019-07-20 21:24:03 +02:00
Vasily 27b148ae12 Remove widget pointer from ReviveTabController
The pointer is not needed and is an anti pattern.
2019-07-20 21:24:03 +02:00