Written by Drew Weber. Released 01/12/2023. Listen to Audio demo of Shortcut and Scripts in action, below!
Notification Over Network JAWS Scripts
Written by Drew Weber.
Twitter @_IllegallyBlind
Released: 01/12/2023
Text read/write/append Functions, in this script set written by Jamal Mazruiand. (More information below).
Usage:
When we are away from the computer it may be useful to get it’s notifications over the world wide web (network) to our iOS device. This may be helpful if we are in the other room or have went out for a bit.
some of the functions found within these JAWS scripts allowing reading, writing, and appending to a text file, were written by Jamal Mazruiand. provided on the mailing list by Jamal Mazruiwith. The archive of the post may be found at
https://www.freelists.org/post/jawsscripts/writing-strings-to-text-file-using-jaws-scripting-techniques,1
, & are in his “homer utilities” file, the link provided by this post no longer valid.
http://grabbag.alacorncomputer.com/jawsscripting.html
Examples of use case sanarios:
What if we don’t have an unlimmited data plan connection on our IPhone so we don’t use all the apps in the world, that we may at home on our PC but we’d still like to know what is going on with them?
What if we have apps/servers on our computer that regularly give us notifications, that iOS applications don’t yet exist for.
Difference between JAWS Tandom, NVDA remote and Notification Over Network JAWS scripts:
If we are using some type of remote client, it must first exist on the iOS platform. Secondly, we may have to drive to different apps to get all of the notifications which is more work. With Notification Over Network JAWS Scripts you get all of your notifications quickly in one spot.
How does it work:
Notification Over Network uses both JAWS scripting, plus an iOS Shortcut and Dropbox to work it’s magic.
The JAWS Scripting monitors for the need to copy JAWS speech history, notifications from the computer. You hit a keystroke to turn this monitoring on before you walk away, a keystroke to turn this off when you come back.
The iOS shortcut includes the switch, (variable) to start the notification copy to a text file which lives inside your dropbox. This switch is switch on by demand, autoswitch off. What this means is that you will not automatically write up a huge text file over time. This is also for your security so as to not have everything that your computer speaks live in your dropbox. Also for your security we are not using a public file share link to get to the tex tfile which includes JAWS speech history information. Dropbox is connected to your shortcuts app on your iOS device. Finally, for your security, JAWS will act a bit sluggish when monitoring is enabled. So as if this script is at all used for malice the end user will most likely quit and relaunch JAWS which will, as these scripts are written not autoenable.
Things you will need:
JAWS running on a Windows PC.
A Dropbox account.
Dropbox instaled and running on the PC.
The folder
JAWSSpeechHistory
inside the main or root directory of your dropbox.
an iOS device.
The shortcuts app instaled on the iOS device with Dropbox privileges setup. If you don’t already have Dropbox enabled this will most likely pop up when you first run the Notification Over Network shortcut found below.
After instalation, to launch Notification Over Network monitoring, press control+shift+alt+n, once. To stop the monitoring press it, twice quickly. A lot of us will be familior of launching the NVDA screenreader with control+alt+N, so, you are just adding shift into that keystroke.
Instalation:
Create the folder
JAWSSpeechHistory
inside the main, or root folder of your Dropbox on your computer.
Open the,
CopyToDefaultJSS.txt
file included in this zip archive, within notepad.
You will need to edit the dropbox path so that it matches your username on your computer.
This path lives in multiple lines of code within the scripts. If you are running Windows10, or earlier, you may most likely use the find in Notepad, control+f to search for
YourUserName, within the CopyToDefaultJSS.txt. You may use control+left or right arrow to move through the path easily, and control+shift+right arrow to select the YourUserName peace of the path and then hit your delete key. Type the corisponding username peace of your dropbox path. To find your username,
hit windows+r to bring up the run dialogue
type,
c:\
hit enter
hit the letter, u, until you come to users.
hit enter
now see if your name is listed in this directory. If it is, make sure it’s selected, hit enter
Hit d until you come to dropbox. If you find the dropbox folder here, hit backspace
now, find your name again.
Hit f2 to open the rename edit dialogue.
Hit control+a
hit control+c
hit escape so as to not accidentally atempt to rename this folder.
bring up an empty notepad and control+v to paste.
Now you have the peace you need for the path in the scripts.
If you are running Windows11, Notepad seams to be screwed up in multiple places, one of those being the control+f to find. You can’t close the dialogue box to get back to your text file. In Windows11 users case: I will place the lines of code below so you know what you are looking for. Again home, then, control+right arrow on the line will assist you in finding the path. You will notice, two, backslashes. This is nessasary within paths in JAWS scripting. Please don’t remove the extra backslash that looks foregn.
Open the CopyToDefaultJSS.txt file beside this readme file.
alt+tab until you get to it, then, alt+tab until you get back here to the ReadMe. Now, you should only have to alt+tab one time to get back and forth between files.
In the CopyToDefaultJSS.txt hit control+home then alt+tab back to ReadMe.
Now, if you are performing the steps, but using say all for any reason, hit control to stop speech here and use down arrow instead.hit down arrow to start reviewing the code in the readme, then switch back to CopyToDefaultJSS.txt to find your place and start motifying.
YourUserName, is what you will delete and replace within CopyToDefaultJSS.txt. You may use control+left or right arrow to move through the path easily, and control+shift+right arrow to select the YourUserName peace of the path and then hit your delete key. Type the corisponding username peace of your dropbox path.
Code to motify is below:
DeleteFile (“c:\users\YourUserName\Dropbox\JAWSSpeechHistory\Notify.txt”)
let notify = ReadStringFromFile (“c:\users\YourUserName\Dropbox\JAWSSpeechHistory\Notify.txt”)
DeleteFile (“c:\users\YourUserName\dropbox\JAWSSpeechHistory\sh.txt”)
WriteFileFromString (“Speech History \n”, “c:\users\YourUserName\dropbox\JAWSSpeechHistory\sh.txt”)
AppendStringToFile (history, “c:\users\YourUserName\dropbox\JAWSSpeechHistory\sh.txt”)
DeleteFile (“c:\users\YourUserName\Dropbox\JAWSSpeechHistory\Notify.txt”)
Move to your modified
CopyToDefaultJSS.txt
Hit Control+a to select all.
Hit Control+C to copy to clipboard.
Hit Insert+0, to open the JAWS Script manager.
Hit Control+Shift+D to open your default.jss file. If you haven’t included any custum scripts in your default, JAWS may announce, Shared Default.jss. If you have, JAWS may announce, User Default.jss
Hit Control+end to get to the bottom of the file. Make sure you are on a blank line below
EndScript
Hit Control+V to paste the contents from the CopyToDefaultJSS.txt which you have copied to your clipboard.
Hit Control+S to save and compile. You should hear a ding, with the announcement, Compile Complete.
Now we will Copy all contents from
DefaultJKM.txt
Open the DefaultJKM.txt file
Hit Control+a to select all.
Hit Control+C to copy to clipboard.
In the JAWS Script Manager, hit Control+O to bring up the open file dialogue.
Tab to files of type and hit K, JAWS will announce, KeyMap files .jkm.
ShiftTab until you get to the listview and hit d, for Default.jkm.
Hit enter.
Hit control+F and type Common.
Hit enter, and then escape you should land on the line that reads
Common Keys.
Hit, end, then enter.
Paste the contents from the
DefaultJKM.txt
file with control+v.
Hit control+s to save. You won’t hear a ding.
The iOS Shortcut:
Visit, from your iOS device, the link
https://www.icloud.com/shortcuts/60fa0b544eb44982b06c4c4b1968e10d
The shortcuts app should pop up after a few seconds and You should see an option to “add Shortcut”. Doubletap this.
If you don’t see this option, you may need to motify your shortcut security settings.
Double tap on settings, in the search field type, Shortcuts, doubletap on the shortcuts option near the bottom
This will open your shortcuts options and allow you to toggle shortcut sharing options. Some settings seamed to have changed in recent versions of iOS. Please use Google to find exact steps if you are unable to easily enable sharing/security options for Shortcuts.
Now we are going to add the shortcut to your home screen:
Once you have the shortcut added, find, JAWS Notify Over Network, in your Shortcuts app.
Swipe down on it to get to edit shortcut, and double tap.
Now you will be in the coding of the shortcut. Close to the top of the screen, right under the time, you should see
JAWS Notify Over Network, Actions menu.
Doubletap this
Swipe to the right to the share button and doubletap
Close to the bottom of the screen should be
add to home screen, double tap this.
This will pop up a name box with other options. We already have a name so hit done/add button.
You will be taken to your home screen and should be ready to go.
Enable monitoring with control+shift+alt+N JAWS will report
JAWS Speech History Notifications Over Network, Started.
Now doubletap on the JAWS Notify Over Network shortcut.
After doubletapping on the JAWS Notify Over Network shortcut, The final landing point of this shortcut is within your Dropbox for iOS app. You want to be on the home tab, which shows your recent files. Find and doubletap on sh.txt and you should see your most recent noifications from JAWS.
Download the zip file below, for all the code mentioned above.