blob: b7f649379571c8cd995c284131962e7f47ba8f8c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
// Copyright 2005-2019 The Mumble Developers. All rights reserved.
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file at the root of the
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
#ifndef MUMBLE_MUMBLE_GKEY_H
#define MUMBLE_MUMBLE_GKEY_H
#include "win.h"
#include <QtCore/QLibrary>
#include <QtCore/QString>
#include <QtCore/QUuid>
#define GKEY_LOGITECH_DLL_REG_HKEY HKEY_CLASSES_ROOT
#ifdef _M_X64
#define GKEY_LOGITECH_DLL_REG_PATH L"Wow6432Node\\CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary"
#define GKEY_LOGITECH_DLL_DEFAULT_LOCATION "C:/Program Files/Logitech Gaming Software/SDK/G-key/x64/LogitechGkey.dll"
#else
#define GKEY_LOGITECH_DLL_REG_PATH L"CLSID\\{7bded654-f278-4977-a20f-6e72a0d07859}\\ServerBinary"
#define GKEY_LOGITECH_DLL_DEFAULT_LOCATION "C:/Program Files/Logitech Gaming Software/SDK/G-key/x86/LogitechGkey.dll"
#endif
#define GKEY_MIN_MOUSE_BUTTON 6
#define GKEY_MAX_MOUSE_BUTTON 20
#define GKEY_MIN_KEYBOARD_BUTTON 1
#define GKEY_MAX_KEYBOARD_BUTTON 29
#define GKEY_MIN_KEYBOARD_MODE 1
#define GKEY_MAX_KEYBOARD_MODE 3
#define GKEY_BUTTON_MOUSE 1
#define GKEY_BUTTON_KEYBOARD 2
#define GKEY_MOUSE_GUID "c41e60af-9022-46cf-bc39-37981082d716"
#define GKEY_KEYBOARD_GUID "153e64e6-98c8-4e03-80ef-5ffd33d25b8a"
class GKeyLibrary
{
public:
GKeyLibrary();
virtual ~GKeyLibrary();
bool isValid() const;
static const QUuid quMouse;
static const QUuid quKeyboard;
bool isMouseButtonPressed(int button);
bool isKeyboardGkeyPressed(int key, int mode);
QString getMouseButtonString(int button);
QString getKeyboardGkeyString(int key, int mode);
protected:
QLibrary qlLogiGkey;
bool bValid;
BOOL (*LogiGkeyInit)(void *);
void (*LogiGkeyShutdown)();
BOOL (*LogiGkeyIsMouseButtonPressed)(int button);
BOOL (*LogiGkeyIsKeyboardGkeyPressed)(int key, int mode);
wchar_t *(*LogiGkeyGetMouseButtonString)(int button);
wchar_t *(*LogiGkeyGetKeyboardGkeyString)(int key, int mode);
};
#endif // MUMBLE_MUMBLE_GKEY_H
|