# Dasher Manual

The Dasher Project
2006
The Dasher Project

Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.

Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.

Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation.

UNIX is a trademark of X/Open Group.

Linux is a trademark of Linus Torvalds.

X Window System is a trademark of X Consortium, Inc.

Windows is a trademark of Microsoft Corp.

Macintosh and Apple are trademarks of Apple Computer, Inc.

All other trademarks are property of their respective owners.

Dasher is an accessible text entry application that uses pointing gestures rather than typing. It is designed to be fast while fun to use.

1.0.0
2004-02-08
1.1.0
2006-03-31
1.2.0
2006-07-11
1.2.1
2006-09-02

## Introduction

Dasher is an information-efficient text-entry interface, driven by natural continuous pointing gestures. Dasher is a competitive text-entry system wherever a full-size keyboard cannot be used - for example on a palmtop or wearable computer, or when operating a computer one-handed (by joystick, touchscreen or mouse) or zero-handed (i.e. by head-mouse or eyetracker). This document describes version 4.2.0 of Dasher.

Dasher can be started by selecting Dasher from the Accessibility submenu of the Main Menu, or by running the command `dasher` on the command line.

## What's New

### New features In version 4.2

There is an automatic speed control, which will speed up Dasher when it senses you are able to go faster.

There is a new socket interface allowing Dasher to listen to head-trackers or gaze-trackers or EEG-interfaces without going through the mouse.

There are several `button modes' for people who want to drive Dasher using one, two, three, or four switches.

There is a `click mode', for people who like to point where they want to go, and click to take a single step in that direction. This is aimed at beginners, in particular

### What's coming in version 4.4

We will implement a game-mode for Dasher: this will help novices learn to write. A teaching hand will guide the novice when he goes astray, and novices who write fast without needing much guidance will win lots of points.

New language models will be added, which will make predictions at the word level as well as the letter level.

Japanese and Chinese will be fully supported.

The Dasher team also hopes to create a free web-cam-based head tracker and gaze tracker, `FreeVIM', by December 2006.

## Dasher Basics

Dasher is an information-efficient text-entry interface, driven by natural continuous pointing gestures. Dasher is a competitive text-entry system wherever a full-size keyboard cannot be used - for example,

- On a palmtop computer;

- on a wearable computer;

- when operating a computer one-handed, by joystick, touchscreen, trackball, or mouse;

- when operating a computer with zero hands (i.e., by head-mouse or by eyetracker).

The eyetracking version of Dasher allows an experienced user to write text as fast as normal handwriting - 29 words per minute; using a mouse, experienced users can write at 39 words per minute.

Dasher can be used to write efficiently in any language.

Dasher is fast and fun to learn.

Dasher is free software. It's distributed under the same license as GNU/Linux, the GPL.

### How does Dasher work?

> Financial Times, 5th February 2002

> Dasher is like an arcade game: `Attack of the killer alphabets', perhaps.

Dasher is a zooming interface. You point where you want to go, and the display zooms in wherever you point. The world into which you are zooming is painted with letters, so that any point you zoom in on corresponds to a piece of text. The more you zoom in, the longer the piece of text you have written. You choose what you write by choosing where to zoom.

To make the interface efficient, we use the predictions of a language model to determine how much of the world is devoted to each piece of text. Probable pieces of text are given more space, so they are quick and easy to select. Improbable pieces of text (for example, text with spelling mistakes) are given less space, so they are harder to write. The language model learns all the time: if you use a novel word once, it is easier to write next time.

A big advantage of Dasher over other predictive text-entry interfaces that offer word-completions to the user is that it is mode-free: the user does not need to switch from a writing mode to an accept-model-predictions mode.

Another advantage is that it is easy to train the model on any writing style: simply load up an example file, then write away!

It's quite hard to convey in words what Dasher looks like, so please visit www.dasher.org.uk to see movies.

### Dasher explained -- the library analogy

