Author Topic: OSD for VoiceAttack Commands (Possible to Display Over Game Within Rift?)  (Read 3458 times)

bzowk

  • Guest
Hey Guys -

So started playing with VoiceAttack today.  I added a few commands and added TTS feedback for a few of them.  I found this would probably be annoying after a while so instead added OSD feedback.  The attachment OSD1.png shows OSD feedback which appears after listening has been enabled on one of my monitors in center towards the bottom.


My Question
Does anyone know of a way to get OSD feedback within the Rift's display?

I'm sure it would be a challenge due to the SBS view, but thought I'd ask.  I couldn't find any OSD options within VoiceAttack so if anyone is interested, below is how I added it to my monitor(s).

Adding OSD to for VoiceAttack Commands (on Monitor(s))
I'm sure there are many better ways to do this, but given that some features such as keystroke emulation do not work in VA on my PC currently, I personally had to use a few workarounds.  Works, though. :)  Below is how to add three total: Listening Enabled, Listening Disabled, and one that displays the current audio volume level

Pre-Requisite Configuration
1. Create a new, empty folder on your PC (VoiceAttack) then a sub folder within it for each command / OSD message you wish to have appear.  Ex: C:\VoiceAttack\Audio Volume, C:\VoiceAttack\Listening Enabled, C:\VoiceAttack\Listing Disabled

2. Install EventGhost and once open start a new, empty profile

EventGhost Configuration
3. Underneath the Configuration Tree, right click and choose "Add Plugin."  Scroll through the list and select "Keyboard."  Click OK when its window appears.  FYI: Starting at this point, every key you type will appear to the left in EventGhost

4. Right click and add a Plug-In again this time choosing "Directory Watcher."  Once its window appears, select the folder "Listening Enabled" (C:\VoiceAttack\Listening Enabled) you created earlier.

5. Add the "Directory Watcher" plugin two more times until one is listed for each OSD command you wish to have.


6. Right click in tree again and add a new folder named "OSD"

7. Right click OSD and "Add Macro" - choose "Show OSD."  Enter "Listening Enabled" and configure the size, color, and placement of the text as you wish to have it.  Click Test to see what it will look like then OK when done

8. Repeat step #7 again to add "Listening Disabled"

9. Repeat step #7 a third time, but in the text to display, enter "Volume: {eg.WinApi.Clipboard.GetClipboardText()}"


VoiceAttack Configuration
10. Leave EventGhost idle for a few then go over to VoiceAttack.  Edit the command for "Listening Enabled" (assume you know how to add it) and add a command at the end to "Write to a text file" under "Other" -> "Advanced."  In the "Text" field, put anything - doesn't matter what it is as long as its something.  What's important is the Output File field.  Within it, enter the path to the folder matching the command, then add a text file onto the end.  An example would be C:\Voice Attack\Listening Enabled\listeningenabled.txt"


11. Repeat step #10 one time for "Listening Disabled" - obviously changing all occurrencees of "enabled" to "disabled" plus ensuring that it saves its file in the matching path

12. For the "Show System Volume" OSD, add a new command.  First have it which a Value to the Event Log and set that value to be "System Audio Level: {STATE_SYSVOL}."  Color doesn't matter so go wild.  Next, add a 2nd command similar to steps #11 & #12 to write to a file within the matching folder.  The third command should be "Set a Text Value to the Windows Clipboard."  It's value should be "{STATE_SYSVOL}"

13. Once steps #10 - #13 are done, execute each of them and ensure the text file is created in each cooresponding folder.  Also, make sure after executing the show volume one, that a numerical value between 0 -100 exists in your clipboard

Back to EventGhost
12. As mentioned earlier, EventGhost has been listing most of what you've typed to the left pane.  Assuming you recently executed each edited command in VoiceAttack, you should see listings starting with "DirectoryWatcher.Updated," "DirectoryWatcher2.Updated," & "DirectoryWatcher3.Updated."  If not, execute each command in VoiceAttack again.  Behind each should show which folder therefore command it's tied to.

13. From the left pane, drag the "DirectoryWatcher#.Updated" that monitors your listening Enabled OSD to the right pane above the "Show OSD: Listening Enabled" listing.  Repeat this by dragging the watchers for #2 & #3 above their cooresponsing "Show OSD" listings.

14. Hit "Ctrl+Alt" on your keyboard and it will display in the left pane.  Drag it on top of the Watcher Action which cooresponds to the watcher for System Volume.  Once there, right click and configure it then change it's value from "Keyboard.Ctrl.Alt" to "Keyboard.Ctrl+Alt+V"
EventGhost cannot capture 3 button combos into left pane using existing configuration so we had to do a workaround

15. If performing the same setup as described above, your right pane should look just like sthe below.  Test by executing each command in VoiceAttack.  You should now see your preconfigued OSD appear!


As far as EventGhost, you can go to File / Save and may wish to have it set to auto launch upon Window's login.  Also, you may check the box "Log only assigned..." in the bottom left of EventGhost so that it will only display keystrokes used in the tree on the right.

Hope that at least one person got any use from all of that typing.  Also hope I don't learn about a much simpler way to do this within VA soon :)

Back to My Question
Back to my question and main reason for this post, though - anyone have thoughts for how to get this OSD to appear in Rift as it does on monitors?  Within EventGhost, you may select the monitor it appears on, but doesn't (at least on mine) show the Rift as being one.

Thanks!
« Last Edit: December 26, 2016, 01:25:17 PM by bzowk »

rjSampaio

  • Guest
hi there, you can use OpenVRDesktopDisplayPortal to display any window inside the rift.