Rabbit Remote Control 0.0.35
Loading...
Searching...
No Matches
NativeEventFilterUnix.h
1#ifndef CNATIVEEVENTFILTER_H
2#define CNATIVEEVENTFILTER_H
3
4#pragma once
5
6#include <QAbstractNativeEventFilter>
7#include <QEvent>
8#include <xcb/xcb_keysyms.h>
9
10#include "ParameterClient.h"
11
12class CNativeEventFilterUnix : public QAbstractNativeEventFilter
13{
14public:
17
18 // QAbstractNativeEventFilter interface
19public:
20#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
21 virtual bool nativeEventFilter(const QByteArray &eventType, void *message, qintptr *result) override;
22#else
23 virtual bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) override;
24#endif
25
26 xcb_connection_t* m_pConnect;
27 xcb_key_symbols_t * m_pKeySymbols;
28 int GetKeySym(xcb_key_press_event_t* event, xcb_keysym_t& keysym);
29 bool HandleEvent(xcb_generic_event_t* event);
30 bool HandleKey(xcb_keysym_t keysym, QEvent::Type type, Qt::KeyboardModifiers modifiers);
31
32private:
33 CParameterClient *m_pParameterClient;
34};
35
36#endif // CNATIVEEVENTFILTER_H
The parameters of client.