KeyboardFilter Class

( QWSServer::KeyboardFilter )

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.