2008/07/25

The Labs.Com Input Devices
Last update 2000/05/27
The Labs - Design & Functionality For The Net

HomeAppliance: Input Devices & Control

Input Devices
1. Overview

Keyboard
 The keyboard has 105 (or more) keys: A-Z, a-z, 0-9, special characters, plus TAB, CTRL, ALT, RETURN, INS, DEL, HOME, END, PAGE UP, PAGE DOWN, LEFT, RIGHT, UP, DOWN, ESC, F1-F12

Support: via X11 key-bindings.

Binding: direct key bindings

Focus: via TAB (next), SPACE (next), CURSOR LEFT (prev), CURSOR RIGHT (next)

Action: Button: RETURN, Slider: PAGE DOWN or '-' or ',' (down), PAGE UP or '=' or '.' (up)

Mouse
 Mouse has three buttons, plus X,Y coordinates.

Support: via X11.

Focus: via X,Y (mouseOver)

Action: Button: mouse button, Slider: move mouse (til release)

IR Remote Control
 Remote control has as minimum: 0, 1, 2, 3, 4, 5, 6, 7, 8, Volume Up, Volume Down, Program Up, Program Down, Switch Device (Tape, Radio, Video)

Support: via LIRC.

Binding: direct key bindings

Focus: via PRG UP (next), PRG DOWN (prev)

Action: Button: "0", Slider: Volume Up (up), Volume Down (down)

Hardware: your existing TV remote-control, receiver (to be researched)
IRMan
IR receiver to PC (serial)

Touch Screen
 Touch-Screen: same functionality as mouse, with exception only one button.

Support: via X11 (XFree86 supports Elo: Linux-support)

Binding: behaves like the mouse

Focus: direct

Action: push screen

Hardware:
EloTouch.Com
ELO touchscreen (various tech. approaches)
TrollTouch.Com
CRT touchscreen (+ add-ons)

Voice
 Voice-control: english spoken words, and entire sentences via microphone.

Support: via ViaVoice for Linux developed by IBM.

Binding: certain words (e.g. "RADIO", "VIDEO", "TV" etc)

Focus: word "NEXT" (next), word "PREVIOUS" (prev)

Action: Button: "ACTION", Slider: "UP" (up), "DOWN" (down)

Hardware: Microphones:
Labtec LVA-7280 ClearVoice Digital Microphone
~ $130
Andrea Desktop array DA-400
~$150

Input Devices
2. Implementation

The challenge lies within the inter-operateability of all input-devices, or in a nutshell, all input-devices should be able to feed the UI (User Interface). For simplicity we assume all is event-driven, no polling.

In general we have two ways to access the controls, FocusWalking and DirectBinding.

Direct Binding
 Most actions are binded to certain events, and each event is connected to one of the input-devices. Certaintly X11 has powerful input-device support, but the IR remote control, as well the Voice control aren't implemented (and won't I guess). A decision has to be made: using X11 entirely as app-layer, or developing something on top? X11 provides focus-setting, and is by event-driven anyway. For now the IR- and Voice-control will be implemented 'aside' of the X11 events (mouse, keyboard, touchscreen). This means, all developed apps require X11 to run, which might be a wise decision, maybe not - let's see.

Most common action should preferable attached to certain direct buttons, keys or words depending on the input device.

Focus Walking
 Each control can have a focus, and a certain action activates it. For more complex tasks this way should be chosen.

                                                                                                                                   

Last update 2000/05/27

All Rights Reserved - (C) 1997 - 2008 by The Labs.Com

Top of Page

The Labs.Com