Imagine a library containing all possible books, ordered alphabetically on a single shelf. Books in which the first letter is a; are at the left hand side. Books in which the first letter is z; are at the right. In picture (i) below, the shelf is shown vertically with left; (a) at the top and ,right; (z) at the bottom. The first book in the a; section reads `aaaaaaaaaaaa`...; somewhere to its right are books that start `all good things must come to an end`...; a tiny bit further to the right are books that start `all good things must come to an enema`....

When someone writes a piece of text, their choice of the text string can be viewed as a choice of a book from this library of all books - the book that contains exactly the chosen text. How do they choose that book? Let's imagine they want to write `all good things`...;

#### The library of all books.

First, they walk into the `a` ; section of the library. There, they are confronted by books starting `aa` ;, `ab` , `ac`...; `az` ; [Picture (ii)]. Looking more closely at the `al` ; section, they can find books starting `ala` ;, ;`alb`;,...; `alz` ; [Picture (iii)].

By looking ever more closely at the shelf, the writer can find the book containing the text he wishes to write. Thus writing can be described as zooming in on an alphabetical library, steering as you go.

This is exactly how Dasher works, except for one crucial point: we alter the SIZE of the shelf space devoted to each book in proportion to the probability of the corresponding text. For example, not very many books start with an `x` ;, so we devote less space to `x`...;; books, and more to the more plausible books, thus making it easier to find books that contain probable text.

Here is the corresponding sequence of pictures of the library in Dasher. (The character _; denotes the space character.)

#### The library of all books.

Dasher can be trained on examples of any writing style, and it learns all the time, picking up your personal turns of phrase.

The image below shows the state of the Dasher interface while the user is writing the word `objection'; alternative words that could easily be written at this point include `objective', `objects_', and `object_oriented'.

#### Writing `objection' in Dasher.

If you find Dasher hard to imagine based on these static pictures, please take a look at the movies on www.dasher.org.uk.

### Tips for novices

Don't give up if it takes you a minute or two to get started - within ten minutes, you'll be blazing along. It's a lot like driving a car. You should start by driving cautiously. If you can't tell where you are going, stop going. Indeed, you will probably learn Dasher fastest if you come to it with car-driving analogies in mind, rather than standard computer analogies. For example, the way navigation works is not by DRAGGING but by STEERING: if cars worked like windows computers, you would have to grab the piece of road you want, then ,drag; it towards you; but in a car, when you wish to drive right, you POINT RIGHT with your steering wheel. Dasher does not work by dragging either. Do not try to grab things and drag them. Just decide where you want to go, and point there.

The single most important concept that a novice user needs to understand is that one should always continue inside the text written so far: to select the book that contains all; as its first word, one does not enter the a; section of the library, then exit the ;a; section, and enter the ,l; section. One enters the a; section, then finds the al; section that is within the a; section, then enters the all; section within the al; section.

It's just like finding a name in a phonebook. To find `Alison` ;, you don't go to the `A` ; section of the phonebook, then the ;`L`; section: you go into the `A` ; section, then find within it the `Al` ; section, and so forth. Once you are in the `Al` ; section, you never leave it.

The second most important idea is that what you have written depends only on where you finally end up in the library, not on how you got there; so there is no need to steer accurately on your way to your destination. You are allowed to cut corners. (For example, in the previous image, if you wanted to write `objects_are', it would be fine to move the mouse straight towards the letters `are', even if this takes the mouse across the unwanted grey `i' square.)

Common errors. Often, a beginner who is trying to find a particular letter will drive the display forwards fast while hunting for the letter. The rule of the road for Dasher users is just like that for car-drivers: don't drive forwards until you have identified where you want to go! So, after you have found the first letter of your sentence, and zoomed towards it, please SLOW DOWN and don't proceed any further into this first letter's square until you have figured out where you should be steering towards. Your next letter is there, immediately inside the first square you have entered. The letters are ordered alphabetically. If you can't see your letter, figure out where it must be on the basis of the letters you can see. Then point to the right place and enter the second letter's square.

### Example

#### Writing `I once had a whim` ;. Where should the user steer now?

