Bluetooth Keyboard Drivers For Mobile Devices
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 CE 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.
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 device 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).
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"
SolveITLabs helped the customer achieve the following:
Tools and Technologies
- 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
C++, BLUEmagic 3.0 SDK Bluetooth, BLUEmagic Bluetooth stack