Difference between revisions of "The Zandalar project"
From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
(Initial version) |
m (More work on the events) |
||
Line 2: | Line 2: | ||
= Input Aggregator & events = | = Input Aggregator & events = | ||
− | For start, the following events will cover all existing | + | For start, the following events will cover all existing functions in the 'InjectedInputReceiver' interface: |
* MovementInputEvent | * MovementInputEvent | ||
** '''Data''': | ** '''Data''': | ||
− | *** Position | + | *** Position : Vector2 |
− | *** Delta | + | *** Delta : Vector2 |
− | ** injectMouseMove | + | ** '''Functions''': |
− | ** injectMousePosition | + | *** injectMouseMove |
+ | *** injectMousePosition | ||
* PressedButtonInputEvent | * PressedButtonInputEvent | ||
** '''Data''': | ** '''Data''': | ||
− | *** Button | + | *** Button : Buttons Enum |
− | ** injectMouseButtonDown | + | ** '''Functions''': |
− | ** injectKeyDown | + | *** injectMouseButtonDown |
+ | *** injectKeyDown | ||
* ReleasedButtonInputEvent | * ReleasedButtonInputEvent | ||
** '''Data''': | ** '''Data''': | ||
− | *** Button | + | *** Button : Buttons Enum |
− | ** injectMouseButtonUp | + | ** '''Functions''': |
− | ** injectKeyUp | + | *** injectMouseButtonUp |
+ | *** injectKeyUp | ||
* ActivatedInputEvent | * ActivatedInputEvent | ||
** '''Data''': | ** '''Data''': | ||
− | *** Count (1+) | + | *** Count (1+) : int |
− | ** injectMouseButtonClick | + | ** '''Functions''': |
− | ** injectMouseButtonDoubleClick | + | *** injectMouseButtonClick |
− | ** injectMouseButtonTripleClick | + | *** injectMouseButtonDoubleClick |
+ | *** injectMouseButtonTripleClick | ||
+ | * TextInputEvent | ||
+ | ** '''Data''': | ||
+ | *** Text : string/char | ||
+ | ** '''Functions''': | ||
+ | *** injectChar | ||
− | Unmapped functions: | + | Unmapped (yet) functions: |
* injectMouseLeaves | * injectMouseLeaves | ||
− | |||
* injectMouseWheelChange | * injectMouseWheelChange | ||
+ | |||
+ | |||
== Original proposition == | == Original proposition == |
Revision as of 13:04, 24 June 2013
The Zandalar Project is a codename for the new Input archtecture and GUI navigation features.
Input Aggregator & events
For start, the following events will cover all existing functions in the 'InjectedInputReceiver' interface:
- MovementInputEvent
- Data:
- Position : Vector2
- Delta : Vector2
- Functions:
- injectMouseMove
- injectMousePosition
- Data:
- PressedButtonInputEvent
- Data:
- Button : Buttons Enum
- Functions:
- injectMouseButtonDown
- injectKeyDown
- Data:
- ReleasedButtonInputEvent
- Data:
- Button : Buttons Enum
- Functions:
- injectMouseButtonUp
- injectKeyUp
- Data:
- ActivatedInputEvent
- Data:
- Count (1+) : int
- Functions:
- injectMouseButtonClick
- injectMouseButtonDoubleClick
- injectMouseButtonTripleClick
- Data:
- TextInputEvent
- Data:
- Text : string/char
- Functions:
- injectChar
- Data:
Unmapped (yet) functions:
- injectMouseLeaves
- injectMouseWheelChange
Original proposition
Some examples of input events are:
- MovementInputEvent
- Generated from mouse x/y
- Generated from joystick/thumbstick x/y
- PressedInputEvent
- Generated from mouse button
- Generated from keyboard button
- Generated from a gamepad button
One can see that this solution leads us to allow a variety of input to be mapped to certain input events. Of course, each different input event will have some specific payload (the button pressed, the x/y coordinates of the movement, etc.).
At the end of the day, the samples that exist now should work (from the functionality point of view) the same way after the input system is replaced.