2012/02/04

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.

                                                                                                                                   

Hipocrisy of the finest: "I agree that no single company can create all the hardware and software. Openness is central because it's the foundation of choice."
-- Steve Balmer (Microsoft) blaming Apple regarding iPhone, February 18, 2009

Last update 2000/05/27

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

Top of Page

The Labs.Com