qTox
Version: nightly | Commit: bc751c8e1cac455f9690654fcfe0f560d2d7dfdd
src
platform
capslock_x11.cpp
Go to the documentation of this file.
1
/*
2
Copyright © 2016-2019 by The qTox Project Contributors
3
4
This file is part of qTox, a Qt-based graphical interface for Tox.
5
6
qTox is libre software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
qTox is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with qTox. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include <QtCore/qsystemdetection.h>
21
#include "
src/platform/capslock.h
"
22
#include "
src/platform/x11_display.h
"
23
#include <X11/XKBlib.h>
24
#undef KeyPress
25
#undef KeyRelease
26
#undef FocusIn
27
#undef FocusOut
28
29
bool
Platform::capsLockEnabled()
30
{
31
Display* d = X11Display::lock();
32
bool
caps_state =
false
;
33
if
(d) {
34
unsigned
n;
35
XkbGetIndicatorState(d, XkbUseCoreKbd, &n);
36
caps_state = (n & 0x01) == 1;
37
}
38
X11Display::unlock();
39
return
caps_state;
40
}
x11_display.h
capslock.h
Generated by
1.8.17