If you would like to support the continual development of Virtual Handheld, please donate or become a member at https://www.buymeacoffee.com/ZanyCatXR
v0.6.3 One-Hand Accessibility Update (11/26/2024)
NOTE: SteamVR Bindings have been updated! If you are using a custom SteamVR Binding for whatever reason, you may need to update it to use the new features!
SteamVR Bindings:
-Added the "actions" page to the SteamVR Bindings. This page is for actions that can be performed even when the handheld is disabled.
-Added "toggle_handheld" input to the "actions" page. This action allows you to toggle the handheld without needing to tap both controllers together, allowing for one-hand accessibility! This action is bound by default as Joystick Button Double Click on Oculus, Index, and WinMR(G2) layouts, and is bound by default as Menu Button Double Click on Vive and WinMR(G1) layouts.
-Added "handheld_settings" input to the "actions" page. This action allows you to open the handheld settings menu without needing to first open the dashboard and navigate to the "Virtual Handheld Settings". This may enhance accessibility, as the right Oculus controller system button is not accessible to SteamVR. This action is bound by default as Joystick Button Long Click on Oculus, Index, and WinMR(G2) layouts, and is bound by default as Menu Button Long Click on Vive and WinMR(G1) layouts. (To close the dashboard settings, simply press the trigger while the controller is pointed away from the dashboard!)
Welcome Screen:
-The intro text now updates with the "Number of Taps" you have selected! (Single, Double, Tripple)
-Intro text will prompt the user to use the handheld toggle input action if only one controller is connected, or if the controller tap toggle is turned off
-If both the controller tap toggle and the input actions are disabled, then the intro text will prompt the user to re-enable handheld toggling
General Settings:
-Added input actions toggle, which can be used to enable or disable the "handheld_toggle" binding and the "handheld_settings" binding
-Added a "Configure..." button to direct the user the the "actions" page of the SteamVR bindings
-Renamed "Display top window title" toggle to "Display in-focus (on top) window title" for better clarity
Input Simulator:
-Added AltSet "Swap" Mode, which allows you to switch between Main and Alt binding sets without having to hold the input. This should hopefully make alternate bindings more accessible, by not having to hold down multiple buttons to access alternate inputs!
Controller Bindings:
-Controller layout text now shows both controller types for mismatched controller layouts. For example, if you have an Index controller in the left hand, and a Vive controller in the right hand, it should say "Index+Vive Layout".
-Removed the word "Controller" from VR controller layout text for simplicity
-Controller layout text now says the controller's handedness when only a single VR controller is connected. For example, if only the left Oculus controller is connected, it should say "Oculus Left Layout".
-Fixed controller auto-detect when a single or mismatched controller is connected
-"AltSet (Hold)" now appears simply as "AltSet" on the inputs list for better readability
-On the inputs list, "LShoulder" and "RShoulder" now render as "LB" and "RB" for the Xbox 360 controller layout
-On the inputs list, "LTAxis" and "RTAxis" now render as "LT" and "RT" for the Xbox 360 Controller layout and as "L2" and "R2" for the DualShock 4 Controller layout
-On the inputs list, analog inputs with a modifier of (1.00) will no longer show their modifier
-Shortened the names of analog inputs so that they can be more easily read in the UI
-Added asterisks after the names of analog inputs in the inputs list
-Added "*Indicates analog input" text below the VR controller inputs box
-Added a line break between "Touch" and "pad" in the inputs list for the DS4 touchpad input
-DS4 touchpad will now show as "Unused (Tpad)" on the inputs list for the Xbox 360 controller layout
-Adjusted line spacing to make input names with multiple lines easier to read
-Fixed "Pad Touch Mode" not initiating Auto-Save when toggled
-Updated "Button Rebinded!" text to "Input Rebound!" to be inclusive of non-button inputs and also because "rebinded" is not a word!
-Added unbind input confirmation text
-Now if the user tries to bind a non-VR input before selecting a VR controller input, the user will be prompted to "Please Select VR Input First!"
-Fixed bug where rebind confirmation text would show after auto-load before the user changed anything
-Added confirmation when loading presets
-Fixed confirmation when a new "Bindings" folder is created
-Added button to open Bindings save directory (the folder icon next to "Save" and "Load")
Tracking:
-Upgraded "Both Hands" tracker mode to be "Auto-Detected", which will automagically track the handheld to both hands if both controllers are connected, or to only one hand if only one controller is connected, or to the HMD if no controllers are connected (although there is currently no way to toggle the handheld without controllers)
-"Left Hand Only"/"Right Hand Only" tracker modes have been upgraded to look more like you're holding the handheld rather than having the handheld appear at the controller's point of origin, and so that the handheld doesn't clip as much into the controller model in the SteamVR dashboard/grid. The tracking position will also be automatically updated according to the handheld's scale and aspect ratio.
-Stabilization is now applied to the tracker offset rather than the base position/rotation
-Updated applicable UI toggles to appear as radio buttons
Save Files and Presets:
-Added presets for one-hand controller layouts
-(Hopefully) fixed a bug where saving was impossible until a persistent "loading" flag was cleared
-Updated bindings preset file extensions from ".json" to ".uwu"
Devices:
-Added a new device manager script that can more reliably detect the controller's index, type, handedness and enabled status
v0.6.2 Advanced Capture Settings (10/03/2024)
Screens Settings:
-Added refresh button to sources list
-Add advanced capture settings, which can be found at the top-right corner of the Screens settings
-You can now filter windows by whether the window appears on the "Alt-Tab" list, if the window has a title, or if the window is a background process
-Added auto-recapture feature that, when the captured window is closed, it searches for another window with the same name. This can be disabled in the advanced settings.
-If the saved capture source is not found when auto-loading, it will now continue searching until a source with the same name is found or the search is canceled by selecting a different capture source
Input Visualizer Settings:
-The title of the window that is "on top" is now displayed on the handheld overlay. This was added as a common user error was switching to a different program and not switching back to the game so inputs wouldn't be sent to the right program. This can be disabled via the "Display top window title" toggle in the General settings.
-Added "Input Visualizer Settings" section to General settings, and moved Input Visualizer toggle to that section
Fixes:
-Fixed settings not auto-saving after deselecting a capture source
-Removed unused variables in SettingsData file
v0.6.1c patch (09/19/2024)
Changes:
-Added error message to welcome screen that displays if handheld settings failed to load correctly
-Removed Auto capture mode as it used Windows Graphics Capture if available, which has been found to be unstable and cause freezing/crashes
-Made Print Window the default window capture mode as it seems to be the most stable and compatible capture method
-Fixed desktop capture showing a semi-transparent white screen if monitor resolution changed while desktop capture was disabled
-Slight optimization where desktop duplication no longer runs in the background when alt capture mode is enabled
Known Issues:
-Desktop capture on the top screen sometimes becomes completely transparent for a bit until it gets updated
v0.6.1b patch (09/5/2024)
Bug Fixes:
-Fixed error where Handheld Settings would fail to load before reaching the tracking settings. This would cause the handheld to still track to the hands even if a different tracking option was selected the previous session, creating an absurdly large handheld if a "'TV' Mode" or "Big Screen" preset was selected.
-Fixed "Alt Desktop Capture" toggle not appearing checked due to error in loading settings
-Fixed bug where the top screen is set to enabled by default on a new settings file
-Fixed bug where the cursor would show when "Screen Enabled" is toggled on even when "Show Cursor" is disabled due to a bug with uWindowCapture. This was fixed by showing the cursor for a second before disabling it. It's not a perfect solution, but it works.
Other Changes:
-Added "Made with Unity" and "Powered by OpenVR" to the About page
-Removed VH logo from splash screen that replaced Unity logo, as I am not entirely sure if this is allowed according to Unity's terms of use
v0.6.1a patch (9/1/2024)
-Fixed bug where everything breaks if save directory doesn't exist at startup, i.e. a new install
v0.6.1 Window Capture Update (8/31/2024)
This update adds the much-requested window capture feature, which can be found in the "Screens" settings. This allows you to play games without filling up your whole desktop. It also lets you take advantage of the handheld's dual-screen feature without needing a second monitor.
Note: Due to a restructuring of save data, screen settings may be reset when updating from older versions. Sorry for any inconvenience this may cause!
Bindings:
-Fixed bug where bindings wouldn't save if the autosave file was not found when the program starts
-Fixed the "Are you sure?" dialog appearing instead of Quick Presets when the autosave file is not found or fails to load when the program starts
Screens Settings:
-The top and main screen settings have been consolidated! This means instead of having both of the screen's settings visible at the same time, you can now choose which screen you want to edit by selecting it at the top left of the settings.
-Individual window capture added! You can now select a specific window to capture from the window list. Now setups that only have one monitor can take advantage of the handheld's dual-screen functionality!
-You can check the "Show More" checkbox to show additional hidden windows
-You can change the window capture API by pressing the "Change..." button next to "Capture Mode"
-You can change the capture framerate to one of four presets: 30, 60, 90, and 120. You can also set the framerate using the slider. which has a range of 1-144.
-You can toggle whether you want to show the cursor in the window capture
-"Alt Desktop Capture" gives you the option to use the window capture APIs for desktop capture as well as their settings.
-Desktop displays now appear in the sources list instead of being ID-based, allowing for (theoretically) more than 4 monitors and better parity between capture modes
-Added "Fill" Display Mode, which crops out content based on the selected aspect ratio
-Reworked 3D mode settings; Added "Swap Eyes" toggle to replace "Side-by-side 3D Flipped" toggle
-Screens settings are now saved in "\Documents\My Games\Virtual Handheld\ScreensData\" instead of with the main handheld settings
Handheld Overlay:
-Added "No source selected!" text that shows when the screen is enabled but no source is displayed on the handheld screen
-Added border and black backdrop to top screen overlay
Tracking Settings:
-Fixed handheld appearing on the floor at the center of the playspace when the "Big Screen (Stay)" preset is selected by changing the update mode to "On Handheld Enabled" instead of "Never"
v0.6 Custom Aspect Ratios Update (6/29/2024)
Aspect Ratios:
-You can now set a custom aspect ratio! You're no longer limited to preset aspect ratios like 4:3 or 16:9. You can set the width or height to anywhere from 1-99.
-The input visualizer now scales with the screen's aspect ratio, eliminating the need for letterboxing or pillarboxing on ratios other than 16:9
-Your screen's aspect ratio can now be auto-detected! If "Auto-Detect Ratio" is enabled, changes in your screen's aspect ratio will now be detected automatically. This is good for old games that change your screen's aspect ratio when switching to fullscreen.
-Added buttons for portrait (aka "vertical") aspect ratios
-3D modes are now supported on all aspect ratios
-Added "Stretch" and "Fit" display modes for displaying content on the handheld screen
Handheld Overlays:
-The main screen overlay and input visualizer overlay have been combined into a single overlay instead of the screen overlay being slightly in front of the input visualizer overlay
-The default scale of the handheld is now 40. "40 what?" you might be wondering. idk lol ¯\_(ツ)_/¯
Input Visualizer:
-User will now be prompted to set their bindings in the Virtual Handheld Settings if all input bindings are found empty
-Fixed bug where switching between Main and Alt sets would cause icons to inherit face button colors
-Fixed issue where glyphs/icons would appear stretched on triggers and grips
Virtual Gamepads:
-Corrected the assumption that DualShock 4 triggers were dual-phase; now DirectInput will register a button press for L2/R2 if the trigger is pressed by any amount for better parity with real hardware
Bindings:
-Gamepad type toggle interaction is no longer disabled when a virtual gamepad is connected. Toggling the virtual gamepad type when a virtual gamepad is connected will auto-disconnect the virtual gamepad if automatic connect/disconnect is enabled.
-Fixed binding confirmation text not appearing when setting a binding for the left VR controller
-Trying to load a non-existent bindings profile no longer resets your bindings
-Renamed "Quick Start" to "Quick Presets"
-Deleted message saying that presets have moved
-When resetting or loading bindings, the user will be asked if they are sure if they wish to proceed if the bindings are not empty
-Updated gamepad presets to include DualShock 4 touchpad
-Updated gamepad presets for Vive controllers to use Pad Touch Mode
-Fixed bug where loading a binding would set the gamepad type to default but not change the actual current gamepad type to the default one
-Added "Test Game Controller" button to open the "Game Controllers" settings window to test DirectInput controller compatibility
Tracking:
-Added "Big Handheld Mode" preset, which is the same scale that the default handheld scale used to be
-Before, the "Big Screen Mode" preset was glitched so that it would retain whatever Update Transform mode was selected. Now this mode has been separated into "Big Screen (follow)" and "Big Screen (stay)"
v0.5.3 Save-MORE-Setting Update! (5/25/2024)
Virtual Gamepads:
-Virtual gamepads will now auto-connect if a gamepad binding is detected when the handheld is enabled, the dashboard is toggled, or a gamepad button press is attempted (Auto-connect/disconnect can be disabled in the General settings.)
-Virtual gamepads will auto-disconnect if a binding is loaded with a different virtual gamepad type or the default virtual gamepad is changed (Auto-connect/disconnect can be disabled in the General settings.)
-Binding the DualShock 4 touchpad to an Xbox 360 controller layout no longer fallbacks to a "back" button press. Instead, it just does nothing.
-Added slight jitter when thumbsticks are perfectly centered to prevent inputs from being desynced from not being properly updated (This behavior can be toggled off per-bindings profile)
-Virtual DualShock 4 controllers can now simulate the button press at the end of a trigger pull. This will be simulated by VR controllers that have a tactile trigger click (i.e. Index, Vive). For inputs that don't have a tactile trigger click, or if "trigger_full_click" is not bound in the SteamVR Bindings UI (i.e. Oculus Touch), then a threshold of >99% trigger pull will be used. (This behavior can be toggled off per-bindings profile)
General:
-"Analog Stick Multiplier" renamed to "Joystick Multiplier"
-Added section for virtual gamepad settings such as default virtual gamepad type and automatic connect/disconnect
Bindings:
-Presets moved to the new Quick Start tab
-Added new icons to represent Keyboard & Mouse bindings and Gamepad bindings
-Bindings now auto-save when changing a binding and will auto-load at startup
-Added confirmation text for saving and loading bindings files
-Gamepad type now saves with the bindings file, along with the added option to use the default gamepad type
-Bindings file now saves what page/tab you were on in the Bindings menu
-Instead of having two separate buttons for connecting virtual Xbox 360 and DualShock 4 controllers, there is now one "Connect Virtual Gamepad" button which changes to a "Disconnect Virtual Gamepad" button when a virtual gamepad is connected
-Sliders in the keyboard & mouse bindings are now updated properly when the "Reset Bindings" button is pressed when not being shown
-Fixed bug where the wrong scroll value would be used when binding a single scroll after loading a binding
-"Single Scrolling" renamed to "One Shot Scroll" and "Continuous Scrolling" renamed to "Continuous Scroll"
-Fixed issue where switching between gamepad types would make analog modifiers disappear from the VR buttons list
-The depreciated "LTrigger" and "RTrigger" bindings now get converted to "LTAxis" and "RTAxis" respectively
-Current Binding texts for gamepad DPads are now more consistent with other gamepad bindings
-The "Expanded Keyboard" bindings tab button moved below the standard keyboard and next to the new "Mouse" bindings tab button
-Expanded Keyboard layout rearranged to be more aesthetically pleasing
Input Simulator:
-Analog values bound to Trackpad Center fixed to use the correct input
Input Visualizer:
-The "Dashboard is open or SteamVR binding is incomplete" message changed to say "Inputs disabled while dashboard is open or SteamVR binding is incomplete"
Colors:
-Added confirmation text for saving and loading color files
-Color settings will now auto-save when changed and will auto-load on startup
-"On Text/Symbol" renamed to "On Glyphs", and "On Background" renamed to "Behind Glyphs"
-The gamepad face button color setting now saves with color files
-Fixed gamepad face button colors "Behind Glyphs" and "Off" settings not working properly for the DualShock controller layout
-Fixed certain gamepad input text colors not changing properly when in an active state
-The face button color will now show on the glyph face when a button is pressed when "Behind Glyphs" is selected
Index:
-Default bindings for Index controllers changed to be the same as Oculus controllers as the trackpads on Index controllers don't work very well as DPads
About:
-Added Rollthered's sticker and name to special thanks section for creating the new DJ Frog Advert. If you want your own name and/or sticker added to VH, consider becoming a memeber at https://buymeacoffee.com/zanycatxr/membership
Changelog v0.5.2 Save-Your-Settings Update! (4-27-2024)
Finally, you no longer have to configure your settings every time you start Virtual Handheld! At least, that's the way it should work! I kinda let feature creep catch up to me for this one, but it should still be mostly usable! I got sidetracked adding support for Windows Mixed Reality controllers, and then got distracted by adding controller type auto-detection and hot-swapping before I realized I was running out of time to add the main feature of this update: saving your settings! Next time, I'll try to not get distracted!
NOTE: SteamVR Bindings for VH have changed. If you use the default bindings, you shouldn't have to do anything. If you created a custom binding (in the SteamVR Bindings UI, not VH itself) you will have to update them with the new input actions.
SteamVR Bindings:
-Added bindings for Windows Mixed Reality and HP Motion Controller layouts!
-Triggers on Knuckles and Vive controllers now activate a button input from a threshold rather than a physical click at the end of the trigger (If you prefer the old behavior, you can bind it yourself in the SteamVR Bindings UI)
-Joysticks and trackpads now use SteamVR's built-in system for D-pads (instead of being axis-based which caused a square deadzone on a circular field, which made it hard to reach corners)
-"menu" has been renamed "menu_button" and "trackpad_click" has been renamed "trackpad_button" for consistency. Also, "trackpad_pressure" has been renamed "trackpad_force"
-"grip_button" changed to generate from force sensor instead of pull value on Index controllers by default
-"grip_squeeze" has been removed; "grip_analog" will now read from the force sensor instead of the "Pull" value on Index controllers. If you still want to use the "Pull" value, you can still bind it manually with a custom binding.
-Haptic feedback disabled wherever applicable
Save Files:
-Settings will now be saved automatically and will load on startup. Settings will be saved to "\Documents\My Games\Virtual Handheld\HandheldSettings.o3o". No more having to change your settings every time you want to start playing!
-New bindings profiles will be saved to "\Documents\My Games\Virtual Handheld\Bindings\". If this folder does not exist, then the old directory ("\Virtual Handheld_Data\") will be checked and legacy saves will be migrated.
-New color profiles will be saved to "\Documents\My Games\Virtual Handheld\Colors\". If this folder does not exist, then the old directory ("\Virtual Handheld_Data\") will be checked and legacy saves will be migrated.
Input Simulator:
-Fixed bug where opening the dashboard while holding down a button would keep that button virtually held down while the dashboard was open
Controller Layouts:
-Added official support for Windows Mixed Reality and HP Motion Controllers!
-VR controller type will now be auto-detected on connect if "Automatically update VR controller type on connect" is enabled in the General menu
-Hot-swapping controllers is now supported (to the extent that your VR type allows)
-Mismatched controller types are now supported! Want a Vive Controller in your left hand and an Index Controller in your right hand? You can do that now!
-Button input visualizer updated to properly support mismatched controller layouts
-You can now choose to have a "None" controller type set for one or both hands. This type will be set by default if no controller is detected, or if auto-detect is disabled on startup.
-If the detected controller type does not match any of the officially supported types, it will default to showing the "All" layout
Bindings Settings:
-Mouse/analog sliders are now saved in bindings files
-The "Reset Bindings" button now resets mouse/analogs sliders
Screen Settings:
-Screen settings are now auto-saved!
-"Secondary Screen" renamed to "Top Screen" and put above Main Screen in the settings
-Text on Alternate Desktop Capture toggle changed to mention integrated graphics
Tracking Settings:
-Tracking settings are now auto-saved!
-Plus and minus buttons on the Head Lock Distance slider now update the correct slider instead of the z offset slider
-Added "Big Screen Mode" preset, which puts the screen 10 meters away and makes it huge!
Trackpads:
-Added "Trackpad Center" as a bindable input
-The "Trackpad Press" indicator on the handheld overlay moved above the trackpad directionals as the "Trackpad Center" indicator takes its place
-"Trackpad Press" now always activates when the trackpad is "clicked" regardless of what direction is being pressed on the trackpad. This could be useful if you just want to use the whole trackpad as a button, but don't care about the direction.
-Fixed issue with trackpads where pushing a direction with "require press" enabled and moving away from that direction deactivates that input and doesn't reactivate until you "click" the touchpad again
-You can now move to the other directionals of the trackpad while "clicking" the trackpad, making it easier to use as a D-pad
-The old mouthful of a setting "Require (left/right) trackpad press for directionals" changed to "Pad Touch Mode". If it is on, inputs will register from the trackpad merely being touched. If it is off, a trackpad "click" will be required to register an input.
-Fixed mistake where the right trackpad toggle would affect both trackpads, while the left one did nothing
-Pad Touch Mode is now saved along with the bindings file
-Pad Touch Mode now gets reset when the "Reset Bindings" button is pressed
-Pad Touch Mode can be set separately for Main and Alt
-Analog inputs now obey the Pad Touch Mode setting
Index/Knuckles:
-The "Trackpad Press" indicator on the input visualizer overlay will now shrink according to the trackpad's force value
-"Grip Pull" and "Grip Squeeze" have been reunited as a single "Grip" input, as it was determined having them be separate wasn't very useful ("Trackpad Center" now takes the place of "Grip Squeeze" in the save file, so Index users may need to update their bindings accordingly)
-"System Touch" input added, which activates when the controller's system button is being touched; With this, the Index controllers can now take advantage of all 16 default inputs
Other:
-Checkmarks have been emboldened with pixel art graphics to be more visible on lower-resolution headsets
-Parenthesis added to asterisks in the "All" layout that could either be digital or analog depending on the controller type
-Input visualizer text "Inputs are disabled when dashboard is open!" changed to "Dashboard is open or SteamVR binding is incomplete"
-The setting "Don't zero virtual analogs when switching between Main and Alt set (not recommended)" was removed as it was a vestigial setting made for the old analog system that is no longer used. I doubt that it will be missed.
Supporters:
-Added Bamber's name and sticker to the About page for supporting me on Buy Me a Coffee! You can get your name and/or sticker here by becoming a memeber here: https://buymeacoffee.com/zanycatxr/membership
-Added white outline to Nestorboy's sticker!
Changelog v0.5.1a minor patch (4/1/2024)
-Added missing names (Hexson and Ayadea) to the testers section of the "About" screen
-Added Must Be Kitten! logo to the "About" screen (Nefarius Software logo added in previous update but forgot to mention in changelog)
-Fixed minor visual bug where the color of icons on the input overlay would be erroneously changed to the color of the face buttons when switching between Main and AltSet
Changelog v0.5.1 UI Art Update (3/31/2024)
This update not only introduces new pixel art graphics by the developer ZanyCat to the bindings UI and input overlay, but also fixes some notorious input problems, adds new keyboard keys that you can bind, updates mouse bindings, and updates controller-specific VR inputs.
Input Fixes:
-On launching, Virtual Handheld will now check the SteamVR setting "Enable global input from overlays (Experimental)" (This setting must be on for input blocking to work properly). If the setting is off, the handheld overlay will now display a message telling the user to go to the Virtual Handheld Settings. On the welcome screen, there will be a warning message with an "Auto Fix" button that will turn the setting on for you
-Re-fixed an input bug that was accidentally re-introduced where the virtual Xbox 360 gamepad was able to navigate the settings menu, allowing you to adjust sliders while the settings were closed. This caused the handheld to sometimes change color, size, rotation, etc. when the joystick was moved
Bindings UI:
-Added new Xbox 360/DualShock 4 controller graphics and reworked controller binding UI for a more intuitive binding experience
-Added new mouse graphics to keyboard & mouse binding UI
-Inputs and bindings with analog values are now marked with asterisks in the Bindings menu
-VR controller button list reordered to better match physical controller layout (B button above A button, for example)
-Added "All" VR controller layout, which shows all possible inputs with controller-agnostic names
-"Trackpad Click" renamed to "Trackpad Press" (or "Thumbrest" in the case of Oculus)
-Keyboard & Mouse bindings separated into the "Keyboard & Mouse" tab and the "Expanded Keyboard" tab, with the standard keyboard available in both
-Gamepad presets renamed to be more descriptive
-"How to set bindings" text rewritten to be less confusing (hopefully)
Input Overlay:
-New pixel art graphics added to symbolize joysticks, D-pads, mouse and scroll wheel inputs
-Fixed inconsistency where gamepad analogs would use square keys instead of round buttons
Virtual Keyboard:
-Moved numpad, volume and function 13-14 keys to the "Expanded Keyboard" tab
-Added media keys and browser navigation keys
Virtual Mouse:
-Mouse button 4 and mouse button 5 (MB4 & MB5, you know, the buttons on the side of your gaming mouse?) can now be bound under the "Keyboard & Mouse" tab
-"Base Mouse Speed" and "Base Scroll Speed" sliders added; These sliders determine the base speed of mouse inputs before the speed modifier is applied
-Fixed oversight where "ScrLft" and "ScrRgt" were not loading properly from a saved bindings profile
-Fixed the number of scroll clicks not loading properly from a saved bindings profile
-Continuous (analog) scrolling is now actually analog: the amount you press now affects the speed of the scrolling
-Mouse movement speed is no longer framerate-dependent
Virtual Gamepad:
-You can now bind the DualShock 4 trackpad button just like any other button. Note that this is the only button the Xbox 360 controller doesn't have an equivalent for, so it will default to the "Back" button when pressed on a virtual Xbox 360 controller
Vive:
-If grip_analog is not bound in the SteamVR Bindings UI (as is with Vive Wands), grip_button will be used for analog values bound to grip. Likewise, if trackpad_pressure is not bound, trackpad_click will be used for values bound to "Trackpad Press"
Oculus:
-Added support for the thumbrest on Touch Controllers (Takes the same input slot as Trackpad Press and activates when the thumbrest is touched)
Index:
-"Grip Pull" and "Grip Squeeze" have been separated for the Index layout; "Grip Pull" is how much your hand is closed onto the controller, and "Grip Squeeze" is how tightly the force sensor on the controller is being squeezed
-Updated presets to use "Grip Squeeze" rather than "Grip Pull"
-Index controllers should no longer generate haptic feedback when gripping
-Analog values bound to "Trackpad Press" will now be mapped to the trackpad's pressure value
Changelog v0.5 (2/18/2024)
Features:
-Replaced old analog toggles with a more flexible bindings system. Bind analog values however you want!
-Replaced mouse movement toggles with the new system
-You can now choose how many clicks you want for each scroll wheel turn or bind as an axis and hold it down to keep scrolling!
-Bindings presets updated to accommodate the new system
-Bindings presets are now tailored for the selected controller type
Fixes:
-Fixed a major bug that prevented input blocking from working on some systems! Yipppeeee!
Other:
-Made some adjustments to the About screen
-Added testers who helped me out directly to the About screen
-Added Nestorboy and ZanyCat stickers to the About screen. Have your sticker added by becoming a member: https://www.buymeacoffee.com/zanycatxr
Changelog v0.4.1 (1/28/2024)
Features:
-Added Dashboard Detection, making it easier to interact with the SteamVR Dashboard while the handheld is enabled (This can be disabled in the General settings)
-Replaced placeholder hand icon with new pixel art icons to represent input blocking
-Added yellow "paused" input blocking icon to show when the input blocking is paused (i.e. when the dashboard is open)
-Added orange "unknown" input blocking icon to show when the state of the input blocking is unknown (i.e. when Dashboard Detection is disabled)
-Added a key to show the meaning of the input blocking icons
-Added Console menu for viewing debug information
-Console can be viewed