Deskflow 1.27.0.7
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) 2026 Deskflow Developers
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 Synergy App Ltd
5 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#pragma once
10
11#include <cstdint>
12#include <vector>
13
15
18using OptionID = uint32_t;
19
21
24using OptionValue = int32_t;
25
26// for now, options are just pairs of integers
27using OptionsList = std::vector<uint32_t>;
28
29// macro for packing 4 character strings into 4 byte integers
30#define OPTION_CODE(_s) \
31 (static_cast<uint32_t>(static_cast<unsigned char>(_s[0]) << 24) | \
32 static_cast<uint32_t>(static_cast<unsigned char>(_s[1]) << 16) | \
33 static_cast<uint32_t>(static_cast<unsigned char>(_s[2]) << 8) | \
34 static_cast<uint32_t>(static_cast<unsigned char>(_s[3])))
35
37
47static const OptionID kOptionHeartbeat = OPTION_CODE("HART");
61
63
64inline static const auto s_noCornerMask = 0;
65inline static const auto s_topLeftCornerMask = 1 << 0;
66inline static const auto s_topRightCornerMask = 1 << 1;
67inline static const auto s_bottomLeftCornerMask = 1 << 2;
68inline static const auto s_bottomRightCornerMask = 1 << 3;
70
71#undef OPTION_CODE
static const OptionID kOptionModifierMapForShift
Definition OptionTypes.h:41
static const auto s_noCornerMask
Definition OptionTypes.h:64
static const OptionID kOptionModifierMapForMeta
Definition OptionTypes.h:45
static const OptionID kOptionClipboardSharingSize
Definition OptionTypes.h:59
static const OptionID kOptionWin32KeepForeground
Definition OptionTypes.h:55
static const OptionID kOptionComputerSwitchCorners
Definition OptionTypes.h:48
static const OptionID kOptionModifierMapForAlt
Definition OptionTypes.h:43
static const OptionID kOptionComputerSwitchTwoTap
Definition OptionTypes.h:51
static const OptionID kOptionDisableLockToComputer
Definition OptionTypes.h:57
static const OptionID kOptionRelativeMouseMoves
Definition OptionTypes.h:54
static const auto s_bottomLeftCornerMask
Definition OptionTypes.h:67
static const OptionID kOptionComputerSwitchDelay
Definition OptionTypes.h:50
static const OptionID kOptionModifierMapForSuper
Definition OptionTypes.h:46
int32_t OptionValue
Option Value.
Definition OptionTypes.h:24
static const OptionID kOptionModifierMapForControl
Definition OptionTypes.h:42
static const OptionID kOptionHeartbeat
Definition OptionTypes.h:47
static const OptionID kOptionXTestXineramaUnaware
Definition OptionTypes.h:52
static const OptionID kOptionHalfDuplexScrollLock
Definition OptionTypes.h:40
static const OptionID kOptionModifierMapForAltGr
Definition OptionTypes.h:44
std::vector< uint32_t > OptionsList
Definition OptionTypes.h:27
static const OptionID kOptionHalfDuplexNumLock
Definition OptionTypes.h:39
static const auto s_bottomRightCornerMask
Definition OptionTypes.h:68
static const auto s_topLeftCornerMask
Definition OptionTypes.h:65
static const OptionID kOptionComputerX11WeakFocus
Definition OptionTypes.h:53
static const OptionID kOptionHalfDuplexCapsLock
Definition OptionTypes.h:38
#define OPTION_CODE(_s)
Definition OptionTypes.h:30
static const OptionID kOptionClipboardSharing
Definition OptionTypes.h:58
static const auto s_topRightCornerMask
Definition OptionTypes.h:66
static const OptionID kOptionDefaultLockToComputerState
Definition OptionTypes.h:56
static const OptionID kOptionComputerSwitchCornerSize
Definition OptionTypes.h:49
uint32_t OptionID
Option ID.
Definition OptionTypes.h:18