Outsourcing Consulting News
Customer - Bluetooth Keyboard Drivers
This UK based company is the world leader in touch sensitive interactive textiles for electronics interface design. The company's core technology is a unique electro-conductive fabric touch pad optimized for the creation of flexible, durable and rugged fabric touch screen interfaces.
It is used in applications ranging from wearable electronic controls for consumer electronics and industrial wear to lightweight, low-power touch interfaces for windows phones accessories, telematics, military, transportation and space suits. It replaces the hard touch pads, flexi-circuits and polymer switches which have limited the growth of the wearable electronics markets.
Business Case for Bluetooth Keyboard Drivers
Customer's product, the fabric keyboard unit, consists of a fabric sensor that allows key press positions to be converted to key codes via an electronics interface. The key codes are transmitted to the target device over the bluetooth link using a serial port profile.
A set of Bluetooth Keyboard Drivers was required to reside on target devices (phones/PDA's) that would allow the PDA/Phone to receive input from Bluetooth Keyboard, via the Bluetooth link (using SPP).
Bluetooth Keyboard Drivers Solution
The customer came to SolveITLabs because we have a lot of experience in Symbian Signed Certified device driver development for mobile platforms.
The solution was a set of drivers that supported the following:
Information transmition from the fabric keyboard via Bluetooth SPP at 9600 baud (battery level, calibration information, typing setting parameters, serial number and version information, and shutdown information.)
Multiple language version support
Menu driven structure with embedded help items to guide users through operations such as calibration, pairing and changes of keyboard parameters.
Compatability with all standard applications (e.g. mail messaging, contacts, calendar, to-do, calculator etc)
Keyboard settings are as the following:
- Sensitivity - to set the keyboard sensitivity
- Repeat Rate - the speed at which a character repeats when you hold down a key
Repeat Delay - amount of time that elapses before a character repeats when you hold down a key
Keyclicks - to emit a "keyclick" when pressing a key
Disconnect After - automatically disconnects and turns off after length of inactivity
Battery Level - to set the low battery warning level
Language - to choose an input language
Test Keyboard Settings here - to see how the keyboard settings affect the display as you type
Supported Platforms: S60 2nd and 3rd editions, UIQ 2.1 and UIQ3, Palm, Windows Mobile 2005, RIM (Blackberry)
Supported Phone Types: Treo 700p, Palm 680, Nokia S60 2nd and 3rd edition phones
Supported Languages: English, Spanish, Chinese
Keyboard Application Installation and GUI Performance
User installs the Software on to storage of Smartphone, and to the Memory card
User launches the application via Keyboard icon from the phone menu - the system displays Start screen: title pane displays name of application, and Main pane provides a welcome message
User clicks on Help button - the System opens Help view
User clicks on "Tap here to connect" button - the system starts connecting to the keyboard
User clicks on hardware key "Menu" or "Options" - the system opens Options menu
Each screen displays name of current view, except Start screen, context help is available for each view
User navigates within dialog using Navigation button (joystick)
User activates item by pressing Navigation button
User switches between tabs moving Navigation button
"Tap here to connect" button is enabled if the keyboard has been found after the first star-up or the keyboard is connected. If no keyboard has been found after the first star-up or if keyboard is disconnected, "Tap here to connect" button is disabled.
The system detects a keyboard via bluetooth protocol
User clicks on "Tap here to connect" button - application starts etablishing connection with selected keyboard and then displays "Connected" message (the system will display "Connection failed", if connection wasn't establishted).
User clicks on "Tap here to disconnect" - application ends connection with the keyboard
Find New Keyboard
User clicks on "Find new keyboard" button - the application starts scanning for new devices and then displays list of results
User selects a device and clicks on "Tap here to connect" - application starts etablishing connection with selected device
Connection was not established - the system displays "Connection fail" message.
The user selects "Start calibration" from the menu.
User selects "Start calibration", presses the first key on fabrick keyboard, then clicks "Cancel" - the system cancels the calibration process and returns to the Calibration welcome screen.
User presses the second key in calibration sequence and then clicks "Cancel" - the system cancels the calibration process and returns to the Calibration welcome screen.
If calibration succeeded, the system displays the message: "Calibration successful"
Benefits of Bluetooth Keyboard Drivers
SolveITLabs helped the customer achieve the following:
Minimum latency of typing and audible feedback of keystrokes
Simple and reliable pairing between keyboard and target
User friendly with simple installation and clear user instructions
Configurable and expandable structure (to increase functionality for future developments i.e. use of special function keys)
Configurable Branding Options
Tools and Technologies
C++, BLUEmagic 3.0 SDK Bluetooth, BLUEmagic Bluetooth stack