CS789, Spring 2007

Lecture notes, Week 4

Input Concepts

There are a few general concepts that help the designer to think about input devices. They do not provide a set of answers, but a set of questions. Ask these questions when thinking about how well an input device is suited to the tasks for which it is intended. (Today's activity should convince you that specific characteristics of an input device don't actually matter very much, only how well the characteristics of the device match the tasks for which it is intended.)


Input is delivered to software as events, the input abstraction

Degrees of freedom

Input devices are activated by user actions, and in response to those actions transmit signals to the computer. The degrees of freedom of an input devices are the different responses that are transmitted.Important concepts:
  1. Dimensionality. Each dimension can provide
  2. Separability of dimensions

Scaling and units

Scaling describes how the device properties map onto program entities. They are limited by the actual outputs provided by the device. To provide a quantitative account of these mappings it is necessary to measure, which implies sets of units. Important concepts.
  1. Scales
  2. Scale conversions
  3. Nullability
  4. Resolution
  5. Dynamic range

Kinetics and dynamics

The device kinetics and dynamics determine how the device "feels". They are determined partly by physical and logical properties of the device. partly by the interface software that controls it. Here are some useful concepts.

  1. Sample rate
  2. Slew rate
  3. Hysteresis


Almost all input devices are designed to be managed by a particular part of the human body

  1. What is the actual point of contact? Which muscles control the device?
  2. What change is sensed by the device?


Most input devices produce some sort of feedback to the user, which is important for controlling the device successfully.

  1. Some feedback is produced by the device itself.
  2. Some feedback is produced by the interface

Real Input Devices

In this section we will look at an actual input device, the mouse. We will explain exactly how it works, and describe it in terms of the concepts described above. Then will follow a list of various input devices that have been popular at one time or another, with a few comments about the characteristics of each.

A real example: the mouse

To-day the most common input device for pointing is the mouse, though possibly not for long.

  1. Construction details
  2. Degrees of freedom
  3. Scaling
  4. Modality
  5. Feedback

More than a list; not quite a taxonomy

  1. Discrete devices
    1. Keyboard. Touch typing proves that you can learn anything.
    2. Buttons and switches
      • Using them as toggles requires state feedback: spring locking, status lights
  2. Velocity-sensing Devices
    1. E. g., mouse, trackball, touchpads
    2. What do you need to map these onto position
  3. Position-sensing Devices
    1. E. g., touch screen, light pen, digitizing tablet, touch-sensitive panel, joystick
    2. First two have direct position interpretation
    3. Second two have indirect position interpretation
    4. What about the last one? How does it map most naturally to position
  4. Force-sensing Devices
    1. E. g., force-sensitive joystick, spaceball
    2. What about car accelerator (spring-loaded joystick) ?
    3. Doesn't everything respond to force?
    4. These devices give no feedback but force.
  5. Other devices

Something interesting I saw at Alias/Wavefront

Enhanced mice

  1. The problem: input for 3-d drawing programs.
  2. The constraint: continuous upgrade path for user's existing skills
  3. Three problems to solve

Return to: