- Print
- DarkLight
The M400C features interaction methods which differ significantly from traditional touchscreen Android devices, and it is particularly important to keep these considerations in mind when designing the User Interface of an application intended to run on this device.
Existing applications which heavily leverage touchscreen interactions do not necessarily translate well to this device. This is due to touchscreen UI’s leveraging taps for input based on specific screen coordinates, which may not be possible with the available interaction methods depending on your use case.
Navigation Buttons
The three navigation buttons on the device include both short and long-press functionality.
The buttons generate KeyEvents which can be intercepted and handled explicitly in your application, or can be left to the system to handle. Reference Android KeyEvent documentation for details.
Short presses on the buttons will perform the following functions:
Foremost Button – Move focus to the right within a UI or move down if no focusable objects are available to the right. Returns the KEYCODE_DPAD_RIGHT KeyEvent.
Middle Button – Move focus to the left within a UI or move up if no focusable objects are available to the left. Returns the KEYCODE_DPAD_LEFT KeyEvent.
Rearmost Button – Will select the current UI element which has focus. Returns the KEYCODE_DPAD_CENTER KeyEvent.
Long presses on the buttons will perform the following functions:
Foremost Button – Brings up a context menu for the current area of the UI, allowing users to access additional functions without crowding the UI. (KEYCODE_MENU)
Middle Button – Returns to the Home screen. Returns KEYCODE_HOME.
Rearmost Button – Moves back one step in the UI. Returns KEYCODE_BACK.
Touchpad
The M400C features a two-axis touchpad to that can detect a wide variety of user gestures.
The touchpad is implemented as a trackball device, and methods such as dispatchTrackballEvent() and onTrackballEvent() can be used to capture and process the raw touchpad events.
As a fallback, if you do not handle the trackball events in your application, there are predefined single, double, and triple-finger gestures that generate key presses. These keys can be captured with standard Android methods. Refer Android KeyEvent documentation for details.
One finger
Swipe back to front: KEYCODE_DPAD_RIGHT
Swipe front to back: KEYCODE_DPAD_LEFT
Swipe bottom to top: KEYCODE_DPAD_UP
Swipe top to bottom: KEYCODE_DPAD_DOWN
Tap: KEYCODE_DPAD_CENTER
Hold: KEYCODE_MENU
Two fingers
Swipe back to front: KEYCODE_FORWARD_DEL
Swipe front to back: KEYCODE_DEL
Swipe bottom to top: KEYCODE_VOLUME_UP
Swipe top to bottom: KEYCODE_VOLUME_DOWN
Swipe top to bottom and hold: KEYCODE_VOLUME_MUTE
Tap: KEYCODE_BACK
Hold: KEYCODE_HOME
Three fingers
Tap: KEYCODE_POWER
Hold: KEY_F12