[jawsscripts] Re: scripting noobie (again)

  • From: Alex Hall <mehgcap@xxxxxxxxx>
  • To: jawsscripts@xxxxxxxxxxxxx
  • Date: Sun, 4 Jul 2010 16:01:52 -0400

I do not mean to just pass it through. I want jaws to see that it was
pressed, but not speak it. For example, maybe I want to silence the
universal alt+tab keystroke you use to move from open app to open app
in Windows. Putting aside the possible location of the script, the
idea is that you press alt+tab and just hear the name of the newly
open window, NOT "alt tab". It seems that passing sayMessage an empty
string will do this, but I wondered if there was a better way.
You are right that pausing will not work. The problem is not so much
that it is a fast-paced game, but that it is impossible to know how
long the message will take to be spoken since everyone's speaking rate
is different. Is there a flag that would force the message to be
spoken fully before any other messages come in?

On 7/4/10, Jackie McBride <abletec@xxxxxxxxx> wrote:
> Alex, if u don't want jaws to do anything w/it, just delete it. No
> sense havin a script that's just gonna pass a keystroke to the app.
>
> U could have a delay(2) or something like that following the pause,
> but, in a game like that, I'd think time is of the essence, & delays
> would be unwanted.
>
> On 7/4/10, Alex Hall <mehgcap@xxxxxxxxx> wrote:
>> Pause makes some of it spoken. I think I will just settle for
>> silencing the keystroke, for this program at least. Is there a more
>> eloquent way of doing that than just passing sayMessage an empty
>> string or a space? That is, use the same script I already have, but
>> just tell jaws to not speak that keystroke?
>>
>> On 7/4/10, Jackie McBride <abletec@xxxxxxxxx> wrote:
>>> Alex, in a case like this, the message likely needs to be spoken *b4*
>>> the keystroke is passed to the app. It may also help to insert a
>>> pause() statement, after the message but prior to passing the
>>> keystroke along.
>>>
>>> Sorry about the error earlier. This is what I get for relying on aging
>>> ram. I'll check out the game. Maybe I'll like it. Could always use
>>> another game to play.
>>>
>>> On 7/4/10, Alex Hall <mehgcap@xxxxxxxxx> wrote:
>>>> A game from
>>>> http://www.gmagames.com
>>>> called Time of Conflict. It uses a good deal of keyboard keys to move
>>>> units, create units, and so on, and I figured I would put together a
>>>> script for jaws users that provides a more helpful message for these
>>>> hotkeys. For example, if you are on one of your units and press
>>>> control plus i, you move that unit north one cell, so my first script
>>>> should say "unit north one cell". The unit moves, but the message is
>>>> not spoken. Instead, the next message from the game is spoken, in this
>>>> case telling me that a new turn has started. My next program is a
>>>> media player called Mapler from
>>>> http://www.mar-dy.com
>>>> but that one will be after I get this one done.
>>>>
>>>> On 7/4/10, Jackie McBride <abletec@xxxxxxxxx> wrote:
>>>>> What program r u scripting, Alex?
>>>>>
>>>>> On 7/4/10, Alex Hall <mehgcap@xxxxxxxxx> wrote:
>>>>>> There, it worked. As a note, at least in jaws11, it seems to have to
>>>>>> be TypeCurrentScriptKey, without the "name" at the end. Now my message
>>>>>> is not being spoken at all, but I suspect that this is the program I
>>>>>> am scripting for. It interfaces directly with jaws as well, so I
>>>>>> figure my message is being pushed aside by a message from the program.
>>>>>> Not sure how to solve this one, but at least the keystroke is not
>>>>>> being spoken anymore, and I can apply this to another program which
>>>>>> will be better because it does not speak through jaws at an api level
>>>>>> like this program does.
>>>>>>
>>>>>> On 7/4/10, Jackie McBride <abletec@xxxxxxxxx> wrote:
>>>>>>> No, Alex, it's Jaws. If a script is present, Jaws uses that keystroke
>>>>>>> for itself unless the script instructs it to pass the keystroke to
>>>>>>> the
>>>>>>> app. Try typing in TypeCurrentScriptKeyName() follwoing or preceding
>>>>>>> the message being spoken & see if that doesn't solve your problem,
>>>>>>> ok?
>>>>>>>
>>>>>>> On 7/4/10, Alex Hall <mehgcap@xxxxxxxxx> wrote:
>>>>>>>> Thanks!! My message is spoken. Oddly, though, the keystroke now does
>>>>>>>> nothing in the program, as though jaws is eating it instead of
>>>>>>>> catching it and passing it along. Is this the ot_No_DISABLE flag, or
>>>>>>>> something specific in the program? That is, is it my script, or the
>>>>>>>> program itself?
>>>>>>>>
>>>>>>>> On 7/4/10, Jackie McBride <abletec@xxxxxxxxx> wrote:
>>>>>>>>> Alex, this is quite straightforward. Firstly, from the application
>>>>>>>>> for
>>>>>>>>> which u desire the keystroke to work, press insert 0 to open script
>>>>>>>>> manager.
>>>>>>>>>
>>>>>>>>> Next, type in the following lines:
>>>>>>>>> include "hjconst.jsh"
>>>>>>>>> include "hjglobal.jsh"
>>>>>>>>>
>>>>>>>>> Now, press control e to bring up the new script dialog. Name your
>>>>>>>>> script, check the 'can be attached to keystroke' box, write in a
>>>>>>>>> synopsis & description, choose a category if desired, assign your
>>>>>>>>> keystroke, & activate the ok button.
>>>>>>>>>
>>>>>>>>> U didn't say which key to assign, so, I'll take insert dash as an
>>>>>>>>> example. There are several ways this can be done.
>>>>>>>>>
>>>>>>>>> The code looks like:
>>>>>>>>> const
>>>>>>>>> SALEXMSG = "Sock it to me baby, let it all hang out."
>>>>>>>>>
>>>>>>>>> script SpeakAlexMessage()
>>>>>>>>> ; insert dash
>>>>>>>>> sayMessage(ot_NO_DISABLE, SALEXMSG)
>>>>>>>>> endScript
>>>>>>>>>
>>>>>>>>> the insert dash is simply a comment telling the key assignment.
>>>>>>>>> Press
>>>>>>>>> ctrl s & compile. Your key should now work just fine.
>>>>>>>>>
>>>>>>>>> Another way to do this is to put the constant in a .jsh or .jsm
>>>>>>>>> file
>>>>>>>>> &
>>>>>>>>> include it in the script, as so:
>>>>>>>>> include "hjconst.jsh"
>>>>>>>>> include "hjglobal.jsh"
>>>>>>>>> include "alex.jsh"
>>>>>>>>>
>>>>>>>>> Then the .jsh file would contain the definition of SALEXMSG as
>>>>>>>>> above
>>>>>>>>> &
>>>>>>>>> the script can use it to speak the message just as I illustrated.
>>>>>>>>>
>>>>>>>>> Including a message file is a bit different. One usually does this
>>>>>>>>> if
>>>>>>>>> there are many messages, &/or the messages need to be formatted.
>>>>>>>>>
>>>>>>>>> It looks like:
>>>>>>>>>
>>>>>>>>> messages
>>>>>>>>> @MSGAlexMSG
>>>>>>>>> Sock it to me baby, let it all hang out.
>>>>>>>>> @@
>>>>>>>>> EndMessages
>>>>>>>>>
>>>>>>>>> The file begins w/messages & ends w/endMessages. Each message
>>>>>>>>> begins
>>>>>>>>> w/an @ sign, followed by the message name. Press enter, type your
>>>>>>>>> message, including line feeds, etc., & when done, put 2 @ signs to
>>>>>>>>> end
>>>>>>>>> it.
>>>>>>>>>
>>>>>>>>> On 7/4/10, Alex Hall <mehgcap@xxxxxxxxx> wrote:
>>>>>>>>>> Hello all,
>>>>>>>>>> I was on here several months ago, trying to figure out how to
>>>>>>>>>> write
>>>>>>>>>> a
>>>>>>>>>> basic script for jaws that would speak a hard-coded message when a
>>>>>>>>>> key
>>>>>>>>>> was pressed instead of speaking the keystroke itself. I am again
>>>>>>>>>> trying to solve this problem, but I cannot locate any responses I
>>>>>>>>>> received last time around. I am a long-time jaws user, and am
>>>>>>>>>> comfortable in Python and Java, but the Jaws scripting language
>>>>>>>>>> seems
>>>>>>>>>> somewhat clunky and not as smooth or straightforward, though that
>>>>>>>>>> is
>>>>>>>>>> from an self-proclaimed scripting newb.
>>>>>>>>>> Is there a simple way of doing this? That is, catch a keystroke,
>>>>>>>>>> and
>>>>>>>>>> speak a message in place of speaking the keys pressed. I apologize
>>>>>>>>>> that I am asking again, but I now have more time than I had
>>>>>>>>>> before.
>>>>>>>>>> I
>>>>>>>>>> wish I could locate the emails I had from my last try, but I am
>>>>>>>>>> not
>>>>>>>>>> sure where they would be.
>>>>>>>>>> I have read through the scripts to Jamal Mazrui's Edsharp program,
>>>>>>>>>> but
>>>>>>>>>> I could not find where he set things up to speak custom messages.
>>>>>>>>>> For
>>>>>>>>>> example, in that program with the scripts installed, jaws will say
>>>>>>>>>> "save" when control-s is pressed, and not "control s" at all.
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Have a great day,
>>>>>>>>>> Alex (msg sent from GMail website)
>>>>>>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>>>>>>>> __________�
>>>>>>>>>>
>>>>>>>>>> View the list's information and change your settings at
>>>>>>>>>> http://www.freelists.org/list/jawsscripts
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Change the world--1 deed at a time
>>>>>>>>> Jackie McBride
>>>>>>>>> Scripting Classes: http://jawsscripting.lonsdalemedia.org
>>>>>>>>> homePage: www.abletec.serverheaven.net
>>>>>>>>> For technophobes: www.technophoeb.com
>>>>>>>>> __________�
>>>>>>>>>
>>>>>>>>> View the list's information and change your settings at
>>>>>>>>> http://www.freelists.org/list/jawsscripts
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Have a great day,
>>>>>>>> Alex (msg sent from GMail website)
>>>>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>>>>>> __________�
>>>>>>>>
>>>>>>>> View the list's information and change your settings at
>>>>>>>> http://www.freelists.org/list/jawsscripts
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Change the world--1 deed at a time
>>>>>>> Jackie McBride
>>>>>>> Scripting Classes: http://jawsscripting.lonsdalemedia.org
>>>>>>> homePage: www.abletec.serverheaven.net
>>>>>>> For technophobes: www.technophoeb.com
>>>>>>> __________�
>>>>>>>
>>>>>>> View the list's information and change your settings at
>>>>>>> http://www.freelists.org/list/jawsscripts
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Have a great day,
>>>>>> Alex (msg sent from GMail website)
>>>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>>>> __________�
>>>>>>
>>>>>> View the list's information and change your settings at
>>>>>> http://www.freelists.org/list/jawsscripts
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Change the world--1 deed at a time
>>>>> Jackie McBride
>>>>> Scripting Classes: http://jawsscripting.lonsdalemedia.org
>>>>> homePage: www.abletec.serverheaven.net
>>>>> For technophobes: www.technophoeb.com
>>>>> __________�
>>>>>
>>>>> View the list's information and change your settings at
>>>>> http://www.freelists.org/list/jawsscripts
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Have a great day,
>>>> Alex (msg sent from GMail website)
>>>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>>>> __________�
>>>>
>>>> View the list's information and change your settings at
>>>> http://www.freelists.org/list/jawsscripts
>>>>
>>>>
>>>
>>>
>>> --
>>> Change the world--1 deed at a time
>>> Jackie McBride
>>> Scripting Classes: http://jawsscripting.lonsdalemedia.org
>>> homePage: www.abletec.serverheaven.net
>>> For technophobes: www.technophoeb.com
>>> __________�
>>>
>>> View the list's information and change your settings at
>>> http://www.freelists.org/list/jawsscripts
>>>
>>>
>>
>>
>> --
>> Have a great day,
>> Alex (msg sent from GMail website)
>> mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
>> __________�
>>
>> View the list's information and change your settings at
>> http://www.freelists.org/list/jawsscripts
>>
>>
>
>
> --
> Change the world--1 deed at a time
> Jackie McBride
> Scripting Classes: http://jawsscripting.lonsdalemedia.org
> homePage: www.abletec.serverheaven.net
> For technophobes: www.technophoeb.com
> __________�
>
> View the list's information and change your settings at
> http://www.freelists.org/list/jawsscripts
>
>


-- 
Have a great day,
Alex (msg sent from GMail website)
mehgcap@xxxxxxxxx; http://www.facebook.com/mehgcap
__________�

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

Other related posts: