Deskflow 1.24.0.365
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
IPrimaryScreen.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2025 Deskflow Developers
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
5 * SPDX-FileCopyrightText: (C) 2003 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#pragma once
10
11#include "deskflow/KeyTypes.h"
12#include "deskflow/MouseTypes.h"
13
15
20{
21public:
22 virtual ~IPrimaryScreen() = default;
25 {
26 public:
27 ButtonInfo(ButtonID button, KeyModifierMask mask) : m_button{button}, m_mask{mask}
28 {
29 // do nothing
30 }
32 static ButtonInfo *alloc(const ButtonInfo &);
33
34 static bool equal(const ButtonInfo *, const ButtonInfo *);
35
36 public:
39 };
40
42 {
43 public:
44 static MotionInfo *alloc(int32_t x, int32_t y);
45
46 public:
47 int32_t m_x;
48 int32_t m_y;
49 };
50
52 {
53 public:
54 static WheelInfo *alloc(int32_t xDelta, int32_t yDelta);
55
56 public:
57 int32_t m_xDelta;
58 int32_t m_yDelta;
59 };
60
62 {
63 public:
64 static HotKeyInfo *alloc(uint32_t id);
65
66 public:
67 uint32_t m_id;
68 };
69
71 {
72 public:
73 static EiConnectInfo *alloc(int fd);
74
75 public:
76 int m_fd;
77 };
78
80
81
83
89 virtual void reconfigure(uint32_t activeSides) = 0;
90
95 virtual uint32_t activeSides() = 0;
96
98
103 virtual void warpCursor(int32_t x, int32_t y) = 0;
104
106
126 virtual uint32_t registerHotKey(KeyID key, KeyModifierMask mask) = 0;
127
129
132 virtual void unregisterHotKey(uint32_t id) = 0;
133
135
141 virtual void fakeInputBegin() = 0;
142
144
147 virtual void fakeInputEnd() = 0;
148
150
152
154
158 virtual int32_t getJumpZoneSize() const = 0;
159
161
166 virtual bool isAnyMouseButtonDown(uint32_t &buttonID) const = 0;
167
169
174 virtual void getCursorCenter(int32_t &x, int32_t &y) const = 0;
175
177};
int key
Definition KeySequence.cpp:15
uint32_t KeyID
Key ID.
Definition KeyTypes.h:21
uint32_t KeyModifierMask
Modifier key mask.
Definition KeyTypes.h:44
uint8_t ButtonID
Mouse button ID.
Definition MouseTypes.h:16
int y
Definition ServerConfig.cpp:25
int x
Definition ServerConfig.cpp:24
Button event data.
Definition IPrimaryScreen.h:25
static ButtonInfo * alloc(ButtonID, KeyModifierMask)
Definition IPrimaryScreen.cpp:16
ButtonID m_button
Definition IPrimaryScreen.h:37
static bool equal(const ButtonInfo *, const ButtonInfo *)
Definition IPrimaryScreen.cpp:32
ButtonInfo(ButtonID button, KeyModifierMask mask)
Definition IPrimaryScreen.h:27
KeyModifierMask m_mask
Definition IPrimaryScreen.h:38
Definition IPrimaryScreen.h:71
int m_fd
Definition IPrimaryScreen.h:76
static EiConnectInfo * alloc(int fd)
Definition IPrimaryScreen.cpp:76
Hot key event data.
Definition IPrimaryScreen.h:62
uint32_t m_id
Definition IPrimaryScreen.h:67
static HotKeyInfo * alloc(uint32_t id)
Definition IPrimaryScreen.cpp:65
Motion event data.
Definition IPrimaryScreen.h:42
int32_t m_y
Definition IPrimaryScreen.h:48
int32_t m_x
Definition IPrimaryScreen.h:47
static MotionInfo * alloc(int32_t x, int32_t y)
Definition IPrimaryScreen.cpp:41
Wheel motion event data.
Definition IPrimaryScreen.h:52
int32_t m_yDelta
Definition IPrimaryScreen.h:58
static WheelInfo * alloc(int32_t xDelta, int32_t yDelta)
Definition IPrimaryScreen.cpp:53
int32_t m_xDelta
Definition IPrimaryScreen.h:57
Primary screen interface.
Definition IPrimaryScreen.h:20
virtual void warpCursor(int32_t x, int32_t y)=0
Warp cursor.
virtual void unregisterHotKey(uint32_t id)=0
Unregister a system hotkey.
virtual ~IPrimaryScreen()=default
virtual void getCursorCenter(int32_t &x, int32_t &y) const =0
Get cursor center position.
virtual bool isAnyMouseButtonDown(uint32_t &buttonID) const =0
Test if mouse is pressed.
virtual void fakeInputBegin()=0
Prepare to synthesize input on primary screen.
virtual void fakeInputEnd()=0
Done synthesizing input on primary screen.
virtual uint32_t registerHotKey(KeyID key, KeyModifierMask mask)=0
Register a system hotkey.
virtual int32_t getJumpZoneSize() const =0
Get jump zone size.
virtual uint32_t activeSides()=0
activeSides
virtual void reconfigure(uint32_t activeSides)=0
Update configuration.