The KeyboardFilter class is a base class for global keyboard event filters in Qt for Embedded Linux. 更多...
| 头: | #include <KeyboardFilter> |
| virtual | ~KeyboardFilter () |
| 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.
注意,此类只可用于 Qt for Embedded Linux .
在 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() 函数。 QWSServer also provides a removeKeyboardFilter() 函数。
另请参阅 Qt for Embedded Linux 体系结构 , QWSServer ,和 QWSInputMethod .
[虚拟]
KeyboardFilter::
~KeyboardFilter
()
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 参数。
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.