Imagine you want to write ``I once had a whim`'. You write ``I once ha...`' and the Dasher display looks like . You want to write ``had`'. What should you do? There are lots of letter `d`s on the screen, and all of them are rather small. The five arrows in show some of these `d`s. The purple arrow points to a `d` that we can't see yet, but we know it must be there because we can see ``a`', ``b`', and ``c`' above it.

#### Some alternative letter `d`s, with a beginner's error highlighted

A common beginner's mistake is to keep rushing forward and spot any of these letter `d`s, and zoom into it. For example, shows what happens if the user zooms towards the `d` highlighted in .

#### What happens when you select the wrong `d`

If you go in this `d`, you are writing ``I once` head`...`'. The other two `d`s labelled by red arrows (in ) correspond to writing ``I once` heard`...`' and ``I once` hedge`...`'.

It is crucial to understand that there is only one correct `d`, namely the `d` that is immediately inside the blue box corresponding to letter ``a`' in the sequence ``I once ha`'. That blue box is highlighted in .

#### The correct letter `d` is the one marked by the green arrow. This example illustrates the rule always keep going inside the box that you want; in this case, the blue box associated with the letter `a` of the word `had` ;

If you ever leave that blue box (as we did in ) then we lose the letter ``a`'.

### Summary

Don't click. Don't drag. And don't speed.

### What do the colours mean?

In the English-language desktop version 3 of Dasher,

- white squares contain the space characters (always placed at the bottom of the alphabet);

- a special yellow box contains the upper case characters [A-Z];

- a red box contains numerals [0-9] (if the full alphabet is enabled);

- a green box contains punctuation characters (with the characters most similar to the space character [.,;:-] placed at the bottom, next to the white space character. Within the punctuation section, letters with similar roles are coloured similarly: punctuation characters similar to the period [.,;:-] are coloured slate-blue;

- the other colours are included simply to discriminate the squares from each other.

- In languages with accents (grave, acute, circumflex, etc), the accents are displayed in an orange box.

- In the Japanese version of Dasher, colours are used to distinguish the different hiragana groups (eg ka,ki,ku,ke,ko are orange).

- In the Korean version of Dasher, three different colours are used to distinguish initial consonants, vowels, and terminal consonants.

You can alter the colour scheme by editing the `colour` and `alphabet` xml files, as described in .

### How to start dasher (version 4)

Set the dasher application running; when the dasher window comes up, either click the left mouse button or press the space bar to set it going. [One of these two will work.] Repeat this action (click or space), when you are finished, to stop dasher from dashing. Your computer's mouse controls Dasher.

Adjust the speed slider to fix the maximum speed Dasher will zoom at. A speed of 1 is good for a beginner, increasing to 2 after 5 minutes' practice, and to 4 when you are expert.

### How to start dasher (version 2) on pocket PC

Install, run (wait a few seconds for it to load up the training file), then touch the screen with the stylus to make dasher move.

There are three special strongly-coloured squares in this version of Dasher, coloured yellow, red (in some releases only), and green; all three squares do not produce any character; these squares indicate sub-groupings of the alphabet. (Uppercase Alphabet, Numerals (in some releases only), and Punctuation.)

## How to use Dasher in real life

Dasher can be used to communicate through your computer, and (to some degree) to control your computer. Obviously, the simplest way to communicate with Dasher is to have the person you're talking to watch the screen as you write. But there are lots of other ways to communicate through Dasher.

### Copy to clipboard

If you have the `copy on stop' feature switched on, then, every time you stop Dasher, the contents of Dasher's text box get copied directly to your computer's clipboard. You can then use the `Paste' function of another application to transfer what you've written.

### Speaking

Dasher connects to your computer's built-in text-to-speech system. There are several ways to use Dasher for speaking.

You can choose to have Dasher `speak each word': every time you pass through the end of a word (by entering a space character for example), that word gets spoken immediately.

You can also choose to have Dasher `speak on stop': every time you stop Dasher moving, everything that is in the text box gets spoken.

