Create QR-Code!

BluePiano: User Manual

The keyboard wedge BluePiano extends Android® with Bluetooth® data acquisition. This new input method provides a Bluetooth-enabled soft-keyboard. This keyboard captures Bluetooth data and forwards the received data to input fields of arbitrary apps by simulating manual user input. For the target app the captured data appears as entered by the user.

 

Introduction

Introduction

BluePiano is typically used for scanning barcodes with external Bluetooth barcode scanners or for RFID data collection. BluePiano installs as a soft-keyboard which injects captured device data into arbitrary target apps by simulating user-input. For the target app there is no difference between user input and device input.

Bluetooth Software Wedge

If activated, BluePiano works as a keyboard wedge which replaces the standard Android keyboard. BluePiano offers English, German, French, Russian and Swedish keyboard layouts.

BluePiano is easy to use and provides you with connectivity feedback in the notification bar or via a special key on the soft-keyboard. For backup purposes BluePiano is also able to scan barcodes using the built-in camera scanners (you may also adjust an external camera scanner app).

BluePiano is able to connect to all Bluetooth SPP devices (Bluetooth client or Bluetooth server devices supporting the Serial Port Profile, RFCOMM). Special Android-enabled bar code scanners are NOT required. HID devices are not supported.

Operation Principle

How does BluePiano Work?

Connecting to Bluetooth Device

Whenever the BluePiano keyboard is shown it establishes a device connection (via a system service running in the background) and waits for data. If there are any problems connecting to the device, BluePiano first tries to re-establish the connection automatically. If this is not possible, BluePiano suspends the device connection in order to preserve battery power. The user will be notified with an error sound, a vibration, a message in the notification bar or with a special symbol for the Bluetooth action key (see BluePiano keyboard). The parameters for (re-)establishing a Bluetooth connection as well as the preferred notification method can be adjusted in the BluePiano Settings.

BluePiano provides two methods for receiving data (refer to Bluetooth Device Manager):

In Raw Mode the data is forwarded as it is received from the device. Except for the carriage return (CR) and line feed (LF) separator characters which trigger an immediate forwarding no special grouping is performed. In this operation mode the user can't be sure that - for example - 8 bytes of an EAN barcode are transferred as a single unit to the target app.

In the Enhanced Mode BluePiano takes care to group incoming device data into packets. Each packet is forwarded as a single unit into an edit field. A data packet is defined by

  • the maximal number of bytes (packet size),
  • the time required for receiving it (measured from the first byte of the packet)
  • or by a delimiter character sequence (which is a regular expression).
If at least one of the three parameters is fulfilled, BluePiano assumes the data packet as complete and injects it into the edit-field of the active application.

Setup Wizard

Initial Configuration

After you have downloaded and installed BluePiano a setup wizards simplifies the initial configuration. The wizard guides you through the minimal required configuration steps:

  • Pairing with the Bluetooth device
    Pairing is done via Android Settings, Wireless & networks, Bluetooth settings. Before you pair your devices make sure Bluetooth is switched on and your device is discoverable. Refer to the user manual of the device for details regarding this topic.
  • Configure BluePiano to capture data from this device
    After the device was paired successfully, configure BluePiano to use this device for data acquisition. Do this by opening the Bluetooth Device Manager.
  • Enable the input method BluePiano
    In order to use the BluePiano keyboard you need to enable it. Do this by opening Android Settings, Language & keyboard and enable the BluePiano keyboard by checking the box. Confirm the security warning (see privacy).
  • Activate the input method
    After the input method was enabled it must be activated. Long tap on any edit field and select the input method BluePiano Keyboard.
Your Android is now using the BluePiano keyboard as input method. Whenever the Bluetooth device sends data it is injected into the current edit-field of the target app.

Bluetooth Action Key

The Keyboard

Long-Press on ?123

If the BluePiano keyboard is visible you can long-tap on the ?123 key. A menu with the following options appears:

If enabled, the new action key may show the symbols below. To enter a comma, long-tap the action key.

Bluetooth action key - device not configuredThis symbol is shown if no Bluetooth input device was configured. Tap this key to open the Bluetooth Device Manager.

Bluetooth action key - connectingThis symbol is shown if BluePiano is currently connecting to the Bluetooth input device.

Bluetooth action key - connection lostThe connection to the Bluetooth input device was lost, BluePiano tries to re-establish the connection in the background. You may also tap the key to re-establish a connection immediately.

Bluetooth action key - suspendedThe Bluetooth input device was suspended, BluePiano will not try to re-establish the connection anymore. You have to tap this key to re-establish a connection.

