Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - TheIntersect

Pages: [1]
1
VoxCommando Basics and Core Features / Re: Hold key to listen
« on: April 08, 2019, 12:57:35 PM »
Thank you, @jitterjames, for the updated Hook.dll.  I have been using it today.  It does seem to have resolved the issues.   Thanks for working out a fix!

The only odd thing I noticed today was that I did receive a History entry of Hook.Sleep+LControlKey one time when I was just pressing LControlKey. 

I simply added that event to the event that Hook.LControlKey is in--now, both events trigger the same response.  This would be a problem for someone who actually needed to respond only to LControlKey, but it is working just fine for me. 

I don't know that the .Sleep prefix is related to locking and unlocking the desktop, or if it is related to something else.  If I can discover a pattern, I'll post something.  I am guessing it has something to do with my laptop going to sleep while it is locked, but I have not been able to establish that yet.

2
@nime5ster--Right!  Thanks for that.  I (now) remember reading that in the intro-to-the-forum posts but forgot about being able to do that when it came down to it.  I appreciate your kind reminder.   :-[

@jitterjames thank you for explaining that.  I'd watched the videos and read the wiki, but had not quite understood that generating an event was separate from that event actually *doing* something--I had thought that when the event appeared in the History that meant that the event had actually *done* something. 

So, for others who might be struggling with this, here's what I did with my "test" to turn off the Vox overlay:

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.2.4.1-->
<commandGroup open="True" name="testing" enabled="True" prefix="" priority="0" requiredProcess="" description="">
  <command id="91" name="Timer Event" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>VC.SetEventTimer</cmdType>
      <params>
        <param>3</param>
        <param>User.MadeUp</param>
      </params>
      <cmdRepeat>1</cmdRepeat>
    </action>
    <phrase>test event timer</phrase>
  </command>
  <command id="69" name="Hide Overlay" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
    <action>
      <cmdType>OSD.HideOverlay</cmdType>
      <params />
      <cmdRepeat>1</cmdRepeat>
    </action>
    <event>User.MadeUp</event>
  </command>
</commandGroup>

To summarize:  I created a Command that sets an event timer that causes the User.MadeUp event (not a "real" event, but it shows up in History and can be dragged to Command Groups to function as a trigger) to show up in the History window after 3 seconds.  I dragged the User.MadeUp event from the History window to a Command Group that has code to turn off the Vox Overlay.  So, now when I say, "test event timer" the User.MadeUp event appears in the History 3 seconds later which triggers the "Hide Overlay" Command Group to execute the actual OSD.HideOverlay command. 

It all makes sense now.  Thanks!   ;D



3
I need some direction for how to use VC.SetEventTimer.  I am using Windows 10 under an administrator account with UAC off and I am running VoxCommando "as administrator."  I am running VC 2.2.4.1 with the program installed in "C:\Programs\VoxCommando\Setup01"  (*not* the Program Files directory).

Here is what I've tried:

1. I have a "testing" Group.  In that Group, I have a Command named "Timer Event."  I have a Phrase Command Part set to trigger when I say, "test event timer".  In the LCB (Logical Command Builder editor), I have this Action:  "VC.SetEventTimer" with the first parameter set to "3" (for a delay of 3 seconds) and the Event Name set to "OSD.HideOverlay."

  • Vox correctly detects my voice command and Vox History shows the megaphone icon next to "test event timer (90.3%)."
  • The next item in History shows a green gear icon with "VC.SetEventTimer:3&&OSD.HideOverlay"
  • The next item in History (3 seconds later according to the History time stamp) shows a red calendar item with a 9 on it and is "OSD.HideOverlay"
  • So, everything seems to be as it should be, except that the overlay is *not* actually hidden.
  • I have tried other commands as the 2nd parameter as well (e.g., VC.Standby, etc.] and the same thing happens--everything is correct in the History window, but Vox does not actually do the action/event/command (i.e., does not go to Standby mode).

2. I have also tried using a parameter of a named command that I have made instead of a built-in command. So, I have a "testing" Group.  In that Group, I have a Command named "Timer Event" and also have a Command named "Hide Overlay."  I have a Phrase Command Part for "Timer Event" set to trigger when I say, "test event timer".  In the LCB for "Timer Event", I have this Action:  "VC.SetEventTimer" with the first parameter set to "3" (for a delay of 3 seconds) and the Event Name set to "Hide Overlay".  For the Command named "Hide Overlay", I have LCB with this Action:  "OSD.HideOverlay".
  • When I manually click the green triangle next to "Hide Overlay" the Vox overlay is successfully hidden, so I know that Command is working when I manually trigger it.
  • However, as above, the Vox History shows that the voice command is recognized and 3 seconds later the Event named "Hide Overlay" shows as triggered, but the overlay is *not* actually hidden.
  • When hovering over the "Hide Overlay" command (or in #1 above, when hovering over the "VC.HideOverlay" command) in the History window, no error is given.  However, the popup tooltip shows "Commands triggered:" and nothing else--suggesting that no commands were triggered even though no error is reported.

I think I must just be misunderstanding the syntax or how to enter the parameter for what event/action to trigger after the delay.

Can someone point me in the right direction?    ::confused

4
VoxCommando Basics and Core Features / Re: Hold key to listen
« on: April 07, 2019, 12:57:42 PM »
The inconsistency seems to be related to locking and unlocking the Windows 10 desktop. 

When I lock the computer by pressing WIN+L on the keyboard and then later come back and enter the password to unlock the computer, the keys detected by VoxCommando (and I would note this is an issue in EventGhost too) are...different than expected. 

For example, in Vox's History window, instead of showing Hook.LControlKey when I press down the left control key, it will show Hook.LWin+Sleep+LControlKey.  I can assure you, I am not holding down the LWin key and I don't even have a Sleep key on my keyboard.  However, I did hold down the LWin key to lock the computer--so it seems like perhaps key activity is not detected once the machine is locked (which is probably by design) and the LWin key up from locking the desktop has not been detected?  Not sure about why a Sleep "key" is detected.  Another time after unlocking, the Vox History shows Hook.LWin+Sleep+Return+LControlKey every time I pressed the left control key.  In both cases, however, it consistently shows Hook.LControlKey.Up without the extra keys being "released"--presumably because I am only actually releasing the left control key and I'm not releasing any of the other keys.

My solution to this has been (in addition to running VoxCommando "as administrator") to have EventGhost detect when I unlock the computer; then I have EventGhost run a batch file that restarts EventGhost (because it has similar, but not the same problems after unlocking) and another batch file that restarts VoxCommando if it was running when the machine is unlocked.

After restarting Vox, the History shows only Hook.LControlKey when I press the left control key, as expected.

Don't know if this helps sort out what is happening in the background, but it is perhaps a helpful workaround for anyone else experiencing similar issues.

5
VoxCommando Basics and Core Features / Re: Hold key to listen
« on: April 03, 2019, 10:21:21 AM »
Thanks to both @jitterjames and @nime5ter.

I am baffled:  the problem seems quite inconsistent. 

I always am logged in with an Admin account and UAC is off.  I have had the VoxCommando overlay "on" since I installed the program because it is helpful to know when VC is listening.

This morning, I ran VoxCommando "as administrator" and was successful in using Word 2016 while using the Left Control key to toggle Vox.On and Vox.Standby.  Consistently I could see the VC overlay turn green when pressing LCtrl.  That's great! 

Weird thing was, I then closed and restarted VoxCommando normally (*not* as an administrator) and it still worked with the Word 2016 document.  I have no idea why this didn't work yesterday.

However, continuing with VoxCommando in non-administrator mode, when I tried using LCtrl in Notepad++, pressing LCtrl did *not* change the VC overlay and voice commands were not recognized (of course, since VC wasn't listening).  If I immediately switched to Word 2016 and pressed LCtrl, the VC overlay turned green and voice commands were registered.  If I immediately switched back to Notepad++, LCtrl would no longer work.  Very strange.

So, I restarted VoxCommando as an admin.  Now the LCtrl was registered in Notepad++ and Word!  So, I exited VoxCommando and restarted it in non-administrator mode:  Now LCtrl was not registered in Notepad++ nor was it registered in Word 2016! 

I don't understand the inconsistency, but, I guess I know to run VoxCommando as administrator to get the best results.

Yes, the fact that the LCtrl key is held down during keyboard emulation is something I have to be aware of and have tried to work around.  I wish that were the problem, but I have ensured that is not the cause of the difficulties. 

I am using EventGhost at the same time, but not to capture the LCtrl key, so I don't think that is it.  Plus, LCtrl works as expected when running VoxCommando as an administrator, so seems like that wouldn't solve the problem if EventGhost were somehow interfering with the LCtrl behavior.

I'll keep looking for a pattern and see if I can figure out what changes the effectiveness of the LCtrl.

I'd also like to find a way to get EventGhost and/or VoxCommando to cause the system to release the LCtrl key press before executing the subsequent commands.  EventGhost has the EmulateKeys command that is supposed to do a "key up" only, but that does not effectively cause the LCtrl not to be recognized in Word 2016 (I haven't tried with other apps, but I anticipate it would be the same).  That would help with having to be sure keyboard events are not muddled by the LCtrl key.

Anyway, thanks for all the help and testing and suggestions.  For now, it seems like the best solution is running VoxCommando as administrator.  Will update here if I discover anything potentially useful.

6
VoxCommando Basics and Core Features / Re: Hold key to listen
« on: April 02, 2019, 05:46:28 PM »
@jitterjames, I will try tomorrow when I am back at my machine to see if running as an Administrator helps.

I am running Windows 10 and MS Word 2016.

The key combinations I tried were the tilde and also the left control key.

I don't know that EventGhost keyboard detection will work better--but I think that will be my fallback.

I don't know if it is related, but I have had poor luck getting VoxCommando to send keys to apps and have EventGhost send the keys instead.  I've tried VoxCommando's SendKeys, InputKeys, and DxInput and while they all work successfully to send keys to Notepad, I have not been successful using any of the 3 to send keys to Notepad++, to MS Word 2016, or to most dialog boxes.  I have VoxCommando send an event to EventGhost and then EventGhost sends the keys to the app.

I'll post back tomorrow when I have a chance to run VoxCommando as an Admin.  Thanks for the support.

7
VoxCommando Basics and Core Features / Re: Hold key to listen
« on: April 02, 2019, 04:50:52 PM »
So...  I've got the Hook plugin all set up and working, but I'm running into a problem.  The activating key press and key release actions work *only if VoxCommando has the focus.* 

Many of the voice commands I use to add standard comments in MS Word documents for papers that I am editing (I am a professor and I "get" to edit a lot of student papers and I use voice commands to add comments so that I don't have to keep retyping the same comment over and over).

Is there a way to get VoxCommando to recognize the key press and key release events even when those occur when another application has the focus?

I am wondering if I am going to need to have EventGhost recognize the key press and then send a command to VoxCommander?

8
VoxCommando Basics and Core Features / Re: Hold key to listen
« on: April 02, 2019, 02:36:56 PM »
This is brilliant!  Exactly what I need. 

The video explaining it was excellent; and the use of the tilde as the toggle key is one I hadn't thought of, but it is very convenient and almost never used for anything else. 

Perfect!  Thank you, @jitterjames!   ;D ;D

This is the best $ I have spent on an application for a *long* time and I was happy to register it.

9
VoxCommando Basics and Core Features / Hold key to listen
« on: April 01, 2019, 09:43:28 PM »
I had thought that I had read somewhere that VoxCommando could be set to listen only when a specific key was held down (e.g., Left Control key, or, when CapsLock was on, etc.).  However, I'm not finding that information, so I am thinking maybe I was wrong?

At any rate, is there a way to make VoxCommando execute commands only if a specific key is pressed and if that key is not pressed to ignore all commands?  That would be really helpful to me because I will have people stop by my office and start talking to me and if I forget to turn off VoxCommando, my computer can start behaving wildly.

Any pointers would be greatly appreciated.

Pages: [1]