MOVERIO
BT-350 Documentation

4. UI Control

4.1. UI control summary

4.1.1. Hardware button types and functions

The BT-350 comes with the hardware buttons shown in the following figure. The key event for each key is shown in Table 4-1 Key Code List.

Table 4-1 Key Code List
Name Key code Physical key ID Device type
Power button (KEYCODE_POWER) Bt3sCustomKey.POWER Physical switch
HOME key (KEYCODE_HOME) Bt3sCustomKey.HOME Touch Sensor
BACK key KEYCODE_BACK Bt3sCustomKey.BACK Touch Sensor
History key
(Recent key)
(KEYCODE_APP_SWITCH) Bt3sCustomKey.APP_SWITCH Touch Sensor
Switch key (KEYCODE_FUNCTION) Bt3sCustomKey.FUNCTION Physical switch
Volume Up KEYCODE_VOLUME_UP Bt3sCustomKey.VOLUME_UP Physical switch
Volume Down KEYCODE_VOLUME_DOWN Bt3sCustomKey.VOLUME_DOWN Physical switch
Up KEYCODE_DPAD_UP Bt3sCustomKey.DPAD_UP Touch Sensor
Down KEYCODE_DPAD_DOWN Bt3sCustomKey.DPAD_DOWN Touch Sensor
Left KEYCODE_DPAD_LEFT Bt3sCustomKey.DPAD_LEFT Touch Sensor
Right KEYCODE_DPAD_RIGHT Bt3sCustomKey.DPAD_RIGHT Touch Sensor
Enter key KEYCODE_DPAD_CENTER Bt3sCustomKey.DPAD_CENTER Physical switch

* When there are parenthesis, events are not notified in the app.

4.2. Events that can be acquired by the app during track pad operations

The following table indicates whether or not an event occurs for each method when the track pad is operated for relative coordinates mode and absolute coordinates mode.

: Event occurs

Class Method Operation Event
View onTouchEvent  
dispatchTouchEvent  
GestureDetector.OnDoubleTapListener onDown  
onFing  
onLongPress  
onScroll  
onShowPress  
onSingleTapUp  
MotionEvent getAction ACTION_UP
ACTION_DOWN
ACTION_MOVE
ACTION_CANCEL
ACTION_HOVER_ENTER
ACTION_HOVER_EXIT
ACTION_HOVER_MOVE
getToolType TOOL_TYPE_FINGER  
TOOL_TYPE_MOUSE
TOOL_TYPE_STYLUS  
TOOL_TYPE_UNKNOWN  
getX  
getY  
getDownTime  
getPointerCount  
getPointerld  
getSize    
getToolMajor    
getToolMinor    
getTouchMajor    
getTouchMinor    
getEventTime  
getPressure    

4.3. Key event management

You can manage the key events that occur when you operate each physical key.

  1. Change key assignments: Assign a different key event to a physical key.
  2. Disable key operation: Ensures that the event is not generated even if the key is operated.
  3. Initializes the key status: Initializes the status of the key that was changed in 1 or 2.

4.3.1. Change key assignments

Follow the steps below to acquire the key assignment settings as well as the setting status.

  • Import file

    com.epson.moverio.btcontrol.Bt3sCustomKey

  • Constructor

    Bt3sCustomKey(Context context)

  • Interface

    • Assigns a different key code to the physical key.

      boolean setKeyAsisgn (int PhyKey, int KeyCode)

      Parameters

      [in] PhyKey : ID for the physical key to which the key code is assigned.

      See "Physical key IDs available for key assignments" in Table 4-2 for keys that can be specified.

      [in] KeyCode : Assigned key code

      See "Key codes available for assignments" in Table 4-2 for key codes that can be specified.

      You can assign the same key code to multiple physical keys.

      Return value

      Execution results : true (success), false (failure)

    • Acquire key code currently assigned to the physical key.

      int getKeyAsisgn (int PhyKey)

      Parameters

      [in] PhyKey : ID for physical key for which you would like to acquire the key code.

      See "Physical key IDs available for key assignments" in Table 4-2 for keys that can be specified.

      Return value

      Currently assigned key code

Table 4-2 Physical key IDs available for key assignments and Key codes available for assignments
Physical key IDs available for key assignments Key codes available for assignments
  • Bt3sCustomKey.DPAD_UP
  • Bt3sCustomKey.DPAD_DOWN
  • Bt3sCustomKey.DPAD_LEFT
  • Bt3sCustomKey.DPAD_RIGHT
  • Bt3sCustomKey.DPAD_CENTER
  • Bt3sCustomKey.VOLUME_UP
  • Bt3sCustomKey.VOLUME_DOWN
  • Bt3sCustomKey.FUNCTION
  • KeyEvent.KEYCODE_DPAD_UP
  • KeyEvent.KEYCODE_DPAD_DOWN
  • KeyEvent.KEYCODE_DPAD_LEFT
  • KeyEvent.KEYCODE_DPAD_RIGHT
  • KeyEvent.KEYCODE_DPAD_CENTER
  • KeyEvent.KEYCODE_VOLUME_UP
  • KeyEvent.KEYCODE_VOLUME_DOW
  • KeyEvent.KEYCODE_FUNCTION
  • KeyEvent.KEYCODE_F1
  • KeyEvent.KEYCODE_F2
  • KeyEvent.KEYCODE_F3
  • KeyEvent.KEYCODE_F4

