Qt Reference Documentation

# KeyboardFilter Class Reference

(QWSServer::KeyboardFilter)

The KeyboardFilter class is a base class for global keyboard event filters in Qt for Embedded Linux. More...

     #include <QWSServer>

- List of all members, including inherited members

## Public Functions

virtual | ~KeyboardFilter ()
virtual bool | filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat ) = 0

## Detailed Description

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.

See also Qt for Embedded Linux Architecture, QWSServer, and QWSInputMethod.

## Member Function Documentation

### KeyboardFilter::~KeyboardFilter ()`[virtual]`

Destroys the keyboard filter.

### bool KeyboardFilter::filter ( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat )`[pure virtual]`

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.