Hand to Mouth: Assistive Technology

Entries tagged as ‘macros’

How to get “smart punctuation” with word prediction/completion

October 11, 2009 · 2 Comments

This AutoHotkey script is a way to make punctuating more efficient when using word prediction or completion with automatic spacing enabled. Using this script, you don’t have to backspace in order to punctuate after predicting a word. When you press the punctuation, the script will backspace for you, insert the mark, then space. That’s the first part. The second part accounts for times you may type an unknown word or otherwise not choose a prediction, so there would be no trailing space. This part specifies that if a letter appears before the punctuation, the script will only insert the mark, then space. I left the quotation mark alone because of the different inside/outside punctuation rules. OpusApp restricts it to Word.

#IfWinActive ahk_class OpusApp

#Hotstring *
::.::
Send, {bs}. `
return

::,::
Send, {bs}, `
return

::?::
Send, {bs}? `
return

::!::
Send, {bs}{!} `
return

::)::
Send, {bs})
return

#Hotstring ? *
::.::
Send, . `
return

::,::
Send, , `
return

::?::
Send, ? `
return

::!::
Send, {!} `
return

Categories: Disability · Technology
Tagged: , , , , , ,

Vocola commands for Firefox

February 3, 2009 · Leave a Comment

This list is very much a work in progress — Firefox works surprisingly well vocally if you have mouseless browsing installed, and your toolbars are customized the right way. The “click link” command allows you to go without mouseless browsing if you want to, though — for the most part. You can speak any part of the link as long as it’s a pronounceable word. I haven’t figured out the whole text field or button/checkbox thing, except to get the mouse coordinates or count tab keys.

UPDATE: I’ve pared this down to the essentials, to be updated as I find things.

# Voice commands for firefox

Middle click = ButtonClick(4,1);
Enable select say = SetNaturalText(1);
[Click] Link <_anything> = “‘” $1 {Enter};
Organize bookmarks = {Ctrl+Shift+b};
Clear private data = {Ctrl+Shift+Del};
options menu = {Alt+t} Wait(400) {Up} {Enter};

#mouseless browsing

0..9 0..9 0..9 = {NumKey$1}{NumKey$2}{NumKey$3};

0..9 0..9 = {NumKey$1}{NumKey$2};

0..9 = {NumKey$1};

Open 1..1000 new tab = $1{+}{Ctrl+Enter};

(Disable | enable) mouseless browsing = {Alt+NumKey.};

#autoscrolling (bookmarklet)

Stop scrolling = {Esc};

Scroll faster = {Ctrl+Shift+NumKey+};

Scroll slower = {Ctrl+Shift+NumKey-};

Categories: Disability · Technology
Tagged: , , , , , ,

Vocola commands for Jarte Plus

February 2, 2009 · Leave a Comment

So far, here are my Vocola commands for Jarte Plus. You need to have the find bar showing for the find-and-format commands. If you want to search backwards, you’ll need to click the backwards arrow on the find bar. (By default, Jarte searches from the top down.) I do that before I even begin dictating, and for the rest of my session I can format anything I’ve missed a few paragraphs ago. After you fix something backwards, you’ll be returned to the bottom of your document where you left off. I couldn’t use “italicize” or “bold” or “underline” by themselves, because Dragon interpreted that as its own Microsoft Word command, which registers in Jarte but does not execute. Also, you need to have the status bar showing if you want to use the “go to page” command.

Also, please note that the keystrokes Dragon sends for many of these commands are based on the shortcuts found using the “use alternate main menu” setting under Options, using the Minimal interface.
# Voice commands for jarte

# Document control
Blank document = {Ctrl+n};
Open doc = {Ctrl+o};
Save doc = {Ctrl+s};
Save as = {Ctrl+Shift+s};
Close tab = {Ctrl+w};
Next tab = {Ctrl+Tab};
Previous tab = {Ctrl+Shift+Tab};
Close all = {Shift+Ctrl+F4};
Close delete = {Alt+f}{e};
Print doc = {Ctrl+p};
Quick print = {Shift+Ctrl+p};
(Close | open) find bar = {Ctrl+f};
(Show | hide) status bar = {Alt+v}s;
Backwards arrow = SetMousePosition(1, 230, 61) ButtonClick();
Forward arrow = SetMousePosition(1, 289, 58) ButtonClick();