If the Bluetooth connection is working fine, the action key may show the barcode scanner key (this can be configured in BluePiano Settings). Use the barcode scanner key to scan barcodes with the built-in camera scanner.

Action key - camera scannerTap this key to invoke the camera scanner (see BluePiano Settings).

Settings

BluePiano Settings

To modify the BluePiano options, go to Android Settings -> Language & keyboard -> BluePiano. The following options are available:

BluePiano Android Keyboard Settings
  • Keyboard Options

    This section is used to specify general keyboard options and simulation rules specific to target apps.

    Sound on Keypress

    Adjust whether a keypress should produce a sound.

    Vibrate on Keypress

    Adjust whether a keypress should trigger a short vibration.

    Bluetooth Action Key

    If selected, the comma key on the keyboard is replaced with a special Bluetooth action key in case of Bluetooth problems. If a Bluetooth connection is lost (and BluePiano was not able to re-establish the connection automatically) this key can be used to initiate the reconnection manually. If you do not prefer to use this key, you may also re-establish a connection via the messages in the notification bar (if enabled).

    Keyboard Simulation Rules

    By the means of Keyboard Simulation Rules the user is able to configure keystroke simulation mode and cursor movements per target application.

  • Bluetooth

    This section is used to specify the Bluetooth input device, advanced device options and the behavior in case of Bluetooth errors.

    BluePiano Android Bluetooth Settings Bluetooth Input Device

    Use the Bluetooth Device Manager to select the Bluetooth input device and to adjust the advanced device settings. The Bluetooth Device manager can also be used for establishing or suspending a Bluetooth connection manually.

    Advanced Device Settings

    Use Advanced Device Settings to adjust the connection properties and to switch between raw and enhanced mode.

    Vibrate on Error

    If selected a lost Bluetooth connection is signaled by vibrating the handset.

    Notification Bar

    If selected the current Bluetooth connection state is displayed in the notification bar. Tapping on a notification opens the Bluetooth Device Manager.

  • Camera Scanner

    For backup purposes BluePiano offers support for camera barcode scanner apps. Use this section to configure the details of the scanner app.

    Scanner App

    Choose between the built-in camera scanner (based on Barcode Scanner from ZXing) or select any another installed camera scanner app.

    BluePiano Camera Scanner Settings Scanner Key

    If selected, the comma key on the keyboard is replaced with a barcode scanning symbol. Pressing this key invokes the selected camera scanner app.

    Search key Function

    Specify if the hardware search key (magnifier symbol) is used as hotkey for invoking the selected camera scanner app.

  • About

    This section provides commands for displaying the user manual, the software version and the copyright information. In addition you can display your license information or enter a manual license.

    User Manual

    This command shows this web-page in your browser. Please contact us in case of questions, suggestions or if you want to report a bug.

    YouTube Videos

    This command opens TEC-IT’s YouTube channels with relevant data acquisition videos.

    License

    This command opens a dialog which displays the current state of your license. You may purchase a full license directly via the Android Market. For users without access to Android Market or in case of bulk-licensing BluePiano can be licensed by entering an activation key. Activation keys are available from TEC-IT upon purchase, licensing with activation keys requires one-time internet access.

    About

    Displays the current software version, a copyright notice and 3rd party credits.

Cursor Control

Keyboard Simulation Rules

BluePiano Keyboard Simulation Rules

By the means of keyboard simulation rules the user is able to configure keystroke simulation mode and cursor movements per target application. When simulating keystrokes BluePiano searches for a rule which matches the current target app. If no such rule is found, it applies the current default rule.

To maintain simulation rules, go to Android Settings -> Language & keyboard -> BluePiano -> Keyboard Simulation Rules. By tapping on a rule name you have the following options:

  • Set as default
    This option promotes the current rule to the default rule.
  • Edit
    Modify the rule settings (see below)
  • Remove
    The initial default rule can't be deleted
A new rule can be added with the button Add Simulation Rule.

Two methods for simulating user input are available:

  • All keys at once
    Received device data is injected as a single string.
  • One key at a time
    Received device data is forwarded keystroke by keystroke. This method is recommended if the target app is a browser or a RDP (remote desktop) application.
If you have problems forwarding keystrokes to a specific target application you may add an application specific rule for exactly the app in question. Most likely browser or remote desktop (RDP) applications require One key at a time forwarding to handle simulated user input correctly.

Keyboard Simulation Rule

Each simulation rule allows the user to add cursor control commands before and after the data received from the device. The following placeholders are supported:

  • ${INPUT} or ${I}
    This is the placeholder for the received device data
  • ${ENTER} or ${E}
    Placeholder for the enter key
  • ${TAB} or ${T}
    Placeholder for the tab key
  • ${DOWN} or ${D}
    Placeholder for the cursor down key
  • ${UP} or ${U}
    Placeholder for the cursor up key
  • ${LEFT} or ${L}
    Placeholder for the cursor left key
  • ${RIGHT} or ${R}
    Placeholder for the cursor right key

