============================================================================== PEG controllers_events--mudyc: Requirements for handling events of controllers ============================================================================== :Authors: Matti Katila :Date-Created: 2003-07-15 :Last-Modified: $Date: 2003/07/19 06:29:46 $ :Revision: $Revision: 1.1 $ :Status: Incomplete :Scope: Minor :Type: Architecture requirement .. :Stakeholders: .. Affect-PEGs: New user interfaces need custom controllers. Handling the events of these controllers should be modular, easy and generic from the bottom layer up to top layer where the user is main charachter. Issues ====== - How this peg affects to Tjl's input framework? - Should normal mouse controller and custom LEGO controllers fit in the same API at some level? RESOLVED: Yes, 'cause to user they are just controllers. - Should custom LEGO controllers be able to control many things in different contexts, like fiddling zoom pan in buoyoing view and in other view for example change the speed of interpolation? Requirements ============ For a user the controller interface should be easy, say ------------------------------------------------------- - Inverting the change of controller. - ``This mouse wheel works in wrong direction!`` - Automatic calibrating - ``This doesn't work!`` - Bind to any axe or button or modifier from any controller. - Bindings should be dynamically changeable while program is running. - ``Button 1, why?`` - ``Why in vertical, why not in horizontal direction?`` - ``Modifier with this would be nice..`` - ``I want that red looking LEGO controller, not that big blue :-)`` - (Scale) - ``Mouse is too slow!`` For programming, the control framework should support different models ---------------------------------------------------------------------- - Axis model - Absolutely - Relative - Normal mouse model - Point model - X and y in screen. - Dragging model - Close to relative axes model - Modifiers