Support customized device discovery with udev

With derived class from QDeviceDiscoveryUDev, eglfs for a platform
can create own input handlers.

Task-number: QTBUG-85268
Change-Id: Ib8e99b365195eff9540e7c90e14c5d269d37ad86
Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
This commit is contained in:
Elvis Lee 2020-11-04 17:34:05 +09:00
parent 04413b9dd8
commit 47bcc4dd4b
2 changed files with 7 additions and 3 deletions

View File

@ -68,13 +68,15 @@ public:
private slots: private slots:
void handleUDevNotification(); void handleUDevNotification();
protected:
struct udev *m_udev;
private: private:
bool checkDeviceType(struct udev_device *dev); bool checkDeviceType(struct udev_device *dev);
void startWatching(); void startWatching();
void stopWatching(); void stopWatching();
struct udev *m_udev;
struct udev_monitor *m_udevMonitor; struct udev_monitor *m_udevMonitor;
int m_udevMonitorFileDescriptor; int m_udevMonitorFileDescriptor;
QSocketNotifier *m_udevSocketNotifier; QSocketNotifier *m_udevSocketNotifier;

View File

@ -125,16 +125,18 @@ public:
void switchLang() override; void switchLang() override;
#endif #endif
protected:
virtual void createInputHandlers();
QEvdevKeyboardManager *m_kbdMgr;
private: private:
EGLNativeDisplayType nativeDisplay() const; EGLNativeDisplayType nativeDisplay() const;
void createInputHandlers();
EGLDisplay m_display; EGLDisplay m_display;
QPlatformInputContext *m_inputContext; QPlatformInputContext *m_inputContext;
QScopedPointer<QPlatformFontDatabase> m_fontDb; QScopedPointer<QPlatformFontDatabase> m_fontDb;
QScopedPointer<QPlatformServices> m_services; QScopedPointer<QPlatformServices> m_services;
QScopedPointer<QFbVtHandler> m_vtHandler; QScopedPointer<QFbVtHandler> m_vtHandler;
QEvdevKeyboardManager *m_kbdMgr;
QPointer<QWindow> m_pointerWindow; QPointer<QWindow> m_pointerWindow;
bool m_disableInputHandlers; bool m_disableInputHandlers;
}; };