A placeholder can also be used with a multiplier: ${R3} is equivalent to ${R}${R}${R}.

Example: To instruct BluePiano to inject the input data followed by the enter key use this rule: ${I}${E}.

Input Device

Bluetooth Device Manager

Bluetooth Device Manager

BluePiano can be used with each Bluetooth SPP (serial port profile, RFCOMM) device. Bluetooth clients and Bluetooth server connections are supported. Use this activity to select the input device and to adjust the advanced device settings for establishing a connection and for reading data.In addition, the Bluetooth Device manager can be used for establishing or suspending a device connection manually.

Select Device

Taping this button opens an activity in which you are able to choose the Bluetooth input device. BluePiano supports devices working in Bluetooth client as well as Bluetooth server mode:

  • Bluetooth Client
    Use the client mode if you need to connect to a device which is sending data on its own (like a Bluetooth barcode scanner). Just select the device by tapping on it or enter the Bluetooth MAC address manually. Please note: It is required to pair your handset or tablet with the Bluetooth device before you perform this operation.
  • Bluetooth Server
    Use the server mode if another Bluetooth client device is connecting to your handset (e.g. if a Microsoft Windows PC connects to your handset). In server mode no specific device can be selected. Please note: It is recommended to pair the PC with your handset after the Bluetooth server mode was activated.

Settings

This button opens the screen for Advanced Device Settings.

Start/Stop

Starts the connection with the selected Bluetooth device. If the connection is already established, this button may be used to stop the connection.

Suspend

Suspends an existing Bluetooth connection. To continue, the connection must be started again.

Clear Log (in the menu)

Clears the connection and error log.

Restart BT (in the menu)

Restart the Bluetooth service. This operation may be helpful in case of Bluetooth firmware problems.

Advanced Settings

Advanced Bluetooth Device Settings

Use these settings to adjust the advanced settings for opening a device connection and for reading data from the Bluetooth device.

Bluetooth Connection Settings
  • Connection Settings
    Suspend Timeout

    This timeout in seconds specifies how long BluePiano should try to re-establish a lost connection. If the connection can't be re-established within this time, the connection is suspended. The user must initiate a reconnect manually via the notification bar or via the Bluetooth action key.

    Retry Timeout

    When opening a Bluetooth connection, BluePiano waits the specified number of milliseconds between the single open operations.

    Open Retries

    The total number of retries when opening a connection.

    Disaster Recovery

    Some handsets utilize buggy Bluetooth firmware. In the case of unrecoverable Bluetooth SPP errors BluePiano may restart the Bluetooth stack automatically. The use of this option is not recommended under normal circumstances.

  • Read Policies

    These parameters instruct BluePiano how to handle received device data.

    Raw Mode

    If checked, BluePiano works in raw mode. Data is forwarded to the target app immediately after it was received or if a carriage return (CR) or line feed (LF) character was detected in the input data. No other special data grouping is performed. In this mode BluePiano is able to handle byte values above 0x7f correctly.

    Data Packaging Policy

    If unchecked, BluePiano works in enhanced mode: it groups incoming device data automatically into so-called data packets. A data packet is defined by the time required for receiving it, by the byte-size of the packet or by a delimiter sequence. You can combine these settings as required.

    Timeout

    The maximum time (in milliseconds) to receive the data packet. All bytes received within this time are delivered in a single data packet (available in enhanced mode only).

    Size

    The maximum number of bytes for a data packet (available in enhanced mode only).

    Separator

    A regular expression which matches the character sequence used for marking the end of a data packet (available in enhanced mode only).
    Please note: If using a regular expression, BluePiano expects valid UTF-8 (or ANSI 0x00-0x7f) characters to be received from the device.

    Include Separator

    If checked, the separator sequence is treated as part of the data packet. If unchecked, separator sequences are stripped from the acquired data.

Is My Data Safe?

BluePiano Privacy

TEC-IT respects your privacy. Your data is safe.

BluePiano does not log, store or forward typed text, passwords or other personal data. Please contact us if you have any concerns regarding phishing, key logging or spying.

Background information: In order to use an alternative input method on Android devices, the user must manually activate this method. Android displays a security hint which reads like this: Attention: This input method may be able to collect all the text you type, including personal data like passwords and credit card numbers. It comes from the application BluePiano (or a similar name). Use this input method?

© TEC-IT Datenverarbeitung GmbH, Austria  ++43(0)7252/72720  office@tec-it.com