... | ... | @@ -47,41 +47,42 @@ 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`:
|
|
|
* `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`:
|
|
|
* `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`:
|
|
|
* `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`:
|
|
|
* `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`:
|
|
|
* `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`:
|
|
|
* `MSG_EXIN_TABLET_PAD_BUTTON`
|
|
|
* `MSG_EXIN_TABLET_PAD_RING`
|
|
|
* `MSG_EXIN_TABLET_PAD_STRIP`
|
|
|
* `MSG_EXIN_END_CHANGES`
|
|
|
- Switch messages: the messages generated by a switch.
|
|
|
* `MSG_EXIN_SWITCH_TOGGLE`:
|
|
|
* `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`:
|
|
|
* `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,
|
... | ... | @@ -204,14 +205,13 @@ the extra input messages. The steps are as follow: |
|
|
`custom` IAL engine.
|
|
|
1. Implement the following external stubs outside MiniGUI to initialize
|
|
|
and terminate your `custom` IAL engine:
|
|
|
1. Change MiniGUI run-time configuration to specify the key `system.ial_engine`
|
|
|
to be `custom`.
|
|
|
|
|
|
```
|
|
|
BOOL InitCustomInput (INPUT* input, const char* mdev, const char* mtype);
|
|
|
void TermCustomInput (void);
|
|
|
```
|
|
|
1. Change MiniGUI run-time configuration to specify the key `system.ial_engine`
|
|
|
as `custom`.
|
|
|
|
|
|
In `InitCustomInput` function, you should fill the operators (the callbacks)
|
|
|
of `input` argument, the pointer to a INPUT structure:
|
|
|
|
... | ... | |