Olympus RS31H Hardware with Talon Voice

Olympus RS31H Foot Switch for PC

Now that I've started using the fantastic Talon Voice to relieve the stress on my hands from typing, I also wanted a foot pedal to help me. I arrived at the Olympus RS31H because of its 4 switches and its overall form factor, and I knew some other Talon users were also using this.

However I could not find much information about the device itself beforehand, particularly how it works (software etc), nor any images of the inside with the idea of perhaps modifying it to improve it.

But I have now been using it for a while and in a position to help others with these questions, should they have them. It's also a bit of a review. So, here we go.

The software

The software to program the device is rather plain. The manual mentions a link which does not work, so you need to search for it. The software doesn't need installation, it just needs to be extracted somewhere and to be run. You get the option of "Keyboard mode" or "Olympus mode", but after many hours of reverse engineering it seems the only practical difference there is which keys are being sent by default. It always acts as a HID (Human Interface Device), and the only thing you can really change is which keys are being sent.

And that is really the weak point of the device. By default it uses media playback keys such as play and pause, or next and previous track. It is easy to hit these buttons by accident, so you do not want them to have side effects on top of your intended action.

Then, if you use the numpad number keys then your numlock always needs to be on, or it will act as the cursor keys instead just like your keyboard would. Unusuable, in my opinion. Or you can use the numpad symbol keys (/, *, etc), but if you hit the switches by accident while in some text input, these symbols will then show. Really no key on any existing keyboard is a good choice for such a foot pedal, unless it is really that key that you need all the time and nothing else.

Virtual Function Keys

A better choice are virtual function keys, perhaps not that well known, but they are F13 to F35 (Talon supports all these). These keys exist only in software so they are hard to program generally (you need something like a stream deck that can send these keypresses, and that only goes up to F25). And unfortunately, binding these in the Olympus tool does not work at all on Windows. But, in the Mac OS version of the app the virtual function keys can be set and assigned, and this profile can be exported and loaded in the Windows app, and saved to the device even if the keybindings aren't showing.

F16-F19 function key template

Copy and save the XML below to a file such as Template\Template F16-F19.xml, then load the template in the tool and save it to the foot switch. Note that in the Windows tool these bindings won't show (entirely blank), but they'll still save to the device just fine. 

<?xml version="1.0" encoding="UTF-8"?>
<FTSWTool>
    <CurrentDevice>RS31H</CurrentDevice>
    <Template version="1.0.0.0"/>
    <DeviceList>
        <Device name="RS27H">
            <DefaultUsbMode>24</DefaultUsbMode>
            <Button id="0">
                <ShortCut modifierKeys="0" type="1" page="12">
                    <KeyCode>182</KeyCode>
                    <KeyCode>0</KeyCode>
                </ShortCut>
            </Button>
            <Button id="2">
                <ShortCut modifierKeys="0" type="1" page="12">
                    <KeyCode>205</KeyCode>
                    <KeyCode>0</KeyCode>
                </ShortCut>
            </Button>
            <Button id="1">
                <ShortCut modifierKeys="0" type="1" page="12"