Single Switch Computer Input System Design Phase Zachary Gogel firstname.lastname@example.org Christopher Kordal email@example.com Thomas Smith firstname.lastname@example.org Guy Tuori email@example.com 2010 TEAM VENTURE The System The Parts At the highest level, the system is divided into two main parts: the hardware and the software. The hardware consists of an X-Keys USB Switch Interface and a switch device that plugs into the X-Keys USB Switch Interface. The software takes the input from the hardware and allows the user to replicate the functions of more complicated input devices (a mouse and keyboard). The GUI The GUI has two important modes. The first mode allows the user to select a click-type or other options. That is to say, the menu gives the user the option between single click, double click, click and hold, click and drag, on-screen keyboard, applications browser, and the options menu. The options are scrolled through automatically, and an option is selected when the switch is pressed. This is a screenshot of the auto scrolling selection menu. If a click mode is selected, the GUI moves into crosshair mode. In this mode, first a line moves across the screen horizontally. When the line is over the area where the user wants to click, he or she pressed the switch. At this point, another line begins to move across the screen vertically. When the user presses the switch this second time, the proper click type is performed at the point where the two lines intersect. A click event is sent to where the two lines intersect. The Typical User Experience There are two main types of user experiences we are expecting: assisted and unassisted. In the assisted user experience, the system may be installed in a place accessed by many different users, like a doctor’s office or a therapy center. The session begins when the assistant adjusts the settings for the specific user. In one case, if the user has used the system before, the assistant may simply load up the previously saved profile for the user. In the case that the user has never used the system before, the assistant works with the user to find appropriate settings, then saves the settings to a profile for future use. The assistant then aids the user in using the system to navigate the computer and internet. In the unassisted user experience, the system is used mostly by a single user. In this case, a default profile is automatically loaded as the system starts. The user continues to use the system to browse the internet, watch media files, etc. When the user finishes, the computer can either be shut down, in which case the system will reload itself once the computer is turned back on at a later time, or kept running, in which case the system remains on indefinitely. High Level Diagram Detailed Diagram User The user is the person with the motor disability who is the primary user of the system. It is assumed that the user is quadriplegic and unable to operate traditional input devices, specifically a mouse and keyboard. The user is at a computer with a single-switch input device, a monitor, and (optionally but preferably) speakers. Single-Switch Input Device This input device may be any one of a variety of devices, including a large "jelly bean" switch, a head switch, a muscle twitch switch, or a blow switch. It is, in whatever form, a binary switch that can only signal "on" and "off". The user will use this switch as the sole input device for their interactions with the system. Monitor The monitor is a standard computer monitor. It must be fully connected to the computer, including any installation of drivers that may be necessary for its full operation. Such installation is outside the scope of the system. The system will require a monitor with a certain minimum resolution that will not exceed 1024x768 pixels. Speakers The speakers may be any general-purpose audio output device, including speakers or headphones. The speakers, like the monitor, must be pre-installed and configured for use with the system. If speakers are not present, the user experience will be degraded (in that audio and speech feedback will be impossible), but fundamentally functional. Driver The listed driver is for the single-switch input device. As with monitor and speaker drivers, it must be pre-installed and -configured, but the single-switch input driver has the additional constraint that it must be preconfigured to emit, upon activation of the switch, any click or key press. This will be used as the input to the system software. Controller The controller is the component of the system that captures the input from the single switch input device (via the driver and any intervening OS layers) and redirects it to the current interface as a selection event. The controller will keep track of which interface is selected. Interface An interface is a module that is given a selection event from the controller and translates that event in some way into input to the currently running application. This translation will be different for each particular interface, and it may additionally require input from the system's configuration file, from the OS's clock functionality, or other sources. Many interfaces will allow the user to select options from a list, where each item on the list is automatically highlighted in turn at set time intervals, and whichever is highlighted when the user triggers the single-switch input will be selected or activated. Generally, when an option is highlighted, the interface will use the OS's speech service to speak the option aloud. Some specific examples of interfaces are: Mouse ("Cross-Hair") Interface This interface is meant to simulate the use of a mouse. The interface will scan through a list of click types, including left-click, right-click, double-click, click-and-hold, and click-and-drag. Once one type has been selected, the interface will display a thin vertical line spanning the height of the screen that moves back and forth at a slowly decreasing rate. Upon receiving user input, the line will freeze and a horizontal line spanning the width of the screen will begin moving up and down. Upon receiving another input, the interface will send the current application a click event at the coordinates of the intersection of the lines. In addition to the various click modes, the scanning list of commands will include options to switch to different interfaces. Keyboard Interface This interface is meant to simulate use of a keyboard. The interface will display an onscreen representation of a keyboard. Each row on the keyboard will be highlighted in turn; when the user selects one, each key in that row will be highlighted until the user selects one. The interface will then send the current application a key press event with the selected key. If a modifier key (Shift, for example) is selected, then rather than sending a key event, interface will highlight the on-screen key until a key event is sent, whereupon the modifier will be applied to the event. Meta Interface The meta interface displays a list of options to scan through, including options to use other interfaces, configure system settings, and launch frequently-used applications. The meta interface will write configuration changes to the configuration file. Application Interface An application interface is one designed to enable efficient use of a particular application. Each application interface will have different capabilities and features designed to suit the particular application. These interfaces may rely on plug-ins written for the applications in question. The system will include at least an interface designed for Mozilla Firefox that will allow web navigation to be done much faster than the generic mouse and keyboard interfaces. Assistant The assistant is an able-bodied person capable of using a mouse and keyboard and who is basically proficient with computer use. Prior to the regular use of the system, the assistant may be called upon to install and initially configure it. Should the system require adjustment or configuration beyond the ability of the user (for example, if the user were to accidentally turn the system's scroll speed up to an unmanageable level), the assistant would reconfigure it to rectify the problem. The assistant's interaction with the system will require a standard keyboard and mouse as well as a monitor. Parts List Name Price Quantity Link PI Engineering $119.95 1 http://www.xkeys.com/xkeys/xkswi.php X-Keys USB Switch Interface Jelly Bean $55.00 1 http://www.donjohnston.com/products/access_solutions/hardware/jelly_bean_s witch/index.html Switch Computer w/ Price 1 N/A Windows 7 Varies If the user already has a computer capable of running the system, then the only hardware that needs to be purchased is the USB Switch Interface and the Jelly Bean Switch. In the case, the minimum price of setting of the system on one computer is about $175. Hardware Diagram 3.5mm plug USB The hardware consists of a Jelly Bean Switch plugged into the X-Keys USB Switch Interface, which itself is plugged into a USB port on the PC. Software Diagram Program ModeManager InputMode MenuSwitchMod CustomApplicati Driver ScrollMode e on CustomProgram OptionsMode BrowserMode HotKey OptionsMenu Browser GlobalConstants BaseMode KeyboardMode DriverMenu CrossHairs OnscreenKeyboa rd StandardMenu Clicker SpecialMenu Key X Y = X has an instance of Y X Y = X implements Y X Y = X calls functions from Static Class Y Program This starts the driver. Driver Takes in user input and sends it to the current mode. GlobalConstants Holds all of the global variables and saved settings. HotKey This stores the hotkey. ModeManager Manages the various input modes. DriverMenu This interface is implemented by classes that render things on the menu. StandardMenu Contains default actions, including left click, right click, double click, and more. SpecialMenu This menu contains lesser used options, including web browser, media browser, options menu, and more. InputMode This is an interface implemented classes which are modes designed to launch various aspects of the program. MenuSwitchMode This mode switches between standard and special menus. ScrollMode This mode handles scrolling up or down CustomApplicationMode This mode handles launching the media player as well as the custom applications. CustomProgram This launches the custom program. OptionsMode This mode handles launching the options menu. OptionsMenu This displays the options menu. BaseMode This mode launches the cross hairs. CrossHairs The cross hairs are used to display where clicks will be sent. KeyboardMode This mode launches the onscreen keyboard. OnscreenKeyboard This is the onscreen keyboard. BrowserMode This mode launches the web browser. Browser This handles the launching of the browser. Running the System: A Walkthrough The program starts automatically when Windows loads. It begins in the base mode, in which click, the keyboard, an applications list, or the options menu can be selected. The cursor automatically scans over the options. After a click mode is selected, the first line begins moving. After the switch is pressed while the line is over the target, the second line begins. Here, you can see the two lines meet over the 453 folder icon. When the switch is pressed while the second line is on screen, a click is made where the two lines meet. Here, the folder “453” has been selected using the single-click. The click selection mode begins again. Here, the double click mode has been selected and My Computer has been opened after selecting the icon with the crosshairs. Here, the right click has been selected and the user has right-clicked on the desktop. Click-and-drag is being demonstrated here. The click-down is selected first. After the first location is selected, another set of cross hairs is launched. When the second point is selected, the mouse is dragged from the first point to the second point. This is the onscreen keyboard, allowing the user to type individual letters as well as any user-defined quick phrases. To access the special menu, the user selects the Special icon. Here, the special menu is displayed. The internet icon brings up the web browser. The click-and-hold option has been selected. Here, the cross hairs are over the bottom scroll arrow. Left-click is held on the selected point for an amount of time specified by the user in the options menu. When the Media icon is selected, Windows Media Player is launched. The user can select their own shortcuts to be placed on the menu. Here, Solitaire is on the menu and has been selected. The Options Menu is displayed here. The user can adjust any of the settings, including the speed of the auto-scrolling and the custom keys on the keyboard.
Pages to are hidden for
"The Parts - Acsu Buffalo"Please download to view full document