

This article discusses how to use switch input. For help on setting up switch input see ‘Access methods: Switches’.
Despite the emergence of exciting new technologies such as eye tracking and speech recognition, a large number of people with disabilities are dependant on the use of switches for communication, both verbal and written. Using a switch in this way can be a slow and frustrating business, and much thought has gone into ways of improving the rate of input with switch systems.
The layout of the alphabet on a grid is a crucial factor for scanning speed. Depending upon the user, an alphabetic or qwerty layout may be required. For users with poor sight or no sight, layouts for audible scanning can be chosen, and for advanced users they letters can be arranged by how frequently they are used. For some examples of keyboard grid layouts, see this article.
Word completion, or prediction, is a very common way to speed up switch input. As words are typed, part of the grid is automatically populated with suggestions for the word being typed. Selecting these will save the user a large number of switch presses.
The scanning of a grid can be sped up by narrowing down the cells to be selected. Block scanning divides the grid into 4 large groups of cells, and the user selects one of these before continuing with the scan. Row-column (or column-row) scanning allow the user to select a row (or column), and then a cell within that row (or column).
If a user can operate additional switches, these can be used to access additional functions. You can also set up a ‘virtual’ second switch that operates when the user holds a switch down for a long time.
If the wrong block, row or column has been selected then the user will be trapped with a choice of cells that does not include the desired cell.
It is possible to set up a switch to operate as a cancel button, if the user can manage a second switch. If this option is not available then you can set a maximum nuber of times for the scan to loop around before it cancels itself automatically.
A frequent error is to miss a cell by failing to press the switch in time. When this happens, it is very annoying to have to watch the highlight moving further away from the cell that you wanted, or cancel the scan and start again. A second switch can be used to reverse the scan, allowing the cell to be reselected.
Some users with a gross tremor will find that no matter how ready they are to press the switch when the scan comes up, their reactions are frequently delayed, and the switch is pressed too late. It is also common for such users to find it difficult to hold down a switch until the desired cell is reached. The result is often a painfully slow automatic scan. This technique works by ensuring that only the cells close to the target are scanned slowly. When the scan starts, it moves forward at a fairly high speed, and the user tries to hit the switch again when the target cell is reached. Depending on the speed setting, the highlight will have moved two or three cells beyond the target, but the scan automatically goes into reverse at a much lower speed. The user can then choose one of the cells at a pace they can manage.
The use of a delay before the software processes a selection is another way of making a switch input more effective for people with poor motor control. This is particularly effective for people using switches by holding them down until the target is reached. One example of this is using two head switches for row/column scanning. One switch is used to advance from row to row, while the other is used to move along the row. When one of the switches is held down, the scan moves in the appropriate direction at predetermined rate. When the switches are released, nothing will happen until a time out has occurred. In this way, if the user should accidentally release the switches at the wrong time, there is a chance to continue the scan by pressing one of the switches again.
Join the Smartbox mailing list for regular updates and news.
You can change your mind at any time by clicking the unsubscribe link in the footer of any email you receive from us, or by contacting us at hello@thinksmartbox.com.
We use MailChimp as our marketing email platform. When you join, you acknowledge that the information you provide will be transferred to MailChimp for processing in accordance with their Privacy Policy and Terms.
Cookie | Duration | Description |
---|---|---|
AWSALBCORS | 7 days | This cookie is used for load balancing services provded by Amazon inorder to optimize the user experience. Amazon has updated the ALB and CLB so that customers can continue to use the CORS request with stickness. |
cookielawinfo-checkbox-advertisement | 1 year | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Advertisement". |
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
PHPSESSID | session | This cookie is native to PHP applications. The cookie is used to store and identify a users' unique session ID for the purpose of managing user session on the website. The cookie is a session cookies and is deleted when all the browser windows are closed. |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Cookie | Duration | Description |
---|---|---|
__zlcmid | 1 year | This cookie is used by Zendesk live chat and is used to store the live chat ID. |
player | 1 year | This cookie is used by Vimeo. This cookie is used to save the user's preferences when playing embedded videos from Vimeo. |
Cookie | Duration | Description |
---|---|---|
_gat | 1 minute | This cookies is installed by Google Universal Analytics to throttle the request rate to limit the colllection of data on high traffic sites. |
Cookie | Duration | Description |
---|---|---|
_ga | 2 years | This cookie is installed by Google Analytics. The cookie is used to calculate visitor, session, campaign data and keep track of site usage for the site's analytics report. The cookies store information anonymously and assign a randomly generated number to identify unique visitors. |
_gat_UA-65566191-1 | 1 minute | This is a pattern type cookie set by Google Analytics, where the pattern element on the name contains the unique identity number of the account or website it relates to. It appears to be a variation of the _gat cookie which is used to limit the amount of data recorded by Google on high traffic volume websites. |
_gid | 1 day | This cookie is installed by Google Analytics. The cookie is used to store information of how visitors use a website and helps in creating an analytics report of how the website is doing. The data collected including the number visitors, the source where they have come from, and the pages visted in an anonymous form. |
_hjFirstSeen | 30 minutes | This is set by Hotjar to identify a new user’s first session. It stores a true/false value, indicating whether this was the first time Hotjar saw this user. It is used by Recording filters to identify new user sessions. |
vuid | 2 years | This domain of this cookie is owned by Vimeo. This cookie is used by vimeo to collect tracking information. It sets a unique ID to embed videos to the website. |
Cookie | Duration | Description |
---|---|---|
_hjAbsoluteSessionInProgress | 30 minutes | No description |
_hjid | 1 year | This cookie is set by Hotjar. This cookie is set when the customer first lands on a page with the Hotjar script. It is used to persist the random user ID, unique to that site on the browser. This ensures that behavior in subsequent visits to the same site will be attributed to the same user ID. |
_hjIncludedInPageviewSample | 2 minutes | No description |
_hjShownFeedbackMessage | 1 day | No description |