mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.5 KiB
61 lines
1.5 KiB
/* |
|
SPDX-FileCopyrightText: 2010 Andriy Rysin <[email protected]> |
|
|
|
SPDX-License-Identifier: GPL-2.0-or-later |
|
*/ |
|
|
|
#ifndef KEYBOARD_DAEMON_H_ |
|
#define KEYBOARD_DAEMON_H_ |
|
|
|
#include <KDEDModule> |
|
#include <QStringList> |
|
|
|
#include "bindings.h" |
|
#include "keyboard_dbus.h" |
|
#include "layout_memory.h" |
|
#include "layoutnames.h" |
|
|
|
class XInputEventNotifier; |
|
class KeyboardConfig; |
|
struct Rules; |
|
|
|
class Q_DECL_EXPORT KeyboardDaemon : public KDEDModule |
|
{ |
|
Q_OBJECT |
|
Q_CLASSINFO("D-Bus Interface", "org.kde.KeyboardLayouts") |
|
|
|
KeyboardConfig *keyboardConfig; |
|
KeyboardLayoutActionCollection *actionCollection; |
|
XInputEventNotifier *xEventNotifier; |
|
LayoutMemory layoutMemory; |
|
const Rules *rules; |
|
|
|
void registerListeners(); |
|
void registerShortcut(); |
|
void unregisterListeners(); |
|
void unregisterShortcut(); |
|
|
|
private Q_SLOTS: |
|
void configureKeyboard(); |
|
void configureMouse(); |
|
void layoutChangedSlot(); |
|
void layoutMapChanged(); |
|
bool setLayout(QAction *action); |
|
|
|
public Q_SLOTS: |
|
Q_SCRIPTABLE void switchToNextLayout(); |
|
Q_SCRIPTABLE void switchToPreviousLayout(); |
|
Q_SCRIPTABLE bool setLayout(uint index); |
|
Q_SCRIPTABLE uint getLayout() const; |
|
Q_SCRIPTABLE QVector<LayoutNames> getLayoutsList() const; |
|
|
|
Q_SIGNALS: |
|
Q_SCRIPTABLE void layoutChanged(uint index); |
|
Q_SCRIPTABLE void layoutListChanged(); |
|
|
|
public: |
|
KeyboardDaemon(QObject *parent, const QList<QVariant> &); |
|
~KeyboardDaemon() override; |
|
}; |
|
|
|
#endif /* KEYBOARD_DAEMON_H_ */
|
|
|