2
* Copyright (C) 2010 Andriy Rysin (rysin@kde.org)
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation; either version 2 of the License, or
7
* (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
#ifndef KEYBOARD_DAEMON_H_
21
#define KEYBOARD_DAEMON_H_
23
#include <kdedmodule.h>
24
#include <QtCore/QStringList>
26
#include "layout_memory.h"
27
#include "keyboard_dbus.h"
31
class KActionCollection;
32
class XInputEventNotifier;
38
class KDE_EXPORT KeyboardDaemon : public KDEDModule
41
Q_CLASSINFO("D-Bus Interface", "org.kde.KeyboardLayouts")
43
KeyboardConfig keyboardConfig;
44
KeyboardLayoutActionCollection *actionCollection;
45
XInputEventNotifier* xEventNotifier;
46
LayoutTrayIcon* layoutTrayIcon;
47
LayoutMemory layoutMemory;
48
LayoutUnit currentLayout;
51
void registerListeners();
52
void registerShortcut();
53
void unregisterListeners();
54
void unregisterShortcut();
58
void switchToNextLayout();
59
void globalSettingsChanged(int category);
60
void configureKeyboard();
61
void configureMouse();
63
void layoutMapChanged();
64
bool setLayout(QAction* action);
67
Q_SCRIPTABLE bool setLayout(const QString& layout);
68
Q_SCRIPTABLE QString getCurrentLayout();
69
Q_SCRIPTABLE QStringList getLayoutsList();
72
Q_SCRIPTABLE void currentLayoutChanged(QString layout);
75
KeyboardDaemon(QObject *parent, const QList<QVariant>&);
76
virtual ~KeyboardDaemon();
79
#endif /* KEYBOARD_DAEMON_H_ */