# Text and page formatting
Italic <_anything> = {Ctrl+f} $1 {Enter} {Ctrl+i} {Ctrl+End};
Bold word <_anything> = {Ctrl+f} $1 {Enter} {Ctrl+b}{Ctrl+End};
Underline word <_anything> = {Ctrl+f} $1 {Enter} {Ctrl+u}{Ctrl+End};
Scratch <_anything> = {Ctrl+f} $1 {Enter} {Backspace}{Ctrl+End};
Double Space = {Alt+p}{l}{2} {Enter};
Copy doc = {Ctrl+a} {Ctrl+c};
Backspace all = {Ctrl+a} {Backspace};
Copy = {Ctrl+c};
Paste = {Ctrl+v};
Italics (on | off) = {Ctrl+i};
Bold (on | off) = {Ctrl+b};
Underline (on | off) = {Ctrl+u};
Increase font size = {Ctrl+Shift+Up};
Decrease font size = {Ctrl+Shift+Down};
Page break = {Ctrl+Enter};
Center = {Ctrl+Shift+c};
Align left = {Ctrl+Shift+l};
Align right = {Ctrl+Shift+r};
Set font (Verdana | Times New Roman) = {Alt+n}c WaitForWindow(“Font”) $1 {Enter};
Font size 6..72 = {Alt+n}c WaitForWindow(“Font”) {Alt+s} $1 {Enter};
Go to page 1..20 = SetMousePosition(1, 260, 702) ButtonClick() {Backspace} $1 {Enter};

Categories: Disability · Technology
Tagged: , , , , ,

Vocola and Dragon = instant compatibility

February 2, 2009 · 5 Comments

Edited for clarity. Okay, I’m officially never griping about Dragon incompatibilities again. (Unless in the case of some rare glitch.) The other night I downloaded the files that eventually make up Vocola, which is a free scripting program designed to add almost any natural language command you want to Dragon NaturallySpeaking. While it would be nice if Nuance would build in more commands that seem very basic to me, such as control clicking and middle clicking, not to mention fully supporting Firefox without the bugs, Vocola combined with Dragon has immensely improved my ability to navigate my computer by voice, and essentially every program I have installed is now vocally accessible.

There are multiple files to install, the instructions for which can be found here. The latest version is 2.6, but I may have downloaded 2.5 because when I tried to download 2.6 I got an error message. 2.5 works absolutely fine, though, even if that’s the case. There is also a basic tutorial file, which is incredibly easy to understand for the most part — even if you don’t use the examples verbatim, you can look at them and see how you’re supposed to structure your own commands. The mouse commands are somewhat more difficult to understand, because the tutorial does not provide you with what numbers stand for what clicks — I had to look them up. A middle click, for example, translates as ButtonClick(4, 1). To get my current mouse coordinates, I used AutoIt WindowSpy, which comes with AutoHotKey, which I was using for another experiment. I think there is also a Vocola command for that, however.

For the most part, though, almost everything can be done by creating keystroke commands, which are the easiest kind. The basic syntax, minus the square brackets, is [what you say] = {[modifier key]+ [key]};. The keystroke command can have multiple keystrokes.

Another useful command is AppBringUp, which does exactly what it sounds like — runs an application or file from its specified path. You might have to do a search in order to find the file’s location. Once you have, go to the address bar of Windows Explorer and copy what’s there, then paste it into your command. The file extension is usually .exe, though it can also be .lnk or another. There is a list of common Windows filenames here.

I don’t want to make this post overly long, but I do want to give you some of my commands in case they’d be of use to you — save you some dictation. So, in my next several posts, I’ll post commands for Jarte Plus, Windows Media Player, and others. (NOTE: Vocola CANNOT create commands for OpenOffice as is, at least not for the portable version, which is the only one that I have now. However, you may be able to download a Python extension for that; see the discussion here. I haven’t bothered. Jarte’s good enough.)

Much of the blogged info on Vocola is dated, and I think SpeechWiki is still down, but there are discussions of it almost every day at Speech Computing.

Categories: Disability · Technology
Tagged: , , , , ,