Finally, you can speak exactly when you want to by switching on Control Mode (which is under the Options Menu in Dasher version 3). This mode brings up an extra box in the Dasher alphabet, coloured grey, which works a bit like an escape key on a keyboard. If you go inside the Control box, you will find several control-related options: Stop (red); pause (yellow); Move; Delete; and Speak. Inside the Speak box are the options to `speak everything', `speak new' (just the new words that you wrote since the last utterance), and `speak again' (which re-speaks whatever was last spoken).

### Save to file

You can save whatever is in the text box of Dasher as a plain text file by clicking the `Save file' icon in the icon bar, or using the menus at the top of the Dasher window (selecting File then Save).

### Send text to other window

You can also have whatever is written in Dasher be directly beamed to another window. Enable the `send text to other window' option under the options menu. Then the window that you select will get Dasher's output.

### Font sizes

Dasher has a text box (where the text appears) and a Dasher canvas (where all the fun zooming action happens). You can change the font sizes of both these regions using the Dasher menus at the top of the Dasher window. The two fonts are called the `Edit font' (for the text box's font), and the `Dasher font', I think. (I forget the exact menu names in Dasher version 3, sorry.) To change the edit font size bring up the usual dialog box and change size. To change the Dasher canvas size, find the Dasher-size option, which offers three to choose from, named something like: small, medium, and large.

## Personalizing Dasher

There are three classes of files you can tweak in order to make Dasher work better for you: `alphabet` files, `colour` files, and `training` files.

### Personalizing the language model

Dasher's predictions (in version 3 of Dasher) are based not on a dictionary but on a training text of ordinary text. For example, when you download Dasher version 3, it comes with a file called `training_english_GB.txt`. This is 300 kbytes of ordinary english harvested from various documents on the internet.

When you use Dasher, it stores everything you write in another personal file with the same name as the training file. Next time you use Dasher, it reads in the original training file and everything you wrote last time, to help it predict better. Dasher learns all the time. To get the best results from Dasher:

- If possible, provide Dasher with a training text in your own style -- a plain text file made from documents you have written before, and containing your own pet phrases, friends' names, and so forth. Either append this file to the training file, or replace the original training file.

- If you think your personal training file may have become corrupted with rubbish text, edit it using any plain text editor. (Or ask a friend to do this for you.)

- If you use Dasher for many months, the personal training file may become so large that Dasher becomes slow to start up; if so, edit the training file using a plain text editor.

### Personalizing the alphabet

Which characters are available to you, and their order, is determined by the alphabet file. For example, you might use `alphabet.english.xml`. Dasher comes with many alternative alphabets. You can edit alphabet files to change which characters are in the alphabet, or their order. When you edit this xml file, it might be a good idea to save the new file with a new name and change the name of the alphabets in the new file, to avoid confusion. Each field in the xml file specifies a symbol by three items: the character that should be displayed (`d=`...); the character that goes into the text when this symbol is selected (`t=`...); and the background colour number of the box for this symbol (`b=`...), of which more below.

### Personalizing the colour scheme

You can change the colours of the Dasher world in two ways. The colour file (for example `colour.xml` or `colour.euroasian.xml`) specifies the 200 colours in the palette that Dasher uses. Each line specifies red, green, blue values.

These colours are used to colour multiple objects in dasher. If for example you want to change the colour of the red line;, change the second colour line of the colour file, which reads `<colour r="255" g="0" b="0"/>`.

You can change which of these colours is used for each symbol's box by changing the b; field for that symbol in the alphabet file.

## Languages

Dasher works in hundreds of languages.

For each language there is an alphabet file (or possibly more than one alphabet file). On the Dasher website we aim to supply at least one training text for each language. If we don't have a good training text for your language, please help us by making one and sending it to us.

See the Dasher website for the list of languages supported by Dasher. As of October 2005, all the major languages of the world are well supported, with the exception of Japanese and Chinese, for which Dasher version 3 offers only phonetic support (hiragana and pin-yin). In Dasher version 4, we will provide full support for Japanese and Chinese.

## Dasher Special Needs Guide

