Hi Bruce,

I noticed that the line containing Keyboard.WaitForAllKeysUp is still commented out; is this your intention?

Thanks,

Rod

On 4/23/14 3:28 PM, LB wrote:
Hi Rod,

     Here is the entire program to allow you to set the timer for a given 
window. I activate this using a hotkey such as Control-Shift-3 keys.
I can send you the entire package I made to you instead of uploading the app to 
app central, but maybe I will do that for those who may want it.
   You have to change the time to the desired time you want. I placed it at 15 
seconds here  or .25 minutes as shown below. I did this for testing and you can 
install this app and test it to see what I have done.
i use the left and right arrow to trigger and it only does it in the window you 
had first set the app running.
     The insert key requires 2 key values so if no modifiers just put kmNone as 
I have done.

     I will also zip up the entire app, including the .xml and let you try it 
out.

         Bruce

Entire App:
Dim oKeyActiveWindow: set oKeyActiveWindow = Nothing
Dim oKeyActiveChildren: Set oKeyActiveChildren = Nothing
Dim myKeyboard: Set myKeyboard = Keyboard
    Dim globalTimer: globaltimer = 0
    Dim globaltimerVal: globalTimerVal = .25 'Minutes
Dim myKeyboardConnection: myKeyboardConnection = 0

'Initial setting of timer.
'    my_KeyUpConnection = ConnectEvent( Keyboard, "OnKeyProcessedUp", 
"OnKeyProcessedUp")

Sub Key_Monitoring( myKeyId)
  'This routine is called when the hotkey Control-Shift-4 is pressed.
  If Keyboard.KeyDescriberActive Then
   Speak myStrings(myKeyId & "_Description")
  Else
   'Main routine functionality goes here
   Queue "Activate_Monitoring"
  End If
End Sub

Sub Activate_Monitoring()
  'Assumes present program when hotkey is hit is the active application for 
monitoring.
  If myKeyboardConnection = 0 Then
   set oKeyActiveWindow = activeWindow.overlap
   ' Filter keyboard events for only this process
'  myKeyboard.FilterProcess = oKeyActiveWindow.Process
   On Error GoTo 0
   ' handle all MSAA event types
   myKeyboardConnection = ConnectEvent( Keyboard, "OnKeyProcessedUp", 
"MonitoringKeyUp")
   Silence
   Speak " Keyboard Monitoring Is Turned On! "
   Sleep 1000
    ResetTimer globalTimerVal
  Else
   Disconnect myKeyboardConnection
   myKeyboardConnection = 0
   On Error Resume Next
   If globaltimer  > 0 Then
    StopTimer globalTimer
    globalTimer = 0
   End If
   Set oKeyActiveWindow = Nothing
   Silence
   Speak " Keyboard Monitoring Is Shut Off! "
   Sleep 1000
  End If
End Sub

Sub MonitoringKeyUp( ky, km)
     'Key up was processed.
  If oKeyActiveWindow.Handle = activeWindow.overlap.Handle Then
   Silence
   Speak " Key Is Up "
   Sleep 1000
   Queue "ResetTimer", globalTimerVal
  End If
End Sub

Sub ResetTimer( ByVal timerVal)
  If globaltimer  > 0 Then
   StopTimer globalTimer
   globalTimer = 0
  End If
  ' Convert time to milliseconds.
  timerVal = timerVal * 60 * 1000
  globalTimer = StartTimer( timerVal, "DoTab" )
  Speak " Timer Is Set "
  Sleep 1000
End Sub

Sub DoTab()
  If oKeyActiveWindow.Handle = activeWindow.overlap.Handle Then
   'Keyboard.WaitForAllKeysUp()
   Keyboard.InsertKey vk_Right, kmNone
   Sleep 2000
   Keyboard.InsertKey vk_Left, kmNone 'kmShift
   Sleep 2000
  End If
   ResetTimer globalTimerVal
End Sub


---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com




Reply via email to