KITTY: Keyboard Independent Touch Typing in VR
Transcription
KITTY: Keyboard Independent Touch Typing in VR
KITTY: Keyboard Independent Touch Typing in VR Carsten Mehring Dept. of Mechanical and Aerospace Eng. University of California, Irvine, CA 92697 {cmehring}@uci.edu Falko Kuester, Kunal Deep Singh and Michelle Chen Dept. of Electrical Eng. and Computer Science University of California, Irvine, CA 92697 {fkuester,singhk,mchen}@uci.edu Abstract A new hand- or finger-mounted data input device is presented, using traditional touch-typing skills as method of (alphabetic) character input thus providing an ultra-portable solution for “quiet” data input into portable computer systems. The presented keyboard independent touch-typing device (KITTY) offers high data input rates and a virtually zero learning curve for new users. 1 Motivation With recent advances in portable computing and in particular the design of pocket PCs [13] and eye-glass displays [14], the development of new augmented reality (AR) environments has been made possible. However, one of the current shortcomings in these AR systems is the lack of intuitive input devices that provide users with complete control over their workspace. In particular in environments where voice input is undesirable or infeasible, touch-typing capabilities have to be available to allow for intuitive access to possibly complex data. 2 Introduction The size, layout and weight of traditional keyboards make them poor candidates for use in mobile AR applications. In particular, if integration with mobile computing devices, such as personal digital assistants (PDAs) or pocket personal computers (PocketPCs) is desired, a new generation of natural handheld input devices is required. Today’s mobile computing devices frequently include a physical or digital miniature keyboard, that may be integrated with the device, worn on the user’s wrist or simply be part of the display area. Unfortunately, these keyboards generally require the use of both hands, one holding the device and the other for finger-based or stylus-based data input. The selection of individual keys on a hand held display-based keyboard, for example, is a rather inefficient process and requires the user to look at the keyboard devise. Handwriting Figure 1. Prototype glove system illustrating initial contact placement. recognition can increase input rates after extensive training but is still very limiting. This performance gap is problematic if the portable computing devices are to be operated at the level suitable for today’s computational platforms. Other devices for data input into portable computing units, include chording devices, such as a hand-mounted keypads that require the user to press different key combinations to generate the characters found on a standard keyboard. Further alternatives include microphones in combination with voice recognition software. The former input devices typically do not meet the data input rates desired for full-scale interaction and typically require the user to learn a chording/coding language particular to the specific device. On the other hand, privacy concerns or ambient noise frequently limit the use of voice recognition devices. Possible scenarios include input of confidential or sensitive data via voice recognition in conference settings, meetings, or crowded public places, such as airports. 3 Related Work With a demand for decreased keyboard size and increased portability, while maintaining the traditional keyboard layout, new device concepts are required. A first attempt was the development of foldable keyboards that allowed users to carry familiar input devices with reduced physical footprint. While these devices are certainly more compact than traditional full-size keyboards during transport, a folding keyboard is still relatively large in the unfolded state in which its surface requirements match that of a traditional full-size device. Other devices have tried to reduce the number of keys rather than reducing the overall size of the keys in order to achieve size reductions. For example, one-handed keyboards use only half of a traditional keyboard by mapping two characters on each key. This requires the addition of a switch (keyboard identification) key, enabling the user to toggle between two sets of characters, each representing one-side of a full-size keyboard. Even though “half-keyboards” may have a very small footprint, they commonly still require a support surface. The “body-wearable keyboard” and similar the so-called “Gesture-Pad”, which is under development by Sony Inc., place “keyboard-keys” on the users clothing or a skeletal structure worn on the users body. Even though this increases portability, it greatly restricts the users arm-movement and flexibility for data input. Many of the existing keyboard- or keypad-less data input devices for portable computing applications, use finger or hand mounted sensors in order to generate the signals that would normally be generated by pressing a keyboard key. The ”finger-mounted computer input device” [11], the ”fingerless glove for interacting with a data processing system” [15] and the ”Virtual Keyboard” by Senseboard Technologies [12] use pressure sensors on the users fingers or sensors (mounted on gloves) measuring flexure of the fingers in order to determine data input via finger positions with respect to a physical or virtual reference surface. Generally, these devices assume that the reference surface functions as virtual touch-typing environment. As for folding keyboards, the need of a physical support surface greatly limits the mobile computing capabilities of these devices. In response to this limitation, hand- or finger-mounted input devices have been proposed, such as the ”Chording Glove” [16] and ”Twiddler” [1]. The Chording Glove has contacts at various positions on the fingers and thumbs and a combination of contacts (chord) is pressed simultaneously to generate a specific keyboard event. Although chording devices remove the need for a support surface, their use requires substantial training as the user has to learn a new coding language. Vaughan R. Pratt describes a device-independent digital sign langue (Thumbcode), using keys on the users fingers that are activated by the thumbs of the same hand [10]. In order to generate different input signals with the same key, the user has to pair neighboring fingers according to a prescribed coding language. As with chording, thumbcoding requires a user to essentially learn a new coding language in order to enter data into the computing device. The functionality of the so-called Lightglove by Howard [4, 3], is based on the generation of a ”light-matrix” below the users hands. Penetration and location of penetration of this matrix by the users fingertips is detected and electronically mapped to an overlay assigning each position a character according to the layout of a traditional keyboard. This operation of the device involves simultaneous scanning of the matrix with various light emitting diodes or lasers, evaluation of the scattered electromagnetic waveforms by various light sensitive detectors and signal filtering in a bandpass filter in order to reject non-correlated ambient signals. Generation of the optical matrix and detection of finger position in this matrix is fairly complicated. Furthermore, the system has to be calibrated (possibly in real-time) for specific ambient conditions, such as strong ambient illumination or electromagnetic interference. The lack of tactile feedback (providing confirmation of data input as is the case for touch-typing on a keyboard) may also result in lower data input rates. The use of an optical reflection matrix to detect signal input by predicting finger position with respect to the optical matrix below the user’s hands does not allow for free finger motion without the risk of data input. Instead, the user has to hold the hands and fingers in a more-or-less stretched out position in order to omit interference with the optical matrix. The involuntary generation of signals is a common problem with these devices and has to be addressed. Finally, many of the devices described in this section are large, counter-intuitive, and too cumbersome for fast data input. Most users when confronted with having to learn an entirely new coding language in order to enter information will likely decide against using such a device. This is particularly true for good VR or AR applications that should require only very limited user training. For VR/AR and mobile computing applications, intuitive, flexible, and efficient, keybaordless input devices are urgently needed. KITTY, a device prototype that addresses these objectives is presented in this paper (Figure 2). 4 KITTY Interface The presented KITTY interface overcomes the limitations described in the previous sections by providing intuitive access to common touch-typing skills. To accomplish this, the device provides multiple contacts on each finger that are only activated when the appropriate finger and thumb contacts are combined. The layout of these contacts follows the traditional QWERTY keyboard layout, allowing anyone with previous touch-typing experience to immediately use the device. A significant advantage of this device is that arbitrary finger motion is allowed without data input, as long as finger contacts and thumb contacts on a single hand do not meet. In other words, KITTY allows the user complete freedom for ! 1 @ 2 Q Esc Caps Lock # 3 W A $ 4 E S Shift ^ 6 R D Z Ctrl % 5 X T F & 7 Y G C V * 8 U H B ( ) 9 I J O K N < , M : ; D E F D0E0 F0 A C B 1 23 A0 C0 B0 4 Back } ] " ’ > ? . / Alt + = { [ P L ~ ‘ Alt _ − 0 Ins | \ Enter Shift u l d Del r 678 5 A 3F / ./! ,# (! 055 % P' " bottom top row (dashed) and row (dash-dot) characters. @ # $ % ^ & * ( ) _ + Back 2 3 4 5 6 7 9 − = !137" 02 is referred to as the top row and 8the row0 below the base row { } | Q W E R"5" T Y 9"95" U I %"%5 O P Esc [ ] \ referred (ZXCV ...) is annotated with a short dash: line and " " Caps A "F Figure K illustrates S D G H L Enter ; ’ the Lock to as the bottom row. 3J also enumer $"$5" 8"85" <A"A5 > ? u Shiftleft-hand Shift (5-8) Z X fingers C V (1-4), B N right-hand M , ation of fingers . / Ctrl " (A,A0), " r and ~ l d Alt Alt Ins Del thumbs with thumb contacts (B,B0), (C,C0), (D,D0), ‘ Figure 3. Standard US-keyboard (HP Omnibook 500 C) with division of alphabetical characters into ‘base’ row (solid), Figure 2. KITTY (left) and Twiddler (right) in comparison. hand movements while only generating input when fingerand thumb-contacts are combined. (E,E0), (F,F0) employed of the wired protoD key-map A for the E C B F 1 23 678 (3) (6) type as discussed in Section 4.2. A0 D0 E0 F0 5 4 C0 B0 (2) Ctrl _− 4.1 Finger-Thumb Touch-Typing (7) Del A 3F / Key-Map Wired ./! Prototype ,# (! 055 % P' " Figure 4 illustrates the location of electrical contacts on the user’s hands as employed within present wired 37" 02the prototype and following key layout in Figure 3. Both the "5" 9"95"shown %"%5 Left Hand (TOP) " are Hand (TOP) fingerand thumb-contacts An electric employed. Right " cir $"$5" 8"85" A"A5 cuit is closed and a signal is generated upon closing of one with one "thumb-contact as " below finger-contact discussed A 1F G 32 in detail. " 5 $5 P ' P' "’ Enter 4.2 Caps Lock (1) += |\ Two different key-maps were proposed for the fingermounted KITTY interface. Section 4.2 discusses the alphabetic key-mapping as employed in the wired prototype shown in Figure 8. The mapping of alphabetic keys is described in the framework of a comprehensive mapping procedure for the entire set of keys/commands found on a standard keyboard. Note that, the wired prototype shown in the photograph employs a commercially available keyboard by GrandTecT M and provides alphabetic data-input functionality as well as punctuation marks and a limited number of essential commands such as “Delete”, “Space”, “Return”, and “Shift”. Section 4.3 describes a slightly modified key-map procedure for alphanumeric character input. This mapping is proposed for the new wireless KITTY interface currently in development. Figure 3 illustrates a standard QWERTY keyboard, which was used as the reference for the design of the KITTY keyboard mapping. While the QWERTY layout was chosen for the initial implementation other key mappings such as Dvorak or the half-keyboard can be easily supported. Using the standard QWERTY keyboard (Figure 3) via touch-typing, a user’s fingers are normally in a home position that includes placing the left pinky on the A-key, the ring finger on the S-key, the middle finger on the D-key and the left index finger on the F-key. The home position for the right hand includes placement of the right index finger on the J-key, the right middle finger on the K-key, the index finger on the L-key and the right pinky on the ;-key. This row (ASDF ...), which is annotated in Figure 3 with a solid line, may be referred to as the base row. The row above the base row (QWERTY ...) is annotated with a long dashed line and (5) (4) Alt (8) Esc :; {[ Tab l Shift Shift ~‘ Ins Back }] (A0) Space u r (D0) A d D (B0) (B) (E0) (E) (C) (F) (C0) (F0) (3) (6) (2) Ctrl _− (5) (4) (7) Del "’ Enter Caps Lock (1) += |\ Alt (8) 3 2 Esc8 Shift Shift :; {[ ~‘ 4 (A0) Space (D0) Ins u r 7 5A d D (B) Tab 9 6 Back }] 1 l (B0) (E0) 10 A 7F F F %! (E) (C) (F) Left Hand (TOP) (C0) Right Hand (TOP) (F0) A D A 1F G 32 " 5 $5 P ' ;F P' A 3Y35 * 5Y6 shown in P/' lines, P' As Figure 4 by dashed finger contacts 1-8 $ are located on the palm-sideof the user’s hand3Y0 near the tops There 435 of the fingers or the fingertips. is one finger contactA 7F F pinky, 9" on the ring, middle and index finger of each hand (1-F %! FigureLeft4.Hand Wired con(TOP) prototype: Location of a) fingertip Right Hand (TOP) tacts (1-8) (dashed lines indicate location on the inside of each hand), b) thumb contacts (A(0) - D(0)) and c) ‘sidefinger’ contacts for ‘special’ character input. 2 3 8 9 4 1 5 6 7 10 D 8). Also, there are six Acontacts A-F, A0-F0 on each thumb; three contacts on each inner thumb and three contacts on Left Hand (TOP) Right Hand (TOP) each outer thumb. As described in more detail below, signals for letters A-Z are generated by contacting one of the A ;F 3Y35 * 5Y6 P/' P' $ 3Y0 435 9" A 3F / ./! ,# (! 055 % P' " 37" 02 "5" 9"95" %"%5 six A-F, finger contacts 1-8 " with one of the thumb " contacts $"$5" 8"85" A"A5 A0-F0 on the same hand. " " As shown in Figure 4, there are supplemental finger con- Tables 2(a) through 2(f) illustrate finger-thumb contact combinations employed for the wired prototype in order to generate the signals that would be generated by pressing the keys on a standard QWERTY keyboard. The middle thumb tacts located along the sides of the user’s fingers nearest to (3) (6) contacts B, E are used for characters in the base row. The top the user’s(2) _−thumbs. Any given finger may have (7)three sup(5) Ctrl (4) thumb contacts A, D are used for characters in the top row Del "’ second and plemental contacts located proximate to the first, Enter and the bottom thumb contacts C, F are used for characters in Caps Lock (1) += third segment ofAltthe user’s finger. These supplemental(8)con|\ Esc the bottom row. For example, on a QWERTY keyboard the Tab Shift tacts are used to~‘ generate signals Shift representing lspecial char:; {[ character “a” is the character that would be typed using the u Ins Back r located near acters. For example,Space the supplemental contacts (A0) (D0) }] fifth finger of the left hand in the home (base row) position. d D the base and middle of(B)Athe (B0) ring (E0) and pinky fingers of the right (E) With the present method, the signal representing the charac(C) (F) hand are used to generate the same signals that would be genLeft Hand (TOP) Right Hand (TOP) (C0) ter “a” is generated when the finger contact 1 on the pinky (F0) erated by the arrow (left, right, up and down) keys. A signal finger of the left hand (see Figure 4) is closed with the thumb is generated by contacting a particular supplemental contact contact B (representing the base row). Since the left pinky with A the thumb D located the inside tip of the 1F contact GA or on 32 finger is used to press the “q” character located on the upper “Thumb-coding” is thumb of the same hand. In other words, row of a keyboard, the signal representing the character “q” 5 P use of used " for these special characters due $5 to the infrequent is generated by closing the contact between the pinky finger ' P' these characters. contact 1 and the top thumb contact A (see Figure 4). As can be seen in Figure 3 and Table 2(b), the combination of finger contact 1 and thumb contact A is used to generate the signal representing the character “q”. Since the index finger is used two characters on a given A 7Fto reach F = row, 9an additional thumb contact for each row is located on the back or outside of the F %! ! A D user’s thumbs. See contacts A0-F0 in Figure 4. For example, to generate the signal representing the character “f”, the Left Hand (TOP) Right Hand (TOP) finger-thumb-contact combination 4-B is used. The contact combination used to generate the character “g” is 4-B0 which implies contacting the left index finger 4 with the center conA ;F 3Y35 Figure 5. Wired Prototype: Additional contacts 1–10 lotact on the outside of the user’s left thumb B0 (see Figure 4). * cated on the fingernails and/or neighboring finger seg 5Y6 Note that, due to ergonomic reasons, finger-thumb contact 1ments of each hand for input of numbers 0–9 and (upon P/' P' C is not used to generate “z” but rather 8-E. Accordingly, “;” using ‘Shift’) several ‘special’ characters. Data input is $ 3Y0 and “ :” are generated by one of the supplemental contacts achieved by closing contacts with thumb 1–5435 contact A located on the sides of the fingers as shown in Figure 4. and 6-10 with thumb contact B, respectively. contacts 9" The previously described method to generate numeric data input (using contacts 1-10 in Figure 5), avoids the need As illustrated in Figure 5, additional contacts (denoted by of placing four thumb contacts on the inside of each thumb numbers 1-10) may be located on the fingernails (for the inin order to mimic a total of four rows on a standard keydex fingers also on the neighboring finger segment) for input board. The latter is problematic considering the finite size of digits 0-9. Upon using the “Shift” contacts, several special of the electrical contacts and the limited area on the inside characters can be generated using these additional contacts. thumb which is easily accessible by the finger contacts on Data input for digits 1-5 is achieved by closing finger conthe palm-side tips of the fingers. tacts 1-5 in Figure 3 with thumb contact A and data input for digits 6-9 and 0 is achieved by Closing finger contacts 4.3 Key-Map Wireless Interface 6-10 in Figure 3 with thumb contact D. Using contacts 110 (of Figure 5) for input of digits 0-9 still uses fingering Table 1 illustrates an alternate keyboard mapping based or finger movement analogous to the fingering on a standard on four thumb contacts (T1-T4) and six finger contacts (LP, keyboard; however, now signal input is not achieved by comLR, LM, LI1-LI3) placed on the pinky, ring, middle and inbining a contact on the inside tip of the fingers with a thumb dex fingers as shown in Figure 6. Contact T1 is placed on contact but rather by combining a contact on the outside or the thumb nail, T2 on the thumb pad, T3 on the center of the nail-side of the finger tips with the thumb contact located on thumb pad and T4 on the bottom of the thumb pad (just below the palm-side tip of the thumb of the same hand. In other the knuckle). As for the prototype key-map described in Secwords, when using contacts 1-10, the thumb contacts A, D tion 4.2, finger-contacts represent rows and thumb-contacts represent the upper-most or fourth row of keys on a standard represent columns on a standard keyboard. Here, a new lakeyboard carrying the number keys. belling is employed to allow the reader to easily distinguish 2 3 8 9 4 1 5 6 7 10 LP 1 Q A Z T1 T2 T3 T4 LR 2 W S X LM 3 E D C LI1 4 R F V LI2 5 T G B LI3 RI3 Shift Space Shift Space RI2 6 Y H N RI1 7 U J M RM 8 I K <, RR 9 O L >. RP 0 P ”0 ?/ Table 1. The KITTY keyboard to hand mapping based on four contacts per thumb (T1-T4) and six additional finger contacts for the left (L) and right hand (R). between both mapping schemes. LM LI1 LR RI1 LI2 RI2 LI3 RI3 RM RR LP RP T1 T1 T2 T3 T4 T2 T3 T4 Right Hand Left Hand Figure 6. Finger contacts for wireless KITTY implementa- the top knuckle, LI2 or RI2, corresponds to the second column of keys (”t”, ”g”, and ”b” for the left index and ”y”, ”h”, and ”n” for the right index) that the index finger presses on the keyboard during touch-typing. The location of this contact follows the sequential feel of moving from finger to finger and column to column. LI3 and RI3 are used for the ”Shift” and ”Space” keys, which have no finger contacts that match the row-column arrangement. Keeping in mind, however, that the ”Space” key sits below the ”Shift” key, the third index contact is paired with T4 for ”Shift” and T3 for ”Space”. The T2 contact is reserved for a missing number key as discussed below. tion. TI-2 T2-W T3-S T4-X TI-3 T2-E T3-D T4-C TI-1 T2-Q T3-A T4-Z TI-7 T2-U T3-J T4-M TI-4 T2-R T3-F T4-V T2-Y T3-H T4-N T2-T T3-G T4-B T1 Left Hand TI-9 T2-O T3-L T4-> . T2-6 T3-Shift T4-Space T2-5 T3-Shift T4-Space T2 T3 T4 TI-8 T2-I T3-K T4-< , TI-0 T2-P T3-" ' T4-? / T1 T2 T3 T4 Right Hand Figure 7. Keyboard to glove mapping of wireless KITTY implementation. According to the alphanumeric mapping summarized in Table 1 and illustrated in Figure 7 each finger contact is linked to the column of characters it would press on a keyboard using touch-typing. For example, the middle finger of the left hand, LM, is linked to ”e”, ”d”, and ”c”, the same keys this finger would normally press on a keyboard using touch-typing. The three thumb contacts match the three letter rows on a normal keyboard. The contact at the tip of the thumb, T2, corresponds to the top row of the keyboard, T3 to the base row, and T4 to the bottom row. Using the left middle finger again as an example, LM would yield ”e” when touched to T2, ”d” when touched to T3, and ”c” when touched to T4. In this modified key-map, each index finger has two more contacts on the side of the finger, LI2, LI3, RI2, and RI3, spaced above and below the top knuckle. The contact above Numeric input is provided by simply placing another contact, T1, on the back of the thumb on the nail. The finger contacts are touched to T1 consecutively in keeping with the traditional keyboard assignments. This configuration for numbers works also well for non-touch-typists since it follows a traditional method of finger counting. Starting at the left pinky, LP touches T1 to generate the number 1, and then LR, LM, and LI1 follow for numbers 2 to 4. The number 5 is the missing number that uses the LT3 to T2 combination. Although an odd combination, it still follows the flow of the series as the tip of the thumb is used for number 5 like the finger pads for the other numbers. The right hand picks up number 6 in a mirror series to the left hand, with 6 to 0 moving through RT3, RT1, RM, RR, and RP in that order. As with the key-map discussed in the previous section, a drawback to the described key-to-glove mapping is the bottom row key on the pinky. Touching LP or RP to T4 has an “awkward feel” to it. A momentary slight strain is felt in stretching the pinky towards the lower pad of the thumb. Like learning an awkward chord on a guitar, it is possible that the strain will lessen with prolonged use as the hand adjusts towards this unaccustomed position. One could argue that the keys ”Z” and ”? /” are used so infrequently that there is no concern regarding continuous straining of the tendons. If it is found, however, that the awkwardness and discomfort of the particular finger combination becomes an issue, an additional contact could be placed on the sides of the middle fingers to offer an alternative and a more comfortable combination. 5 Hardware Implementation Two different implementation strategies were investigated supporting a wired and wireless configuration of the KITTY device. 5.1 Wired Prototype Initially, the KITTY interface was implemented with minimal effort using the “Virtually Indestructible” foldable keyboard by GrandTecT M (see Figure 8). The mentioned keyboard was chosen due to the 100 % correspondence between the circuit layout on the two membranes of the keyboard and the key-mapping described in Section 4.2, with fingercontacts representing keyboard columns and thumb-contacts representing keyboard rows. Wires were attached to the corresponding locations on the keyboard membrane circuitry using self-adhesive copper tape. Wirewrap was used to keep the design sleek. The wire ends were then collected and attached to two golf gloves according to the layout shown in Figure 4. Figure 8. First prototype system utilizing traditional roll-up keyboard as the keyboard encoder. Clearly, the wiring or printed circuitry on the two membranes of the ”Virtually Indestructible Keyboard” by GrandTec perfectly matches (without modifications) the mapping proposed in Section 4.2. The GrandTecT M keyboard uses two membranes, membrane A onto which the wires for the finger contacts are attached and membrane B onto which the wires for the thumb contacts are attached. The contacts for the letters on membrane A are connected in a column format and the contacts on membrane B are connected in a row format. 5.2 Wireless Interface Once a finger-thumb contact has been established according to the mapping schemes discussed earlier, various methods can be used to generate the signals. For example, wires from the contacts may be connected directly to a keyboard encoder. The keyboard encoder may be located on top of the user’s hand. For example, the keyboard encoder may be attached to a glove, such as the one shown in Figure 9. The signal that is generated can then be transmitted to the computing device via wire or wireless, e.g., infrared (IR) or the like. The computing device can then display the character represented by the signal. Keyboard Encoder – A 8x12 keyboard encoder would suffice for the keys mapped according to Section 4.3. However, a 8x16 matrix is preferred; the larger matrix allows future functionality for additional keys such as macro keys. The smallest possible platform and low power consumption are other factors in deciding which keyboard encoder to use. A small platform is necessary to keep the wearable device unobtrusive and comfortable to wear for the user. Since power would be supplied by batteries, it is important that power consumption be minimized for longer battery life. For the above reasons, the Motion Encoder ME1001A keyboard encoder was selected for the wireless KITTY interface. Thumb contacts are wired to the row pins of the encoder, while the finger contacts connect to the column pins. The encoder transmits a single keystroke as a TTL serial signal at 2400 bps with no parity, 8 data bits and 2 stop bits. A hexadecimal number from 0x00 to 0x7f (decimal 0 to 127) indicates which key on the matrix was selected. This number is transmitted as part of a byte and occupies bit positions 0 to 6. The seventh bit indicates the key state of key down or up. The recommended 6MHz resonator is attached to the encoder. Other additional components that must normally be added to other encoders, such as pull up resistors, are internal to this encoder and helps keep the size of the device as small as possible. Wireless Signal Transmission – The KITTY interface was created with portability and convenience in mind. Accordingly, it was our goal to add wireless signal transmission capabilities to a second generation KITTY interface providing data-input via gloves which are physically disconnected of the computing device itself. From the wide range of wireless technologies available, BluetoothT M technology has been used. BluetoothT M wireless technology is being used extensively in wireless and portable devices like cell phones and PDA’s, and has become a wireless standard. It provides plug and play type connectivity between any two or more BluetoothT M devices. One of the goals behind the ongoing development of KITTY is to provide an input device that could work with PC’s, PDA’s, Pocket PC’s and any other device that requires alphanumerical input. Hence the use of BluetoothT M wireless technology was appropriate for this application. Within the new wireless KITTY data-entry system, the serial output of the encoder is fed into a BluetoothT M RS232/UART DCE Terminal that is configured to communicate serially with the encoder. For this prototype the Wire- less Futures BlueWAVE RS232 PCB DCE Terminal is used that connects to a generic BluetoothT M USB dongle/adapter that supports the BluetoothT M serial port profile. This DCE terminal was chosen for sake of programmability, low power consumption and its size. The prototype has been developed for a Windows 9x and Windows NT platform. The adapter used in this case is the D-Link DBT-120 BluetoothT M USB adapter. It does not require any external power supply, but receives all necessary power from the USB port. The DCE terminal requires a supply voltage that is between 3.3V to 9V DC, which is accomplished by using four AA Ni-MH rechargeable batteries that provide 1900mAh each and a total potential difference of 5.2V. The terminal’s average current consumption is 1.8mA when it is in the idle mode and 60.9mA while it is transferring data. The DCE terminal measures about 40mm x 30mm x 5mm, and the antenna extends about an inch over that. The voltage is applied across pin 1 and pin 12 of the DCE terminal with pin 1 connected to the positive terminal and pin 12 connected to the negative terminal of the 5.2V battery pack. The serial data is connected to the TxD pin, which is pin 6 of the DCE terminal. Pins 3 and 4 are connected to each other in order to disable any hardware flow control. The serial data signal and the voltage supply are connected to the DCE terminal using a 0.05” (1.27mm) pitch ribbon cable. Both the adapter and the DCE terminal conform to the BluetoothT M v1.1 standard. When power is switched on for the DCE terminal it will become “discoverable” by other BluetoothT M devices. Since it is a DCE terminal it can only be used as a slave module. The BluetoothT M serial port profile creates a virtual COM port on the PC, which is used for connecting the two devices. The virtual COM port is similar to a physical COM port, but instead of having a wire for transferring the data, the data is transferred wirelessly. The serial data from the encoder is received by the terminal and is transmitted to the adapter. The virtual COM port is also configured to the same setting as the encoder and the terminal. Then a software driver decodes the data received and produces the appropriate keystroke. The information is transmitted at 2400MHz to 2483.5MHz frequency, as specified by the BluetoothT M standard. The driver is responsible for configuring the virtual Com port, waiting for the data, decoding the data and producing the appropriate character using the keybd event() system call. 5.3 Design Concepts Various designs have been considered for implementing the described KITTY interface. The employed prototype design shown in Figure 1 and Figure 9 uses contacts attached to gloves (only one glove is shown in the figures carrying only contacts for alphabetic character input). The contacts are connected by wires to the encoder and (for the wireless implementation) transfer electronics. Preferably, the gloves are fairly thin and lightweight, thereby allowing the user to easily manipulate his fingers. An alternative configuration also shown in Figure 9 has contacts mounted on clips or half-rings. The clips are attached to a skeletal structure. The keyboard encoder and transfer electronics (e.g., wireless transmission electronics) are also mounted to the skeletal structure. Figure 9 shows an exemplary skeletal structure for the left hand. The skeletal structure rests against the user’s palms (or alternatively on the back of the user’s hand) and the contacts are positioned on the user’s fingers by placing the clips (on which the contacts are mounted) around the user’s fingers and thumbs. The clips can be attached to the skeletal structure in a way that allows adjustment of the positions of the clips in order to accommodate different finger and thumb lengths. The skeletal structure can also be adjustable in order to accommodate hands of varying sizes. The main purpose of the skeletal structure is to preserve the integrity of the overall system. Figure 9. Top: Glove-based prototype design. Bottom: “Click-on” skeletal-structure design. The designs discussed here can also be configured to be used on one of the user’s hands to simulate a “HalfKeyboard”. The location of contacts on the hand being used (either right or left) would be the same as in the configuration of contacts when using finger/thumb based touch-typing in the two-handed configuration described above. 6 Results With recent advances in portable computing and in particular the design of pocket PCs and eye-glass displays, efforts aimed at the design of portable input devices and techniques have increased. While voice recognition is becoming a strong contender for next generation input technology, privacy concerns and ambient noise problems are still a challenge and alternative approaches are required. The presented KITTY interface consists of a finger-mounted device mimicking finger movements similar to traditional touch-typing in order to provide alphanumerical data input. This low cost device guarantees a rapid learning curve for everyone experienced in touch-typing while offering significant flexibility. Two prototypes were build one using a PSII and one using a USB version of the GranTec keyboard. Priced at around $50 US for parts the KITTY device proved to be a very cost effective solution. The proof-of-concept implementation of the KITTY device was tested with wearable devices and desktop systems and demonstrated its effectiveness. References [1] Handykey Corporation. www.handykey.com, 2003. [2] M. E. Horn. Single-hand mounted and operated keyboard. U.S. Patent 5,552,782, September 1996. [3] R. B. Howard. Wrist-pendent wireless optical keybaord. U.S. Patent 6,097,374, August 2000. [4] Lightglove. www.lightglove.com, 2003. [5] MachineBrain.com. www.machinebrain.com, 2003. [6] E. Matias, I. S. MacKenzie, and W. Buxton. Half-QWERTY: Typing with one hand using your two-handed skills. In Proceedings of ACM CHI’94 Conference on Human Factors in Computing Systems, volume 2 of INTERACTIVE EXPERIENCE, pages 51–52, 1994. [7] E. Matias, I. S. MacKenzie, and W. Buxton. A wearable computer for use in microgravity space and other non-desktop environments. In Proceedings of ACM CHI 96 Conference on Human Factors in Computing Systems, volume 2 of INTERACTIVE POSTERS: CHI in Space, pages 69–70, 1996. [8] Matias Corporation. www.halfkeyboard.com, 2003. [9] R. P. McCarty. Wearables central: Softwear. wearables.blu.org, 2003. [10] V. R. Pratt. Thumb-code: A device-independent digital sign language, July 1998. [11] K. R. Prince. Finger-mounted computer input device. U.S. Patent 5,581,484, December 1996. [12] Senseboard Technologies. www.senseboard.com, 2003. [13] Stanford Wearables. wearables.stanford.edu, 2001. [14] The MicroOptical Corporation. www.microopticalcorp.com, 2003. [15] S. Vance, L. Migachyov, W. Fu, and I. Hajjar. Fingerless glove for interacting with a data processing system. U.S. Patent 6,304,840, October 2001. [16] A. Wozniak. Pic-key chorded keyboard. http://mudlist.eorbit.net/ adam/pickey/, 1999. Finger-Thumb Contact 1-B 2-B 3-B 4-B 4-B0 Character A S D F G (a) Left-hand base-line characters. Finger-Thumb Contact 1-A 2-A 3-A 4-A 4-A0 Character Q W E R T (b) Left-hand top-line characters. Finger-Thumb Contact 1-C 2-C 3-C 4-C 4-C0 Character Z X C V B (c) Left-hand bottom-line characters. Finger-Thumb Contact 5-E0 5-E 6-E 7-E 8-E Character H J K L Z (d) Right-hand base-line characters. Finger-Thumb Contact 5-D0 5-D 6-D 7-D 8-D Character Y U I O P (e) Right-hand top-line characters. Finger-Thumb Contact 5-F0 5-F 6-F 7-F 8-F Character N M <, >. ?/ (f) right-hand bottom-line characters. Table 2. Prototype Key-Map for KITTY device.