Deskflow 1.24.0.365
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
OptionTypes.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
4 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include <cstdint>
11#include <vector>
12
14
17using OptionID = uint32_t;
18
20
23using OptionValue = int32_t;
24
25// for now, options are just pairs of integers
26using OptionsList = std::vector<uint32_t>;
27
28// macro for packing 4 character strings into 4 byte integers
29#define OPTION_CODE(_s) \
30 (static_cast<uint32_t>(static_cast<unsigned char>(_s[0]) << 24) | \
31 static_cast<uint32_t>(static_cast<unsigned char>(_s[1]) << 16) | \
32 static_cast<uint32_t>(static_cast<unsigned char>(_s[2]) << 8) | \
33 static_cast<uint32_t>(static_cast<unsigned char>(_s[3])))
34
36
46static const OptionID kOptionHeartbeat = OPTION_CODE("HART");
47static const OptionID kOptionProtocol = OPTION_CODE("PROT");
63
65
66inline static const auto s_noCornerMask = 0;
67inline static const auto s_topLeftCornerMask = 1 << 0;
68inline static const auto s_topRightCornerMask = 1 << 1;
69inline static const auto s_bottomLeftCornerMask = 1 << 2;
70inline static const auto s_bottomRightCornerMask = 1 << 3;
71inline static const auto s_allCornersMask = 1 << 0 | 1 << 1 | 1 << 2 | 1 << 3;
73
74#undef OPTION_CODE
static const OptionID kOptionScreenPreserveFocus
Definition OptionTypes.h:56
static const OptionID kOptionModifierMapForShift
Definition OptionTypes.h:40
static const OptionID kOptionScreenSwitchNeedsShift
Definition OptionTypes.h:52
static const auto s_noCornerMask
Definition OptionTypes.h:66
static const OptionID kOptionModifierMapForMeta
Definition OptionTypes.h:44
static const OptionID kOptionClipboardSharingSize
Definition OptionTypes.h:61
static const OptionID kOptionWin32KeepForeground
Definition OptionTypes.h:58
static const OptionID kOptionModifierMapForAlt
Definition OptionTypes.h:42
static const OptionID kOptionRelativeMouseMoves
Definition OptionTypes.h:57
static const auto s_bottomLeftCornerMask
Definition OptionTypes.h:69
static const OptionID kOptionScreenSwitchNeedsControl
Definition OptionTypes.h:53
static const auto s_allCornersMask
Definition OptionTypes.h:71
static const OptionID kOptionScreenSwitchCorners
Definition OptionTypes.h:48
static const OptionID kOptionModifierMapForSuper
Definition OptionTypes.h:45
static const OptionID kOptionProtocol
Definition OptionTypes.h:47
int32_t OptionValue
Option Value.
Definition OptionTypes.h:23
static const OptionID kOptionModifierMapForControl
Definition OptionTypes.h:41
static const OptionID kOptionHeartbeat
Definition OptionTypes.h:46
static const OptionID kOptionScreenSwitchTwoTap
Definition OptionTypes.h:51
static const OptionID kOptionXTestXineramaUnaware
Definition OptionTypes.h:55
static const OptionID kOptionHalfDuplexScrollLock
Definition OptionTypes.h:39
static const OptionID kOptionModifierMapForAltGr
Definition OptionTypes.h:43
std::vector< uint32_t > OptionsList
Definition OptionTypes.h:26
static const OptionID kOptionHalfDuplexNumLock
Definition OptionTypes.h:38
static const auto s_bottomRightCornerMask
Definition OptionTypes.h:70
static const auto s_topLeftCornerMask
Definition OptionTypes.h:67
static const OptionID kOptionScreenSwitchDelay
Definition OptionTypes.h:50
static const OptionID kOptionHalfDuplexCapsLock
Definition OptionTypes.h:37
#define OPTION_CODE(_s)
Definition OptionTypes.h:29
static const OptionID kOptionClipboardSharing
Definition OptionTypes.h:60
static const OptionID kOptionDisableLockToScreen
Definition OptionTypes.h:59
static const auto s_topRightCornerMask
Definition OptionTypes.h:68
static const OptionID kOptionScreenSwitchCornerSize
Definition OptionTypes.h:49
uint32_t OptionID
Option ID.
Definition OptionTypes.h:17
static const OptionID kOptionScreenSwitchNeedsAlt
Definition OptionTypes.h:54