Hi Guys,

    This is what I had given to Rod in his example. This was to be a Tab but 
changed it to a cursor. You can post this under another action or hotkey and 
set the delay to what you wish to have. In this action below you can get a tree 
view opened and closed with a 2 second gap in it.
    I hope this helps. You can also use the .Insert() as well, there are 2 
formats.

        Bruce

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
Sent: Saturday, April 26, 2014 4:15 PM
Subject: RE: New Scripter Questions About Set File Interactions


Jonathan,

I'd like to wait and see if GW will help answer this; I remember something
about the cursor delays aren't used when you're interacting with listboxes
or listviews .

I believe it's generally true that any setting you could effect via
scripting, you can also effect in the set file. so, assuming you've got a
set file for this program, you could set your cursor keys to be program
rather than global, and then experiment with setting their action to be the
second action (instead of the first), and then set the delay before the
second action to a very high value.  If cursor key delays are going to help,
I'd think you'd be able to see it this way (the delay value there is how
much to delay before executing the second action).

I seem to recall others have had similar issues with listboxes and listviews
(often they're changing something else on the screen), and they wanted a
longer delay before WE read something.    I think they had to go to
scripting, which intercepted the arrow keys, and then their script would
cause the delay and then cause some reading to happen.

So, let's see if GW will help out here.

Chip

-----Original Message-----
From: Jonathan Cohn [mailto:jon.c.c...@gmail.com] On Behalf Of Jonathan C.
Cohn
Sent: Saturday, April 26, 2014 3:19 PM
To: gw-scripting@gwmicro.com
Subject: Re: New Scripter Questions About Set File Interactions

I am appending my question to this post because it is related to a SET file
setting. We have an application that needs a longer delay in list views for
the arrow keys. There is the property
GeneralSettings.cursorDelay which appears to be the appropriate value,
though when I set ActiveSettings.GeneralSetting.CursorDelay  it does not
appear to take effect.

What is the general process that a script should do to effect CursorDelay
and should it be only set to higher then 1 in the area of concern or is it
OK to set it for the entire application?

Also, can you give a code sample of modifying a setting?

Thanks,

Jonathan

Best wishes,

Jonathan



On Apr 26, 2014, at 2:28 PM, Chip Orange <lists3...@comcast.net> wrote:

> Hi Jim,
>
> You seem to have four questions; let me see what I can do:
>
> For the summary hotkey in WE, and the shift+f3 Word key, it's going to be
> much easier if it's possible to handle both of these in the Word .set
file,
> and I think it is possible.
>
> The first, the status hotkey, you're right, you could just change it
> globally; but it runs a chance of just conflicting somewhere else, so with
a
> little extra trouble, I'd try to change it just for Word to be some other
> keystroke.  You go into the hotkeys, find it in miscellaneous, and toggle
it
> to be program.  You'll then have to capture the keystroke you want to use.
>
> For the shift+f3 key, since you want Word to see this keystroke, it's
> technically a cursor key.  So, you'll have to go into the cursor keys, and
> go into the program group, and add the shift+f3 (by redefining one of the
> undefined entries I think).
> You'll need to make its action be to read highlight or something like
that.
> I don't remember all the actions you have to choose from,  but hopefully
you
> can find one which reads what you want.
>
> After you do these, using the Word.set file, then save it of course.
>
> Your next question is where does the message come from that tells you what
> shift+f3 does?    I don't know, I suspect somewhere in the .set files
> associated with Word; probably has to be edited directly in the file, but
I
> don't know.
>
> The last was which has priority: I think it's hotkeys in a script.
There's
> a new command in WE 8.0 or later which lets you force priority (I think
it's
> registerHotKeyEx), which lets you not only force your script to have
> priority, but to have it over other scripts using the same hotkey as well.
> If it turns out scripts don't automatically have priority, you could write
> one which uses this new command and force it.
>
> Good luck,
>
> Chip
>
>
>
> -----Original Message-----
> From: Jim [mailto:jhomme1...@gmail.com]
> Sent: Saturday, April 26, 2014 11:56 AM
> To: gw-scripting@gwmicro.com
> Subject: New Scripter Questions About Set File Interactions
>
> Hi,
> I want to start small, so I was thinking of doing two things. First,
> just changing the behavior of a global app that has a license that
> makes it OK to do that. Second, changing some behavior in Word. The
> second thing is what I have a question about. And I wanted to ask what
> the relationship might be between an app for Word and whatever is also
> there from the factory, but I'm unsure how to ask the question, so
> I'll just keep rambling.
>
> Here are two examples. The Window-eyes key for speaking a summary
> conflicts with the one Word uses to open the Styles dialog. Ignoring
> that you can use the bypass key for now, is the best course of action
> to just change the summary key, or somehow script a solution.
>
> Here is a second behavior in Word. The Shift+F3 key stroke changes
> case. I thought it would also be good if Window-eyes would read the
> changed text. Where does the message come from that tells the user
> that Shift-F3 is the change case command, and is scripting a good
> solution for making Window-eyes read the selected text?
>
> Maybe another way to ask this is this. If you define a key in a script
> file, does that override a key you have set up in a set file? And
> exactly what is the hierarchy of what happens and whe?
>
>
> Thanks.
>
> Jim
> On 4/26/14, LB <lab...@fltg.net> wrote:
>> Hi Rod,
>>
>>    Yes, many ways to approach the app you wanted. If the person who
> wanted
>> stays on one screen all the time there would be no issues. I just wrote
it
>> to make sure it was that window; adding that that this window would have
> to
>> take focus when you simulate a key stroke.
>>    But since there was only an issue of walking away then a single window
>> operation is OK.
>>
>>    My app ends up being something I like and as you where is the time. I
>> spend an hour doing a new idea and have many things in the app to use but
>> have not placed them in; smile, I may be running out of hotkeys for it,
He
>> He...
>>
>>    If you want to know news, or just information, such as the Science web
>> site, then my app is an OK one to run. For you can program in what web
> site
>> you would like to look at all the time and you have 3 choices to view it,
> in
>> list form, in text form, or just flat out go to that web site...
>>    I also expose the links on a page with a hotkey so a person can store
>> it, then move it, to any place you need it by copying it in the clipboard
>> when displaying it in a message box.
>>
>>    All is about priorities in life. In the end I will look at the web
> site
>> inside a timer and compare it with the last posting to see if anything
has
>> changed in order to alert a person of new breaking news. Or, use the
> search
>> feature to scan for something a person may want to monitor, I have 4 more
>> options to add to the list of things it can do since I use 0 to 9 as my
> tree
>> values...
>>
>>    So, time to walk the dog and get busy. Next week, probably next month,
>> will be doing my second half of my roof, placing new metal roofing on the
>> entire house myself.
>>
>>    Take care and experiment with it and have fun.
>>
>>        Bruce
>>
>>
>> Sent: Friday, April 25, 2014 11:23 PM
>> Subject: Re: An app which prevents merchant service logout
>>
>>
>> Hi Bruce,
>>
>> Yes, there certainly are many ways to write such an app.  Indeed,
>> although I wrote my app with warning messages in order to prevent
>> problems, now it seems that they don't want to hear messages, and so I
>> am rewriting my app to allow this.  I think it's kind of dangerous,
>> though.  We'll see how it turns out.  However, Bruce, I really
>> appreciate all your time and effort in trying to teach me what I need to
>> know in order to write the best app possible.  To be honest, it's kind
>> of scary to think that your PC could be programmed to trip you up, but
>> it can! smile
>>
>> I wish I had more time to look at other things, including your Breaking
>> News, but there's just so much to do from day to day. smile
>>
>> Good luck, though,
>>
>> Rod
>>
>> On 4/25/14 8:48 PM, LB wrote:
>>> Hi Rod,
>>>
>>>     Before commenting on what you did I decided tonight to add more key
>>> functions into my Breaking News app so you can also read the history you
>>> are on, move through the history list and see what is there without
>>> loading each, and even delete history spots, along with alerting you if
>>> you are at the end or start of the history list; all using the arrow
keys
>>> when in the control panels, Alert, List, and Editbox...for reading.
>>> I now added CtrlLeft, CtrlRight, CtrlUp, and CtrlDown with CtrlShiftUp
>>> Arrow to delete a history URL.
>>>
>>> About your app:
>>>     Yes, what you did is what I hoped you would do. I sent you something
>>> that only works in one given window and it was the reason why I wrote it
>>> that way.
>>>
>>>     I just wanted to make sure you did not get a key stroke in some
> other
>>> app which would mess you up or the person who wanted it would mess up.
>>>
>>>     I guess you could add that window handle to the app for enhanced
>>> security just like I did, making sure only the window you are in is
doing
>>> the key stroke.
>>>     Also, I wanted a normal key stroke and not a windoweyes key stroke
> so
>>> I chose a standard keyboard key and not the reading of the title Bar.
>>>
>>>     but, as long as it works for you that is OK with me, I just added
>>> more precautions in the one I gave you.
>>>
>>>     but, as I said, when activating it with the hotkey, you can capture
>>> the window you are in and just add an if statement inside the set time
>>> function so it gets bypassed when not in the window you want.
>>>
>>>     but, having said that you would also have to focus to that window,
>>> have the key stroke  perform, then go back to the window you are in.
>>>     Which brings up another feature, monitor the window handle to see if
>>> a key stroke only happens in the window being monitored...lots of ideas
>>> for a simple app.
>>>     that is if you really want a nice working, 1 window, key stroke...
>>>
>>>     As long as it works then wait and see if you do in fact need to
>>> monitor windows.
>>>
>>>         Bruce
>>>
>>> Sent: Friday, April 25, 2014 4:23 PM
>>> Subject: Re: An app which prevents merchant service logout
>>>
>>>
>>> Hi Bruce,
>>>
>>> Yes, I caught that.  Thanks. smile
>>>
>>> After all your work, and my trying to get the app to behave reliably, it
>>> turned out for me that my initial inspiration of how to write the app
>>> won the day.  Here is a link to my package on my DropBox:
>>>
>>> https://www.dropbox.com/s/xvrb1gqbl3j0bgs/KeyboardActivity.wepm
>>>
>>> It works, it's safe, and it does the job.  See if you agree. smile
>>>
>>> All the best,
>>>
>>> Rod
>>>
>>>
>>> On 4/25/14 3:20 PM, LB wrote:
>>>> Dim globaltimerVal: globalTimerVal = .25 'Minutes
>>>> Rod,
>>>>
>>>>      This value I had placed there should be changed either to 10 or 15
>>>> instead of .25 to make sure you wait 10 minutes or more or what you
want
>>>> to have as the delay.
>>>> At the moment it will go off in around 15 seconds because it is .25 and
> I
>>>> am not sure if that is what you were talking about.
>>>>      You can also add a menu, placing an option to change the time to
>>>> what you want. Or just add a radio box with minute values in it so you
>>>> can change it. Adding a second hotkey to make the change and get stored
>>>> in the .ini file.
>>>>      I did not do that but could to make it run easier. Just have been
>>>> running around and not been on the computer long except to upload the
> 2.6
>>>> version of Breaking News.
>>>>
>>>>      As always, when someone does a review they give low marks. But
>>>> since my Breaking News app is a work in progress and lots of it will be
>>>> taken out as I refine it, I have to live with such reviews. As always,
>>>> try not to take attempts in helping others personal.
>>>>
>>>>          Bruce
>>>>
>>>>
>>>> Sent: Thursday, April 24, 2014 4:08 PM
>>>> Subject: Re: An app which prevents merchant service logout
>>>>
>>>>
>>>> Hi Bruce,
>>>>
>>>> I had sent you a message on your bronx lab address last night, but it's
>>>> not important now.  I have been monkeying around with the app for
almost
>>>> a day now, and you're quite right about it having timing issues.  I'm
>>>> still working on it, and I just want to say thanks for all your help.
>>>>
>>>> Take care,
>>>>
>>>> Rod
>>>>
>>>> On 4/24/14 2:51 PM, LB wrote:
>>>>> Hi Rod,
>>>>>
>>>>>       I forgot to mention, the Control-Shift-3 toggles the program
> from
>>>>> on to off so those 2 speech lines must remain so a person knows there
>>>>> monitoring the keyboard.
>>>>>
>>>>>       I felt this was the best way to run the program, toggle it on
> and
>>>>> when not needed, toggle it off. Of course it is off when Windoweyes is
>>>>> loaded and only on for the window you are on when the hotkey is hit.
>>>>>       Even though the timer is always reset when a key is up, it might
>>>>> cause problems for timing issues some times.
>>>>>           Bruce
>>>>>
>>>>> Sent: Wednesday, April 23, 2014 8:43 PM
>>>>> Subject: Re: An app which prevents merchant service logout
>>>>>
>>>>>
>>>>> Hi Rod,
>>>>>
>>>>>       There are a lot of things in this app that should not be there.
>>>>> Most are for debugging and see if event handling was done correctly.
>>>>>
>>>>>       You can take out all the speaking and such, or just comment them
>>>>> out. I left the all keys up in just in case it is needed, but is not.
>>>>>
>>>>>       So the only thing that is in my app I sent you is it is
> triggered
>>>>> using Control-Shift-3 and not 4. that was in conflict with another app
>>>>> so 3 had to be used.
>>>>>
>>>>>       You can use any key you want to trigger a key event for the
>>>>> person who wants or needs such a thing. What ever works can be used.
>>>>> This can open and close a tree view or move back and forth in an
>>>>> editbox, or text...
>>>>>
>>>>>       So test it, have fun with it, and I think it should work for
> what
>>>>> you needed.
>>>>>
>>>>>           Bruce
>>>>>
>>>>> Sent: Wednesday, April 23, 2014 3:57 PM
>>>>> Subject: Re: An app which prevents merchant service logout
>>>>>
>>>>>
>>>>> 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
>>>>>>
>>>>>>
>>>>>>
>>>>> ---
>>>>> This email is free from viruses and malware because avast! Antivirus
>>>>> protection is active.
>>>>> http://www.avast.com
>>>>>
>>>>>
>>>>> ---
>>>>> This email is free from viruses and malware because avast! Antivirus
>>>>> protection is active.
>>>>> http://www.avast.com
>>>>>
>>>>>
>>>>>
>>>> ---
>>>> This email is free from viruses and malware because avast! Antivirus
>>>> protection is active.
>>>> http://www.avast.com
>>>>
>>>>
>>>>
>>>
>>> ---
>>> This email is free from viruses and malware because avast! Antivirus
>>> protection is active.
>>> http://www.avast.com
>>>
>>>
>>>
>>
>>
>> ---
>> This email is free from viruses and malware because avast! Antivirus
>> protection is active.
>> http://www.avast.com
>>
>>
>
>
> --
> e+r=o
> Skype: jim.homme
>


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

Reply via email to