If you read my previous post on speech interfaces, you know I am a fan of the Word Ribbon (or Fluent) interface but also gripe about the compromises made in the design. My biggest gripe is when working with elements whose menus are contextual. Take tables as an example. If the Home tab is visible and I want to add a new row above the current row, I have to find and click the Layout tab, and then click "Insert row above".
Doesn't seem like a big deal, but as soon as you click off the table, the Layout tab disappears. Click back on the table, and if you want to insert another row, you have to click the Layout tab again. The Ribbon interface is jumping around and doesn't understand my mind's context.
To improve my Word efficiency and reduce clicking, my goal was to be able to say "Insert row above" any time I wanted. At first I used existing Word keyboard shortcuts, and when none existed, I created Word macros and assigned them keystrokes, all of which I called from Windows Speech Macros. However, I soon realized that I would have to replicate these macros on all the computers I use regularly (2 desktops at work, 1 laptop, 2 laptops I borrow from the kids when my laptop is at work). I sought a better way to maintain it all. Did Word have standard keyboard combos for every command?
It turns out, every program does. You press the Alt key and get access to menus. Duh. I had completely forgotten about such a basic feature. In Microsoft Office programs that use the Ribbon, pressing Alt reveals a keyboard combination for everything in the Ribbon. Sometimes 2 keys must be pressed in a row.
For example, to make something bold, you can press Alt-H, 1. (I know you can press Ctrl-B, but it's an example.) To apply strikethrough, whose keyboard shortcut I can never remember (if there is one), you can press Alt-H, 4.
Getting back to the table example, assuming a table already exists and the cursor is blinking inside one of the cells, you can press Alt-J, L, A. (When you first hold down Alt, the Table Tools context menu set shows "JT" and "JL" - you only have to press Alt-J to begin the sequence.)
Converting these to Windows speech macros, you can create a speech macro called "apply strikethough":
<command priority="100">
<listenFor>apply strikethrough</listenFor>
<sendKeys>{ALT}H4</sendKeys>
</command>
Coding shortcuts for the commands I use most often (insert row, insert column, delete row, table properties, show/hide gridlines, select table/row/column, etc.), I really fly when using Word. It makes it almost pleasant.
Here is a list of all the Word Fluent shortcuts I use in a basic Windows speech macro format. Note that many will work in Powerpoint, Excel and others; most shortcuts are similar but not always exactly the same. Since your approach may differ, if you have a question on how to code it for you setup, send me an email.
Table commands
<command priority="100">
<listenFor>insert row above</listenFor>
<sendKeys>{ALT}jla</sendKeys>
</command>
<command priority="100">
<listenFor>insert row below</listenFor>
<sendKeys>{ALT}jle</sendKeys>
</command>
<command priority="100">
<listenFor>insert column before</listenFor>
<sendKeys>{ALT}jll</sendKeys>
</command>
<command priority="100">
<listenFor>insert column after</listenFor>
<sendKeys>{ALT}jlr</sendKeys>
</command>
<command priority="100">
<listenFor>merge cells</listenFor>
<sendKeys>{ALT}jlm</sendKeys>
</command>
<command priority="100">
<listenFor>split table</listenFor>
<sendKeys>{ALT}jlq</sendKeys>
</command>
<command priority="100">
<listenFor>delte row</listenFor>
<listenFor>delte rows</listenFor>
<sendKeys>{ALT}jdr</sendKeys>
</command>
<command priority="100">
<listenFor>delete column</listenFor>
<listenFor>delete columns</listenFor>
<sendKeys>{ALT}jdc</sendKeys>
</command>
<command priority="100">
<listenFor>?show table properties</listenFor>
<sendKeys>{ALT}jdo</sendKeys>
</command>
<command priority="100">
<listenFor>?show ?hide table gridlines</listenFor>
<sendKeys>{ALT}jltg</sendKeys>
</command>
Track Changes
<command priority="100">
<listenFor>next change</listenFor>
<sendKeys>{ALT}rh</sendKeys>
</command>
<command priority="100">
<listenFor>accept change</listenFor>
<sendKeys>{ALT}rac</sendKeys>
</command>
Zooming
<command priority="100">
<listenFor>zoom ?to whole page</listenFor>
<sendKeys>{ALT}w1</sendKeys>
</command>
<command priority="100">
<listenFor>zoom ?to page width</listenFor>
<sendKeys>{ALT}wi</sendKeys>
</command>
As always feel free to give me a shout if you have questions or new ideas. If I can't help someone out there can.