Computer Aids for VLSI Design
Steven M. Rubin
Copyright © 1994


Chapter 9: Graphics

Prev
Section 4 of 5
Next

9.4 Input Devices

The final aspect of graphics covered in this chapter is the input of information to the system. Most graphic-input devices require no programming, so their interfaces are quite simple. Two-dimensional devices such as tablets, joysticks, and mice provide two-dimensional values; One-dimensional devices such as knobs and thumbwheels provide single values. The only possible software operations are scaling and relative-motion tracking. This section will therefore concentrate on the physical workings of various graphic-input devices to provide a feel for their use.



9.4.1 Valuators

One-dimensional input devices, such as knobs and thumbwheels, are called valuators. Typically, knobs are aggregated in large sets, each one having a specific function associated with it. Thumbwheels are large diameter knobs turned on their side and sunk into a panel so that the exposed edge can be rolled like a sliding surface. Typically there are two thumbwheels placed at right angles so that x- and y-axis specification can be done.

Valuators can have fixed ranges of rotation or they can roll infinitely. If there are stops at the ends of the rotation range then the programmer will be given absolute coordinate values from the device. If the valuator turns without stops, however, each turn will provide a relative-motion value that must be accumulated to determine the overall value. Relative-motion devices are more flexible because they can give a greater range of values, can be scaled for fine tuning, and can even be treated nonlinearly. A popular use of nonlinear input handling is timed acceleration, in which rapid changes scale more than slow motion does. This enables a great distance to be covered with a quick hand motion.



9.4.2 Tablets

Early graphic-input devices used a special pen and a special surface that would track the pen position. The first tablets were called spark pens because the pen emitted clicking sounds by generating sparks. The tablet surface had rows of microphones along its edges and it triangulated the pen position from the speed of sound delay between the pen and the microphones. These devices are rarely used today because of the advent of the Rand tablet. In the Rand tablet, a mesh of wire runs under the surface and the pen acts as an antenna for signals that are sent through the wires. Rand tablets are less expensive and quieter than spark pens.

Tablets typically have one or more buttons on the pointing device. When an actual pen is used there is a switch in the tip that can be activated by pressing down on the tablet surface. There may also be a puck that has a set of buttons on it (as many as 16). These devices can be programmed to do separate actions on the downstroke of a button, while it is down, when it is released, and while it is up. The coordinate values are, of course, absolute within the range of the tablet surface.

Tablet positions are displayed on the screen by drawing a cursor at the current position. This cursor is a symbol such as an X, an arrow, or crosshairs, which consist of two perpendicular lines drawn from one edge of the screen to another. Although some displays handle cursor tracking in hardware, many require saving, setting, and restoring of the image at each advance of the cursor. For the cursor to be visible over any part of the screen, it must be a unique color. This color can simply be the inverse of the value that is normally there so that each pixel of the cursor will stand out. Beware, however, of color maps that use the same color in complementary positions; a more suitable cursor-color algorithm may be necessary. Proper cursor tracking of the tablet will free the user from the need to look at the tablet, because the hand-eye coordination keeps the user's attention on the screen.



9.4.3 The Screen Surface

An obvious solution to the problem of having a special tablet surface is to use the display screen as a surface. The light pen does just that by having a photocell in the tip of the pen that is synchronized with the screen refresh. When the pen is touched to a point on the screen, the display determines its position because the pen signals when it detects the sweep of the electron gun. On calligraphic displays that cannot guarantee a gun hit at every point, a cursor is drawn under the pen so that motion in a particular direction signals the cursor to move that way, keeping some graphics under the pen at all times.

But why use a pen? The touch screen allows a finger to point on the display. Acoustic methods can be used to triangulate the finger position. Of course the finger is the least sensitive pointing device, so design cannot get very far with such input. In general, however, it is uncomfortable to use screen pointing for long periods, so few light pens or touch screens are found in CAD systems.



9.4.4 Mice, Tracker Balls, and Joysticks

The mouse is the most common two-dimensional-input device today because it is inexpensive, compact, and easy to use. There is no special surface; only a puck with a large ball bearing in it that sticks out of the bottom. The puck is rolled over any surface and sensors detect motion on the bearing. There are also buttons on top of the puck, giving it the same power as a tablet but without the cumbersome surface.

In actuality, the mouse must be rolled over a special surface so that it can get proper traction. Also, these surfaces get dirty and the dirt collects inside the bearing. To solve this, the optical mouse has no moving parts but instead tracks patterns of light and dark on a textured surface [Lyon]. The surfaces used with mice can be smaller than tablet surfaces because the devices use relative motion, so when the user hits the edge he or she need merely pick up the mouse and drop it back in the center for more range.

The tracker ball is simply an upside-down mouse (actually, tracker balls came first so the converse is more correct). Placing the ball bearing on top and having the user run a hand over it allows the same control to be achieved. Although no surface is needed, the buttons are harder to hold onto when the hand is moving, and there is no optical version to prevent the problem of dirt accumulation. Tracker balls are rare today.

The joystick is a relative input device consisting of a handle that can be moved in two axes. When the user pulls or pushes the handle, y control is achieved; when he or she moves it left or right, x is controlled. Some joysticks spring back to a center position and others must be returned manually. Since the center is a fixed concept, the joystick is typically used for velocity control rather than position information. It may also have buttons on the handle.



9.4.5 Unusual Input Devices

A novel concept in computer input is the notion of a feedback input device [Noll; Atkinson et al.]. When motors are included along with the sensors, the computer can not only sense position but also change it. Obviously, this works only with devices that can be physically moved by hand, such as joysticks and mechanically tracked tablets. The motors can be programmed to push back with an equal force so that the user "feels" a solid barrier. Such an effect could be used to stop design-rule violations, for example, and in other situations in which the CAD system can guide or restrict the design process.

An ever-popular notion in computer design is the possibility of using speech input. There are even CAD systems today that use a headset microphone to take commands such as "place," "rotate," and so on. Although this looks sexy to the nonuser, a few hours spent "speaking" a circuit will convince anyone that there must be better ways. Speech input is best used for only infrequent conversations, and in those situations in which manual input is not possible. For example, during the processing of integrated-circuit wafers, an engineer may have both hands in a glove box and still need to direct a computer. This is the place for speech input.


Prev Previous     Contents Table of Contents     Next Next    
Steven M. Rubin
    Static Free Software SFS