Dasher is designed on the principle of getting as much information as possible from the gestures you can make.

We can get information from whichever of the following is easiest for you:

1. Continuous gestures (conveyed via a joystick, trackpad, head mouse, or gaze tracker, for example) often achieve the highest rates of writing.

2. Discrete gestures (switches, button presses) may be able to convey information in three different ways:

   1. The time at which you press a button can convey information. (This idea is used in grid systems controlled by a single button.)

   2. How long you press a button for can convey information. (This idea is used in Morse code, where two durations are distinguished.)

   3. The choice of which button you press can convey information. (This idea is used in ordinary keyboards.)

### Continuous gestures

Dasher's normal mode (mouse mode) is driven by a two-dimensional continuous steering gesture. Dasher also has a one-dimensional mode, for users who can control only one dimension.

Can you make one or two continuous gestures? If you can operate a joystick, mouse, trackpad, or rollerball, then you have a two-dimensional control. If you can point on a touch-screen then that's perfect too. Can you move your nose around? If you can shake your head, that's a one-dimensional control; if you can nod, that's two. A head-mouse can be quite cheap, and it is a convenient way to drive Dasher. (We recommend the SmartNav3 from NaturalPoint, which costs about $200, and works under microsoft windows only; this device used to be called the NavPoint TrackIR until 2002, when that brand name was transferred to a different device. We also recommend the Origin instruments Headmouse Extreme, which costs about $1000; it works as a USB mouse on any computer.) Can you waggle one finger or one foot? These head-mice can be used to track fingers and feet as well as heads. For a detailed comparison of SmartNav3 with Headmouse Extreme, please see http://www.inference.phy.cam.ac.uk/dasher/Headmouse.html.

If you are severely paralysed, the best option may be a gaze tracker. Do you have control of where your eyes are looking? With a gaze tracker we can write at 25 words per minute. Gaze trackers are quite expensive: we paid $2000 for the QuickGlance from EyeTech Digital Systems, and the Tobii eyetracker costs about $20,000. [We recommend both of these systems. You attach QuickGlance to an existing computer; Quickglance II costs about $4000. Tobii is a complete computer with built-in eyetracking cameras.] Dasher also works with the Eye response Erica, with LC's Eyegaze, and with Metrovision's gaze-tracker. All three of these systems are complete computers with eye-tracking cameras attached.

If joysticks, mice, rollerballs, and gaze trackers don't work, there may be a few other ways to convey a continuous one-dimensional signal. Lips and eyebrows should both work, though we don't know of any manufacturer selling appropriate devices. Breath is a one-dimensional signal too. If you can control your breath, it should be possible to make a breath mouse for you. We made our $22 breath mouse using a USB optical mouse, a belt, and some elastic, and our most experienced user can write at 15 words per minute by breath alone.

#### Starting and stopping

There are several ways of starting and stopping Dasher. Pressing a button (for example, the left mouse button or the space bar) is one option. But if you can not press any buttons, it's possible to start and stop using only continuous gestures: in the options menu, select start on position; and switch on control mode;. When control mode is switched on, the Dasher alphabet includes a special Control node (a bit like an `Esc` key on a keyboard), within which various control functions are available. When you are inside the control node, Dasher moves more slowly than normal, for safety. The control node options include `pause' and `stop'. Use `pause' if you are half-way through writing something, and want to pause for a moment. Use `stop' when you have finished. `Pause` and `stop` produce the same behaviour, except `stop` may cause other automatic actions, such as `speak on stop', or `copy the text on stop'.

When Dasher is paused or stopped, it can be restarted using any of the starting methods that are enabled. If `start on position' is enabled, then whenever Dasher is stopped a sequence of large targets will be displayed; you restart Dasher by pointing at (or looking at) the first (red) target, then the second (yellow) target. (We use two targets in sequence to make it difficult to start Dasher by accident.)

#### Recommendations for head-tracking

Many trackers have `smoothing' options, which determine the frequency with which the mouse position is updated; these options are normally used to smooth and damp down the mouse motion. For Dasher, we don't want such smoothing. We like instant, live, raw and jerky mouse coordinates. If there is a `smoothing' control, turn it right down.

The `gain' (sometimes called the `speed') of the head-tracker is also an important setting to adjust. Some trackers' gains can be adjusted in software. You can also adjust the gain by changing the geometry of your tracker: if you move the tracked dot from your forehead to the brim of a baseball cap, for example, then you roughly double the gain. Sitting closer to the tracker may also increase the gain. Find a gain setting that is comfortable. I like high gain because it allows me to steer with very small head motions.

#### Recommendations for gaze-tracking

For good results with gaze trackers, we strongly recommend that the gaze-tracker be made to be as responsive as possible. Many trackers have `smoothing' options, which determine the frequency with which the mouse position is updated and the number of successive gaze images used to estimate the mouse position. These options are normally used to smooth and damp down the mouse motion. For Dasher, we don't want such smoothing. We like instant, live, raw and jerky mouse coordinates. When you are navigating, your eye moves very quickly to the target you are interested in, and we want Dasher to respond instantly. The ideal settings for Dasher may be very different from the ideal settings for other software. Ask your eyetracker manufacturer to make it easy to change the settings when switching application.

Dasher has several options designed for use with gaze-trackers. We recommend using eyetracker mode (under Options/Preferences/Control). In this mode, the dynamics of Dasher are slightly different from standard dynamics, making error-correction easier by gaze.

If your gaze-tracker's calibration drifts with time, for example when your head moves, then you should select the Autocalibrate eyetracker feature. When this feature is switched on, Dasher keeps track of your steering and infers the vertical calibration error, and corrects for it. You can see this correction taking effect by noticing the vertical offset between the mouse position as displayed by Dasher (by the tip of the red line) and the gaze-tracker's mouse position (shown by the system's mouse cursor).

To avoid difficulties with the mouse being bounded by the top and bottom of the screen, we recommend choosing a window size for Dasher that is not full-screen in size. Place the Dasher window so that there is a margin above and below the Dasher canvas.

Technical note: As well as through mouse emulation, Dasher is able to receive tracking information from gaze trackers, head trackers, or similar systems directly by means of a system socket. This option can be configured in the 'Input Device' section of the 'preferences' dialogue.

### Discrete Gestures

We have several versions of button Dasher, available in Dasher Version 4.

#### Are time-critical gestures not an option?

Some ways of conveying information make use of the timing of gestures. However, some people can't make gestures at a required instant. For example, spastics find it very difficult to do an action `exactly now!'

If time-critical gestures are not an option, go to .

If you can convey information by precisely timed gestures, go to section .

### `Timeless' choices of Dasher

So, you want to steer Dasher at your own pace. Can you make fairly-accurate continuous gestures, given time? For example, can you position a pointer accurately on a screen, then press a button to indicate that you are ready? Or can you touch a touch-screen fairly accurately?

- If so, try click mode. Go to .

- Otherwise try direct button mode or menu button mode. Go to .

#### `Timeless' continuous Dasher: click mode

In click mode, you position the mouse pointer where you want to go, then press a button when you are ready. Dasher then zooms in on the position you chose.

Alternatively, if you have a touch screen, a single touch on the screen initiates a zoom to that position.

#### `Timeless' choices of Button Dasher

How many different switches, keys, or buttons can you easily operate?

1

  With just one button, the only timeless way to convey information is by the duration of your button-presses. Can you make a distinction between short presses and long presses? If so, you can use menu button-Dasher. Connect up your short press to the `menu' action, and your long press to the `select' action.

2

  You can use menu button-Dasher. Connect one button to the `menu' action, and the other to the `select' action. If one button is easier to press, make that button the `menu' button.

2.5

  If you can easily press two buttons, and, for special occasions, you are able to press a third button, you can use menu button-Dasher or direct button-Dasher.

  1. Set up menu button-Dasher as described above, and use the third button as your escape key -- to make Dasher go away, for example. [This feature is not currently provided within Dasher.]

  2. In direct button-Dasher, each button produces a particular navigation action such as `up', `down', or `back'. If you have 2.5 buttons, map the convenient two to `up' and `down', and the inconvenient button to `back'.

