[jawsscripts] Re: Difficulty scripting McTwit

  • From: Jim Bauer <holdsworthfan@xxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Tue, 16 Jun 2009 12:36:14 -0500

The script info unknown uses is retrieved from a JKM file. If you
write a script, assign it a keystroke, compile, delete the script from
the source and recompile while leaving the JKM entry intact, the name
will be passed to unknown.

As far as your actual questions go, I have no idea and wish I did. Is
WXCore some sort of wrapper to mctwit.exe? If, say, mctwit was doing
the grunt work and WXCore was just the GUI, that might explain some of
the confusion.

Perhaps JAWS only views an *application* for active configuration
purposes as either executables or DLLs?

Pure conjecture, though...
Original message
from: Jamal Mazrui <empower@xxxxxxxxx>
subject: [jawsscripts] Re: Difficulty scripting McTwit
date: Tue, 16 Jun 2009 13:17:27 -0400 (EDT)

>Hi Jim,
>That helps, though I'm not there yet.  If JAWS knows what script
>the user attempted to execute, then wouldn't it get that info from a .jss
>or .jkm file?  If so, why can't it execute the script that it knows the
>name of, obtained from a particular file?  Why does the AutoStart event
>work in the associated .jss but not other scripts within the same file?
>Even with the technique that now works (Brian's code that uses the
>technique you described), I notice that application settings are unchecked
>for both wx._core_ and McTwit settings?  If they are unchecked, why are
>they active?
>
>I realize you may not know all the answers to these questions, but I'm
>asking in case you or others can help explain this mysterious situation.
> I sure wish these script issues were better documented for developers.
>
>Jamal
>
>On
>Mon, 15 Jun 2009, Jim Bauer wrote:
>
>> Date: Mon, 15 Jun 2009 19:14:56 -0500
>> From: Jim Bauer <holdsworthfan@xxxxxx>
>> Reply-To: jawsscripts@xxxxxxxxxxxxx
>> To: jawsscripts@xxxxxxxxxxxxx
>> Subject: [jawsscripts] Re: Difficulty scripting McTwit
>>
>> When JAWS can't find a script in either the JSB of the currently
>> active configuration or any JSBs linked to the active binary via Use
>> statements, the offending script's name is passed to the unknown
>> function. In default.jss, this function is written to speak the
>> infamous, "unknown call to script/function" <func/scriptName> message.
>>
>> Here, we're creating an application-specific override that looks up
>> the JKM entry for the given script name and types the keystroke it
>> finds.
>>
>> If you try creating scripts in WXCore and doling out keystrokes,
>> nothing will happen when those keys are pressed in Mctwit. And if you
>> switch to the Mctwit configuration and merrily script hotkey after
>> hotkey in Mctwit.jss without the aforementioned override, JAWS will
>> pass any script called to unknown.
>>
>> Original message
>> from: Jamal Mazrui <empower@xxxxxxxxx>
>> subject: [jawsscripts] Re: Difficulty scripting McTwit
>> date: Mon, 15 Jun 2009 15:17:22 -0400 (EDT)
>>
>> >Jim,
>> >I have not been able to get your technique to work, but since Brian did,
>> >I must not be grasping it fully.  Can you explain conceptually what this
>> >technique is doing?
>> >
>> >Jamal
>> >On Mon, 15 Jun 2009, Jim Bauer wrote:
>> >
>> >> Date: Mon, 15 Jun 2009 13:28:40 -0500
>> >> From: Jim Bauer <holdsworthfan@xxxxxx>
>> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
>> >> To: jawsscripts@xxxxxxxxxxxxx
>> >> Subject: [jawsscripts] Re: Difficulty scripting McTwit
>> >>
>> >> This goes in wx._core_:
>> >>
>> >> function Unknown(string TheName)
>> >> typeKey(iniReadString("Common Keys", TheName,
>> >> getCurrentScriptKeyName(), GetJawsSettingsDirectory()+"\\mctwit.jkm"))
>> >> endFunction
>> >>
>> >>
>> >> Then, simply switchToConfiguration("mctwit" in WXCore's autoStartEvent
>> >> function. Put your scripts in mctwit.jss.
>> >> Hope that cleared things up at least a little.
>> >> Original message
>> >> from: Jamal Mazrui <empower@xxxxxxxxx>
>> >> subject: [jawsscripts] Re: Difficulty scripting McTwit
>> >> date: Mon, 15 Jun 2009 13:51:11 -0400 (EDT)
>> >>
>> >> >Hi Jim,
>> >> >Can you post sample code?  I tried SwitchToConfiguration in the
>> >> >AutoStart event, but it did not work.  I also tried SwitchToScriptFile.
>> >> >I didn't understand the references to unknown function or the ini file
>> >> >in your message.
>> >> >
>> >> >Jamal
>> >> >On Mon, 15 Jun 2009, Jim Bauer wrote:
>> >> >
>> >> >> Date: Mon, 15 Jun 2009 12:12:24 -0500
>> >> >> From: Jim Bauer <holdsworthfan@xxxxxx>
>> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
>> >> >> To: jawsscripts@xxxxxxxxxxxxx
>> >> >> Subject: [jawsscripts] Re: Difficulty scripting McTwit
>> >> >>
>> >> >> You can make Unknown work for you here:
>> >> >> switch to the mctwit configuration in the autoStartEvent of
>> >> >> wx._core_.jss. Also include therein an unknown function that looks in
>> >> >> mctwit.jkm (via iniReadString) for the keystroke(s) it has been
>> >> >> passed, then types the findings.
>> >> >>
>> >> >> HTH
>> >> >>  Original message
>> >> >> from: Jamal Mazrui <empower@xxxxxxxxx>
>> >> >> subject: [jawsscripts] Re: Difficulty scripting McTwit
>> >> >> date: Mon, 15 Jun 2009 12:19:54 -0400 (EDT)
>> >> >>
>> >> >> >I have tried that as well, without success.  Good suggestion though.
>> >> >> >
>> >> >> >Jamal
>> >> >> >On Mon, 15 Jun 2009,
>> >> >> >Bryan Garaventa wrote:
>> >> >> >
>> >> >> >> Date: Mon, 15 Jun 2009 09:11:18 -0700
>> >> >> >> From: Bryan Garaventa <bgaraventa11@xxxxxxxxxxxxxx>
>> >> >> >> Reply-To: jawsscripts@xxxxxxxxxxxxx
>> >> >> >> To: jawsscripts@xxxxxxxxxxxxx
>> >> >> >> Subject: [jawsscripts] Re: Difficulty scripting McTwit
>> >> >> >>
>> >> >> >> You've likely already tried this, but does the old method for 
>> >> >> >> passing keys
>> >> >> >> through work? For instance
>> >> >> >> {alt+t}
>> >> >> >>
>> >> >> >> ----- Original Message -----
>> >> >> >> From: "Jamal Mazrui" <empower@xxxxxxxxx>
>> >> >> >> To: <JAWSScripts@xxxxxxxxxxxxx>
>> >> >> >> Sent: Monday, June 15, 2009 8:15 AM
>> >> >> >> Subject: [jawsscripts] Difficulty scripting McTwit
>> >> >> >>
>> >> >> >>
>> >> >> >> > As you may know, I develop a Twitter client called McTwit, whose 
>> >> >> >> > installer
>> >> >> >> > is available at
>> >> >> >> > http://EmpowermentZone.com/mtsetup.exe
>> >> >> >> >
>> >> >> >> > Although I try to make the application as keyboard and screen
>> >> >> >> > reader-friendly as possible, sometimes there are ways that it may 
>> >> >> >> > be
>> >> >> >> > enhanced in ways that are not presently practical through my 
>> >> >> >> > coding alone.
>> >> >> >> > I wish to promote collaboration in this and other open source 
>> >> >> >> > projects, so
>> >> >> >> > will work with anyone wanting to make a contribution that offers
>> >> >> >> > additional features.
>> >> >> >> >
>> >> >> >> > I'm writing now in the hope that someone on this list may be able 
>> >> >> >> > to
>> >> >> >> > resolve why JAWS does not recognize scripted keys for McTwit.  
>> >> >> >> > Brian
>> >> >> >> > Hartgen and others on Twitter have suggested alternative hotkeys 
>> >> >> >> > for
>> >> >> >> > McTwit that work like an email interface.  At present, I am 
>> >> >> >> > implementing
>> >> >> >> > hotkeys only by means of the Windows dialog engine, which 
>> >> >> >> > automatically
>> >> >> >> > provides hotkeys of an Alt+Letter nature when the & character is 
>> >> >> >> > used in
>> >> >> >> > the label of a button.  With some email-like alternatives, one 
>> >> >> >> > could also
>> >> >> >> > do, say, Control+N for a new tweet (rather than Alt+T), Control+R 
>> >> >> >> > for a
>> >> >> >> > direct reply, and Control+Shift+R for a public reply (like 
>> >> >> >> > "replying to
>> >> >> >> > all").
>> >> >> >> >
>> >> >> >> > To our surprise, Brian Hartgen and I have not been able to 
>> >> >> >> > implement this
>> >> >> >> > with normal JAWS scripting techniques, e.g.,
>> >> >> >> >
>> >> >> >> > Script NewTweet()
>> >> >> >> > TypeKey("Alt+T")
>> >> >> >> > EndScript
>> >> >> >> >
>> >> >> >> > where the .jkm file contains
>> >> >> >> > Control+N=NewTweet
>> >> >> >> >
>> >> >> >> > This is why Brian has been trying to use the key pressed event, 
>> >> >> >> > with
>> >> >> >> > unsatisfactory results so far.
>> >> >> >> >
>> >> >> >> > I asked Jeff Bishop if he could implement similar functionality 
>> >> >> >> > with
>> >> >> >> > Window-Eyes scripting, and he has done so in a script package 
>> >> >> >> > available at
>> >> >> >> >
>> >> >> >> > http://www.gwmicro.com/Script_Central/Scripts/Script_Details/?scriptid=1244
>> >> >> >> >
>> >> >> >> > Can anyone help us get this working with JAWS?  Although the main
>> >> >> >> > executable is McTwit.exe, Insert+Q reports that a GUI-related DLL 
>> >> >> >> > is
>> >> >> >> > active when McTwit is the active window.  Still, JAWS should be 
>> >> >> >> > able to
>> >> >> >> > script such an application, as it does for others with DLLs that 
>> >> >> >> > assist
>> >> >> >> > the primary executable.  I don't know if this might be a problem, 
>> >> >> >> > but the
>> >> >> >> > DLL has a Python related suffix, rather than the traditional 
>> >> >> >> > .dll.  The
>> >> >> >> > AutoStart event does trigger whenever McTwit is the active 
>> >> >> >> > window, but
>> >> >> >> > scripts are not recognized.
>> >> >> >> >
>> >> >> >> > Suggestions, anyone?
>> >> >> >> >
>> >> >> >> > Jamal
>> >> >> >> >
>> >> >> >> > __________
>> >> >> >> > Visit and contribute to The JAWS Script Repository 
>> >> >> >> > http://jawsscripts.com
>> >> >> >> >
>> >> >> >> > View the list's information and change your settings at
>> >> >> >> > //www.freelists.org/list/jawsscripts
>> >> >> >> >
>> >> >> >>
>> >> >> >> __________ 
>> >> >> >> Visit and contribute to The JAWS Script Repository 
>> >> >> >> http://jawsscripts.com
>> >> >> >>
>> >> >> >> View the list's information and change your settings at
>> >> >> >> //www.freelists.org/list/jawsscripts
>> >> >> >>
>> >> >> >__________ 
>> >> >> >Visit and contribute to The JAWS Script Repository 
>> >> >> >http://jawsscripts.com
>> >> >> >
>> >> >> >View the list's information and change your settings at
>> >> >> >//www.freelists.org/list/jawsscripts
>> >> >>
>> >> >> __________ 
>> >> >> Visit and contribute to The JAWS Script Repository 
>> >> >> http://jawsscripts.com
>> >> >>
>> >> >> View the list's information and change your settings at
>> >> >> //www.freelists.org/list/jawsscripts
>> >> >>
>> >> >__________ 
>> >> >Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>> >> >
>> >> >View the list's information and change your settings at
>> >> >//www.freelists.org/list/jawsscripts
>> >>
>> >> __________ 
>> >> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>> >>
>> >> View the list's information and change your settings at
>> >> //www.freelists.org/list/jawsscripts
>> >>
>> >__________ 
>> >Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>> >
>> >View the list's information and change your settings at
>> >//www.freelists.org/list/jawsscripts
>>
>> __________ 
>> Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>>
>> View the list's information and change your settings at
>> //www.freelists.org/list/jawsscripts
>>
>__________ 
>Visit and contribute to The JAWS Script Repository http://jawsscripts.com
>
>View the list's information and change your settings at 
>//www.freelists.org/list/jawsscripts

__________ 
Visit and contribute to The JAWS Script Repository http://jawsscripts.com

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: