mouseI have been reading online articles again, and came across The Utopia Open Source Braille Reader/Display aka ‘Audrey’ project, and as such decided to start writing about a project that I am working on currently.

My mum works with a young man with special needs, who among other things has trouble using a computer using off the shelf consumer Human Interface Devices, while mouse alternatives are available, such as the OPTIMA Joystick (here) they start at at £169.00 plus the cost of the extra buttons (here) at £27.00 per; I spoke to the young mans mother; and came away with a rough idea of what would be useful to him as an interface.

Why a Joystick as a mouse?

  • Many computer programs, e.g. drawing-programs, demand the use of a mouse.
  • Many users have difficulties in handling a standard mouse.
  • The joystick mouse is used instead of a standard mouse, but demands less motor ability from the user.

A while ago I remember watching the Make Video on The AWESOME Button, and remembered one of the cool features of the Teensy USB, after looking round the site I ordered two. Also a while ago I looked into making my own MAME (Multiple Arcade Machine Emulator) box, and as part of that research I came across Balltop Joysticks & Arcade Buttons from Arcade World.

I now have a box of Joystick and Buttons to play with and two Teensy USB boards, so over the next few weeks I will have a go at making a much more accessible version of the Joystick, but designed to the young mans needs.

While other people have had some success with this kind of project; their starting point tends to be a USB gamepad and some software to make it act as a mouse; where I am looking to try and make it as system agnostic as possible

The ideas for requirements are

  • The joystick is handled like the wheelchair joystick.
  • Mouse pointer speed is adjustable.
  • The mouse-keys can be used in two ways,- with or without toggling.
  • External switches are optional.
  • To facilitate double-clicks, the joystick mouse has an automatic double-click-key.
  • Presents its self to the OS as a generic USB Mouse

I plan to make the buttons external to the joystick as that will allow the mouse to be operated by two hands. I also plan to put LEDs in some of the switches to give visual feedback on function.

The following button functions should be supported (with an * signifies a LED for feedback)

  • Left Click
  • Double Click
  • Click Lock *
  • Right Click
  • Scroll Lock *

Scroll Lock turns the Joystick off mouse pointer mode and makes the up and down act as up and down on a scroll wheel.