In this article I shall try to explain what the switch driver does and the differences between those available.
You need to have an idea of the three types of switch interface currently available.
Some software, such as Clicker and The Grid, natively support switch access. You tell the program what sort of switch interface you use and what switch accessibility options you prefer and that's it - the program understands and monitors your the switches.
Other software, such as PowerPoint, wasn't designed with switch access in mind and consequently one needs a switch driver in order to bridge the gap between the switch and the program.
Switch drivers translate the signals from the switch interface into meaningful commands such as a keyboard key or something more complex like 'scan forward one cell' or 'click left mouse button'. Switch drivers only work for Serial and Games-Emulating switch interfaces. They do not work, and are not needed, with keyboard-emulating interfaces as these send keypresses directly to the computer.
Many early switch activity programs used SPACE and ENTER to step through teh activity. A switch driver would need to assign one switch to SPACE and, in available, another switch to ENTER.
Rather annoyingly nobody agreed any standards on this so while some programs expect to receive SPACE and ENTER, other programs may expect to receive ONE and TWO or even UP and LEFT on the arrow keys.
In the past you would have to inform your switch driver these key assignments every time you ran a different switch activity. Although it was a relatively straightforward process you would have to know each target keypress for every program you were using. This was ok for technicians and 'those in the know' but it was mostly classroom assistants setting things up for pupils and it did cause many problems.
Things changed suddenly when we saw the introduction of automatic switch assignments. One can now launch the switch driver when Windows first starts and it sits in the corner monitoring thrograms that you run. When it sees a program that it recognises it automatically configures the switce ph assignments to suit that program.
As mentioned earlier some software has native support for switches and doesn't use a switch driver at all. The recent Clicker 5 is an example of this but rather controversially only supports joystick-emulating USB switch interfaces. This means that the older serial interfaces and the popular keyboard-emulating switch inputs won't (currently) work with Clicker 5.
There is an article on Crick Software's website which explains their reasoning for not supporting other types of switch box. At the time of writing their article seems to suggest that only their own Crick Switch Interface will work with Clicker 5, although any joystick-emulating switch interface should work (such as Sensory Software 's JoyCable).
To my knowledge there are two mainstream switch drivers currently available:
Sensory Software's Switch Driver is free and supports serial switch interfaces as well as any joystick-emulating USB interface such as their own JoyCable and Crick's USB Switch Interface. It is freely downloadable from Sensory Software's website.
Crick Software's USB Keys (version 2) is bundled in with their the Crick USB Switch Interface. It is also freely downloadable from their SwitchIndex website but will only work with the Crick USB Switch Interface, and you have to agree that you will only use it for this purpose when you download it.
Both of the above do essentially the same thing: they map switch inputs to other functions. However as there are critical differences between the two here is a table outlining some of the features:
Sensory Software Switch Driver
USB Keys 2
|Interfaces Supported||All Serial and joystick-emulating USB interfaces including the JoyCable, JoyBox and Crick's USB Switch Interface. Also you can use mainstreams games joysticks themselves as switch inputs.||Only supports Crick USB Switch Interface|
|Ease of use||Harder (see note)||Easier (see note)|
|Max number of switches||12||4|
|Key Mappings||All possible keyboard combinations including numbers 0-9, all letters, all modifier and function keys and all combinations (except Windows key).||All possible keyboard combinations including numbers 0-9, all letters, all modifier and function keys and all combinations.|
|Mouse Mappings||Left-click, left-double click, left-drag, middle-click, right-click||
Left-click, left-double click, left-drag, right-click, right-double click, right drag.
|Other Mappings||Pointer / Text cursor movement. This can only be accomplished with a switch interface that is made for this purpose, such as Sensory Software's JoyBox||Can launch applications from a switch.|
|Switch Accessibility Options||
To avoid accidental presses you can adjust the software to ignore short presses (5 settings) and repeat presses (5 settings).
'Also a repeat whilst held option'
You can also directly adjust key repeat rate and pointer movement speed
|None (must be set in client application)|
|Auto Switch Assignment: Number of programs in database||28||138|
|Automatically updates database from Internet||No||Yes|
|Can create your own assignments||Yes||Yes|
Notes on the above table
This is a difficult thing to quantify but it's an important factor so I wanted to make sure that it was up there on the table with everything else. There is no doubt in my mind that Crick's software is easier to use and this is for two reasons. The first is that software is simpler and laid out in a more sensible and intuitive fashion. The second is the extensive list of supported software in its auto-assignment list and that this can be set to automatically update from the Internet. Don't let this discourage you from trying Sensory's Switch Driver - especially as it's a free download - but you might need some help to get started with it.
USB Keys 2 lays out its switch assignment mappings by application rather than by keypress. This seems more suitable for most end-users and although I find that the method Sensory's Driver uses is quicker it is not as obvious.
This depends on the switch interface used. The Crick USB Switch Interface only supports 4 switches whereas the JoyBox supports eight plus four for mouse pointer or text cursor movement.
Both products will let you press a key, or key combination, on the keyboard to assign it but Sensory Software's Switch Driver also lets you select a key or modifier key from a list.
You can only move the pointer of the mouse using switches if you use Sensory's Switch Driver and a switch interface box with this support (such as the JoyBox) or a USB gamepad/joystick.
Sensory's Driver lets you set up a list of 'switch users' and fine-tune a profile for each one depending on how they handle their switch. This is easier than with the USB Keys where you would have to set these preferences in each individual switch-accessible program (if possible).
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 2.5 License.