4.3.2. Disable key operation

You can set key operations to disabled. Use this to limit the device operations the user can perform.

  • Import file

    com.epson.moverio.btcontrol.Bt3sCustomKey

  • Constructor

    Bt3sCustomKey(Context context)

  • Interface

    • Disable key operations

      boolean setKeyEnable (int PhyKey, boolean enableKey)

      Parameters

      [in] PhyKey : IDs of physical keys to be disabled (See Table 4-3)

      [in] enableKey

      true : Enable key operations

      false : Disable key operations

      Return value

      Execution results : true (success), false (failure)

    • Acquire information on whether or not the current key can be operated

      boolean isKeyEnable(int PhyKey)

      Parameters

      None

      Return value

      true : Operation available

      false : Operation unavailable

Table 4-3 Physical Key IDs that can be disabled
Physical Key IDs that can be disabled
  • Bt3sCustomKey.DPAD_UP
  • Bt3sCustomKey.DPAD_DOWN
  • Bt3sCustomKey.DPAD_LEFT
  • Bt3sCustomKey.DPAD_RIGHT
  • Bt3sCustomKey.DPAD_CENTER
  • Bt3sCustomKey.VOLUME_UP
  • Bt3sCustomKey.VOLUME_DOWN
  • Bt3sCustomKey.FUNCTION
  • Bt3sCustomKey.BACK
  • Bt3sCustomKey.HOME
  • Bt3sCustomKey.APP_SWITCH
  • Bt3sCustomKey.POWER

See Table 4-1 Key Code List for each physical key and the corresponding ID.

4.3.3. Initialize key status

You can initialize the current status of the key assignments as well as disabling the key operation.

  • Import file

    com.epson.moverio.btcontrol.Bt3sCustomKey

  • Constructor

    Bt3sCustomKey(Context context)

  • Interface

    • Initialize the key status

      void resetToDefault()

      Parameters

      None

      Return value

      None

* Initializing key status by key operations: You can initialize the key status by holding down the Switch key, Enter key, and VolumeUp key at the same time for three seconds. Use this to force the key status to initialize when an application closes abnormally while the key status has been changed.

4.4. Touch sensor sensitivity settings

You can perform sensitivity adjustment for the following keys that make up the touch sensor on the controller. You can improve operations by setting the sensitivity to a higher level when the controller is inserted in the optional controller case.

Keys available for sensitivity adjustment

BACK key, HOME key, History key, Cross-key (UP, DOWN, LEFT, RIGHT)

  • Import file

    com.epson.moverio.btcontrol.UIControl

  • Constructor

    UIControl(Context context)

  • Interface

    • Set the sensitivity for the touch sensor

      boolean setESpadSensitivity(int sensitivity)

      Parameters

      [in] sensitivity : Sensitivity setting

      Return value

      Execution results : true (success), false (failure)

    • Acquire the sensitivity of the touch sensor

      int getESpadSensitivity()

      Parameters

      None

      Return value

      Current sensitivity setting : See Table 4-4.

Table 4-4 List of sensitivity setting
Data type Static name Value Explanation
static final int ESPAD_SENSITIVITY_LOW 0 Sensitivity "Low"
static final int ESPAD_SENSITIVITY_MIDDLE 1 Sensitivity "Middle" (Default)
static final int ESPAD_SENSITIVITY_HIGH_1 2 Sensitivity "High 1" *1
static final int ESPAD_SENSITIVITY_HIGH_2 3 Sensitivity "High 2"

*1 Recommended settings when using the optional controller case.

4.5. Switch coordination system for track pad (absolute coordinates and relative coordinates)

4.5.1. Coordinate system switching summary

The BT-350 track pad can send notifications of switches in the coordinates system.

Relative coordinates mode

Used for general computers, this mode returns cursor movements at relative coordinate values.

Absolute coordinates mode

Used for general smartphones, this mode returns the absolute coordinates for the point being touched.

The following figure shows the cursor movement on the display when operating the track pad with your finger for relative coordinates and absolute coordinates. The start and end positions of the cursor differ according to the switch in coordinates.

相対座標モード
絶対座標モード
Status transition for the coordinates mode

