|virtual bool||filter(int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat) = 0|
The KeyboardFilter class is a base class for global keyboard event filters in Qt for Embedded Linux.
Note that this class is only available in Qt for Embedded Linux.
In Qt for Embedded Linux, all system generated events, including keyboard events, are passed to the server application which then propagates the event to the appropriate client. The KeyboardFilter class is used to implement a global, low-level filter on the server side. The server applies the filter to all keyboard events before passing them on to the clients:
This feature can, for example, be used to filter things like APM (advanced power management) suspended from a button without having to filter for it in all applications.
To add a new keyboard filter you must first create the filter by deriving from this class, reimplementing the pure virtual filter() function. Then you can install the filter on the server using QWSServer's addKeyboardFilter() function. QWSServer also provides a removeKeyboardFilter() function.
Member Function Documentation
Destroys the keyboard filter.
[pure virtual] bool KeyboardFilter::filter(int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat)
Implement this function to return true if a given key event should be stopped from being processed any further; otherwise it should return false.
A key event can be identified by the given unicode value and the keycode, modifiers, isPress and autoRepeat parameters.
The keycode parameter is the Qt keycode value as defined by the Qt::Key enum. The modifiers is an OR combination of Qt::KeyboardModifier values, indicating whether Shift/Alt/Ctrl keys are pressed. The isPress parameter is true if the event is a key press event and autoRepeat is true if the event is caused by an auto-repeat mechanism and not an actual key press.
© 2016 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.