3

  You can use direct button-Dasher or menu button-Dasher as described above.

4, 5, 6, or 7

  With more than three buttons, you have the option to use direct button-Dasher with three, four, five, or six `forward' directions. Please try menu button-Dasher too, even though it uses only two buttons.

8 or more

  Try direct button-Dasher and menu button-Dasher. With this many buttons, you also have the option of using a system like T9 -- the predictive-text system found on many mobile phones. You may wish to investigate Tapir, a disambiguating on-screen keyboard from the developers of Dasher.

### Button Dashers that exploit timing

There are two Dasher modes which make use of precise timing information, and generally require fewer button presses than the nn-time-critical modes:

#### (One button) dynamic mode

When started, Dasher will zoom towards a point towards the top or bottom of the display. A short button press will switch the point of zoom to the oposite side. Text can be entered by pressing the button when the desired phrase reaches the edge of the display.

#### Two button dynamic mode

Dasher zooms continuously towards the centre of the screen, with the two buttons being used to shift the display up and down. The buttons should be pressed whenever the desired text is aligned with the two markers.

#### Correcting errors

In either dynamic mode, there are three options for error correction: using an additional button, long presses or multiple presses. In all cases these actions will switch to a mode where Dasher unzooms at a fixed rate. In this mode, one more press will stop Dasher and a second press will return Dasher to forward zooming.

## Summary of Dasher Modes

The various modes of Dasher are listed below. The mode may be changed via the edit menu. Select Preferences and then Control . Each mode has a number of variable parameters associated with it which can be adjusted using the options button located below the mode menu.

### Normal

The original Dasher mode. Functions using a two dimensional steering gesture, from a mouse, say. A one-dimensional mode is also available, for those who may not be able to control two-dimensions, and a special eyetracker mode is available for those using Dasher with a gaze or head tracker. Dasher can be started using mouse position alone if clicking is not possible - select 'Start on Mouse Position' and 'Circle Start' to allow starting and stopping by dwelling in the circle in the centre of the display. The 'Two Box' start mode starts Dasher by dwelling in the two boxes in sequence. In the latter case stopping must be done through control mode.

### Click Mode

In click mode you position the mouse pointer where you want to go, then press the button when you are ready. Dasher then zooms into the place where you clicked.

### Menu Mode

One button is used to select a location, and once a second button is pressed Dasher zooms to that location. The large box occuring last in the cycle is used to zoom out.

### Direct Mode

Direct mode is similar to menu mode, except boxes are assigned directly to each button rather than being selected in sequence.

### Compass Mode

Compass mode makes use of four buttons. Two buttons are used to control vertical position. When the required vertical position has been reached a third button is pressed to zoom in. After zooming in on the location, the user once more selects vertical position. A forth button zooms out if an error is made.

### (One Button) Dynamic Mode

Dasher continually zooms in and a single button may be used to move up and down. There is also a Two Button Dynamic Mode where two buttons are used to control motions up and down. A third button, long presses or multiple presses can be used to unzoom and correct errors.

### Two Button Dynamic Mode

Dasher continually zooms in, whilst two buttons are used to control vertical motion. Correction is performed in the same way as One button dynamic mode.

## Authors

Dasher was written by the members of The Dasher Project (dasher@mrao.cam.ac.uk). To find more information about it, please visit Dasher's Web page. Please send all comments, suggestions, and bug reports to the GNOME bug tracking database. Instructions for submitting bug reports can be found on-line at http://bugs.gnome.org/Reporting.html. If you are using GNOME 1.1 or later, you can also use command `bug-buddy` for submitting bug reports.

This manual was written by The Dasher Project (dasher@mrao.cam.ac.uk). Please send all comments and suggestions regarding the manual to the GNOME Documentation Project at docs@gnome.org. You can also add your comments online by using GNOME Documentation Status Table.