The coordinates mode must be set for the system and not for individual apps. Therefore, you need to control the coordinates mode by switching to the previous app. When changing the coordinates mode while an app is running, you need to return to the default relative coordinates mode when the app closes.

4.5.2. Changing the coordinate mode

  • Import file

    com.epson.moverio.btcontrol.UIControl

  • Constructor

    UIControl(Context context)

  • Interface

    • Setting the coordinate mode

      boolean setTrackpadCoordinate (int coordinateMode)

      Parameters

      [in]coordinateMode : Coordinate mode

      TRACKPAD_RELATIVE_MODE : Relative coordinate mode

      TRACKPAD_ABSOLUTE_MODE : Absolute coordinate mode

      Return value

      Execution results : true (success), false (failure)

    • Acquire the current coordinate mode

      int getTrackpadCoordinateMode()

      Parameters

      None

      Return value

      TRACKPAD_RELATIVE_MODE : Relative coordinate mode

      TRACKPAD_ABSOLUTE_MODE : Absolute coordinate mode

4.6. Rotate track pad coordination system

You can change the coordination system for the track pad. By using this in combination with key assignment changes, you can support a variety of ways of holding the controller.

0 degree
(Default position)
90 degree rotated
180 degree rotated
270 degree rotated
  • Import file

    com.epson.moverio.btcontrol.UIControl

  • Constructor

    UIControl(Context context)

  • Interface

    • Rotate at the coordinate axis of the track pad

      boolean setTrackpadRotation (int rotateAngle)

      Parameters

      [in] rotateAngle : Angle of rotation of the coordinate axis

      TRACKPAD_ANGLE_0 : Default position 0 degree

      TRACKPAD_ANGLE_90 : 90 degree rotated

      TRACKPAD_ANGLE_180 : 180 degree rotated

      TRACKPAD_ANGLE_270 : 270 degree rotated

      Return value

      Execution results : true (success), false (failure)

    • Acquire the angle of rotation for the current track pad coordinate axis.

      int getTrackpadRotation()

      Parameters

      None

      Return value

      TRACKPAD_ANGLE_0 : Default position 0 degree

      TRACKPAD_ANGLE_90 : 90 degree rotated

      TRACKPAD_ANGLE_180 : 180 degree rotated

      TRACKPAD_ANGLE_270 : 270 degree rotated

4.7. Disabling track pad operations

You can disable operations for the track pad.

  • Import file

    com.epson.moverio.btcontrol.UIControl

  • Constructor

    UIControl(Context context)

  • Interface

    • Disable track pad operations

      boolean setTrackpadEnable (boolean enableTrackpad)

      Parameters

      [in] enableTrackpad

      true : Enable track pad operations

      false : Disable track pad operations

      Return value

      Execution results : true (success), false (failure)

    • Acquires information on whether or not the track pad can currently be operated.

      boolean isTrackpadEnable()

      Parameters

      None

      Return value

      true : Operation available

      false : Operation unavailable

4.8. LED management

You can manage the lighting status for the LED indicators for the controller as well as the camera indicators for the headset from the application. Use this when the brightness of the LED interferes with the user operations, affects the surrounding area, and so on.

4.8.1. Controller LED management

Adjusts the brightness of the LED indicator for the controller.

  • Import file

    com.epson.moverio.btcontrol.Bt3sControllerLedMode

  • Constructor

    Bt3sControllerLedMode (Context context)

  • Interface

    • Set Controller LED brightness mode

      boolean setControllerLedMode(int ledMode)

      Parameters

      [in] ledMode : Brightness mode setting

      MODE_OFF (0) : Not lit

      MODE_NORMAL(1) : Lit Default

      MODE_LOW(2) : Lit (Low brightness) … The color of the LED slightly changes

      Return value

      Execution results : true (success), false (failure)

    • Acquire controller LED brightness mode

      int getControllerLedMode()

      Parameters

      None

      Return value

      MODE_OFF (0) : Not lit

      MODE_NORMAL(1) : Lit

      MODE_LOW(2) : Lit (Low brightness)

4.8.2. Camera LED management

Set the LED brightness mode of the camera indicator.

  • Import file

    com.epson.moverio.btcontrol.Bt3sCameraLedMode

  • Constructor

    Bt3sCameraMode (Context context)

  • Interface

    • Set LED brightness mode for the camera

      boolean setCameraLedMode(int ledMode)

      Parameters

      [in] ledMode : Brightness setting

      MODE_OFF (0) : Not lit

      MODE_NORMAL(1) : Lit Default

      Return value

      Execution results : true (success), false (failure)

    • Acquire the LED brightness mode of the camera

      int getCameraLedMode()

      Parameters

      None

      Return value

      MODE_OFF (0) : Not lit

      MODE_NORMAL(1) : Lit

Go to Top