Laxkit
0.0.7.1
|
Base class for filters windows can use to transform input event streams. More...
Public Member Functions | |
virtual int | eventFilter (EventData **events_ret, EventData *event, anXWindow *target, int &isinput)=0 |
Public Attributes | |
EventFilter * | next |
Base class for filters windows can use to transform input event streams.
When windows get input events, these can be parsed, and absorbed as necessary. For shortcuts, they would trigger a ShortcutEvent, for instance. If there is a chained shortcut, then input is absorbed until it can be determined if there is an active shortcut for the chain. If not, then all events stored up are released.
A window would define a list of actions, and store a list of shortcuts pointing to those actions. In the window's CharInput() function, the action number is found from its (redefinable) shortcuts and something like thewindow->action(shortcut->action) is called.
* shortcut * keys +^a,c,h,a,i,n #reserved mods and comma are specified by putting 2 of them * action 5 * shift-alt-'c',h,a,i,n * '+',''',',' someotheraction # <-- a chain of '+' then apostrophe, then comma *
For instance, see ShortcutFilter or GestureFilter.