... | @@ -5,8 +5,8 @@ Table of Contents |
... | @@ -5,8 +5,8 @@ Table of Contents |
|
|
|
|
|
- [Overview](#overview)
|
|
- [Overview](#overview)
|
|
- [Using the Extra Input Messages](#using-the-extra-input-messages)
|
|
- [Using the Extra Input Messages](#using-the-extra-input-messages)
|
|
- [Compile-time configuration](#compile-time-configuration)
|
|
- [Compile-time Configuration](#compile-time-configuration)
|
|
- [Run-time configuration](#run-time-configuration)
|
|
- [Run-time Configuration](#run-time-configuration)
|
|
- [Writing an IAL Engine to Support Extra Input Messages](#writing-an-ial-engine-to-support-extra-input-messages)
|
|
- [Writing an IAL Engine to Support Extra Input Messages](#writing-an-ial-engine-to-support-extra-input-messages)
|
|
|
|
|
|
## Overview
|
|
## Overview
|
... | @@ -39,7 +39,74 @@ multi-touch panel. |
... | @@ -39,7 +39,74 @@ multi-touch panel. |
|
|
|
|
|
## Using the Extra Input Messages
|
|
## Using the Extra Input Messages
|
|
|
|
|
|
## Complie-time Configuration
|
|
In addition to the standard keyboard and mouse messages, MiniGUI
|
|
|
|
generates extra input messages for input events from other input devices,
|
|
|
|
including multi-touch panel, tablet pad, joystick, and so on.
|
|
|
|
We call these messages as 'extra input messages'.
|
|
|
|
|
|
|
|
The extra input messages can be classified into the following types:
|
|
|
|
|
|
|
|
- Axis messages: the messages generated by a pointer axis like mouse wheel.
|
|
|
|
* `MSG_EXIN_AXIS`:
|
|
|
|
- Button messages: the messages generated by a button on joystick.
|
|
|
|
The buttons other than left, right, and middle buttons on a mouse will
|
|
|
|
be treated as generic buttons.
|
|
|
|
* `MSG_EXIN_BUTTONDOWN`:
|
|
|
|
* `MSG_EXIN_BUTTONUP`:
|
|
|
|
- Multi-touch messages: the messages generated by a multi-touch panel.
|
|
|
|
* `MSG_EXIN_TOUCH_DOWN`:
|
|
|
|
* `MSG_EXIN_TOUCH_UP`:
|
|
|
|
* `MSG_EXIN_TOUCH_MOTION`:
|
|
|
|
* `MSG_EXIN_TOUCH_CANCEL`:
|
|
|
|
* `MSG_EXIN_TOUCH_FRAME`:
|
|
|
|
- Gesture messages: the gesture messages.
|
|
|
|
* `MSG_EXIN_GESTURE_SWIPE_BEGIN`:
|
|
|
|
* `MSG_EXIN_GESTURE_SWIPE_UPDATE`:
|
|
|
|
* `MSG_EXIN_GESTURE_SWIPE_END`:
|
|
|
|
* `MSG_EXIN_GESTURE_PINCH_BEGIN`:
|
|
|
|
* `MSG_EXIN_GESTURE_PINCH_UPDATE`:
|
|
|
|
* `MSG_EXIN_GESTURE_PINCH_END`:
|
|
|
|
- Tablet tool messages: the messages generated by a tablet tool.
|
|
|
|
* `MSG_EXIN_TABLET_TOOL_AXIS`:
|
|
|
|
* `MSG_EXIN_TABLET_TOOL_PROXIMITY`:
|
|
|
|
* `MSG_EXIN_TABLET_TOOL_TIP`:
|
|
|
|
* `MSG_EXIN_TABLET_TOOL_BUTTON`:
|
|
|
|
* `MSG_EXIN_END_CHANGES`:
|
|
|
|
- Tablet pad messages: the messages generated by a tablet pad.
|
|
|
|
* `MSG_EXIN_TABLET_PAD_BUTTON`:
|
|
|
|
* `MSG_EXIN_TABLET_PAD_RING`:
|
|
|
|
* `MSG_EXIN_TABLET_PAD_STRIP`:
|
|
|
|
- Switch messages: the messages generated by a switch.
|
|
|
|
* `MSG_EXIN_SWITCH_TOGGLE`:
|
|
|
|
- User-defined messages: the messages generated by a user-defined device.
|
|
|
|
* `MSG_EXIN_USER_BEGIN`:
|
|
|
|
* `MSG_EXIN_USER_UPDATE`:
|
|
|
|
* `MSG_EXIN_USER_END`:
|
|
|
|
|
|
|
|
All extra input messages will be sent to the current active main window.
|
|
|
|
In your window procedure, you can handle the messages to reflect user's input,
|
|
|
|
for example, zooming in or out a picture.
|
|
|
|
|
|
|
|
For the complete description of the messages, please refer to:
|
|
|
|
|
|
|
|
<http://www.minigui.com/doc-api-ref-minigui-sa-4.0.0/html/group__extra__input__msgs.html>
|
|
|
|
|
|
|
|
For the sample to handle the extra input messages, please refer to:
|
|
|
|
|
|
|
|
<https://github.com/VincentWei/mg-tests/tree/master/extra-input>
|
|
|
|
|
|
|
|
## Compile-time Configuration
|
|
|
|
|
|
|
|
There are two configure options related to the `libinput` and `random` IAL engines :
|
|
|
|
|
|
|
|
* `--enable-libinputial` or `--disable--libinputial` to enable or disable the
|
|
|
|
`libinput` IAL engine; enabled by default. Note that the `libinput` IAL engine
|
|
|
|
is only available on Linux, and you need to install the `libinput` 1.10.0 or later
|
|
|
|
first.
|
|
|
|
* `--enable-randomial` or `--disable--randomial` to enable or disable the
|
|
|
|
`random` IAL engine; disabled by default. Note that `random` engine does
|
|
|
|
not attached to any real input devices, it generates the extra input events
|
|
|
|
randomly.
|
|
|
|
|
|
## Run-time Configuration
|
|
## Run-time Configuration
|
|
|
|
|
... | | ... | |