![]() |
Deskflow 1.27.0.5
Keyboard and mouse sharing utility
|
Primary computer as pseudo-client. More...
#include <PrimaryClient.h>


Public Member Functions | |
| PrimaryClient (const std::string &name, deskflow::Computer *computer) | |
| ~PrimaryClient () override=default | |
manipulators | |
| virtual void | reconfigure (uint32_t activeSides) |
| Update configuration. | |
| virtual uint32_t | registerHotKey (KeyID key, KeyModifierMask mask) |
| Register a system hotkey. | |
| virtual void | unregisterHotKey (uint32_t id) |
| Unregister a system hotkey. | |
| void | fakeInputBegin () |
| Prepare to synthesize input on primary computer. | |
| void | fakeInputEnd () |
| Done synthesizing input on primary computer. | |
| Public Member Functions inherited from BaseClientProxy | |
| BaseClientProxy (const std::string &name) | |
| ~BaseClientProxy () override=default | |
| void | setJumpCursorPos (int32_t x, int32_t y) |
| Save cursor position. | |
| void | getJumpCursorPos (int32_t &x, int32_t &y) const |
| Get cursor position. | |
| std::string | getName () const override |
| Get client name. | |
| Public Member Functions inherited from IClient | |
| Public Member Functions inherited from IComputer | |
| virtual | ~IComputer ()=default |
accessors | |
| int32_t | getJumpZoneSize () const |
| Get jump zone size. | |
| void | getCursorCenter (int32_t &x, int32_t &y) const |
| Get cursor center position. | |
| virtual KeyModifierMask | getToggleMask () const |
| Get toggle key state. | |
| bool | isLockedToComputer () const |
| Get computer lock state. | |
| virtual void | enable () |
| virtual void | disable () |
| void * | getEventTarget () const override |
| Get event target. | |
| bool | getClipboard (ClipboardID id, IClipboard *) const override |
| Get clipboard. | |
| void | getShape (int32_t &x, int32_t &y, int32_t &width, int32_t &height) const override |
| Get computer shape. | |
| void | getCursorPos (int32_t &x, int32_t &y) const override |
| Get cursor position. | |
| void | enter (int32_t xAbs, int32_t yAbs, uint32_t seqNum, KeyModifierMask mask, bool forScreensaver) override |
| Enter computer. | |
| bool | leave () override |
| Leave computer. | |
| void | setClipboard (ClipboardID, const IClipboard *) override |
| Set clipboard. | |
| void | grabClipboard (ClipboardID) override |
| Grab clipboard. | |
| void | setClipboardDirty (ClipboardID, bool) override |
| Mark clipboard dirty. | |
| void | keyDown (KeyID, KeyModifierMask, KeyButton, const std::string &) override |
| Notify of key press. | |
| void | keyRepeat (KeyID, KeyModifierMask, int32_t count, KeyButton, const std::string &) override |
| Notify of key repeat. | |
| void | keyUp (KeyID, KeyModifierMask, KeyButton) override |
| Notify of key release. | |
| void | mouseDown (ButtonID) override |
| Notify of mouse press. | |
| void | mouseUp (ButtonID) override |
| Notify of mouse release. | |
| void | mouseMove (int32_t xAbs, int32_t yAbs) override |
| Notify of mouse motion. | |
| void | mouseRelativeMove (int32_t xRel, int32_t yRel) override |
| Notify of mouse motion. | |
| void | mouseWheel (int32_t xDelta, int32_t yDelta) override |
| Notify of mouse wheel motion. | |
| void | screensaver (bool activate) override |
| Notify of screen saver change. | |
| void | resetOptions () override |
| Notify of options changes. | |
| void | setOptions (const OptionsList &options) override |
| Notify of options changes. | |
| void | sendDragInfo (uint32_t fileCount, const char *info, size_t size) override |
| void | fileChunkSending (uint8_t mark, char *data, size_t dataSize) override |
| std::string | getSecureInputApp () const override |
| void | secureInputNotification (const std::string &app) const override |
| deskflow::IStream * | getStream () const override |
| bool | isPrimary () const override |
| Get cursor position. | |
Primary computer as pseudo-client.
The primary computer does not have a client associated with it. This class provides a pseudo-client to allow the primary computer to be treated as if it was a client.
| PrimaryClient::PrimaryClient | ( | const std::string & | name, |
| deskflow::Computer * | computer ) |
name is the name of the server and computer is primary computer.
|
overridedefault |
|
virtual |
|
virtual |
|
overridevirtual |
Enter computer.
Enter the computer. The cursor should be warped to xAbs,yAbs. mask is the expected toggle button state and the client should update its state to match. forScreensaver is true iff the computer is being entered because the screen saver is starting. Subsequent clipboard events should report seqNum.
Implements BaseClientProxy.
| void PrimaryClient::fakeInputBegin | ( | ) |
Prepare to synthesize input on primary computer.
Prepares the primary computer to receive synthesized input. We do not want to receive this synthesized input as user input so this method ensures that we ignore it. Calls to fakeInputBegin() and fakeInputEnd() may be nested; only the outermost have an effect.
| void PrimaryClient::fakeInputEnd | ( | ) |
Done synthesizing input on primary computer.
Undoes whatever fakeInputBegin() did.
|
overridevirtual |
Implements BaseClientProxy.
|
overridevirtual |
Get clipboard.
Save the contents of the clipboard indicated by id and return true iff successful.
Implements BaseClientProxy.
| void PrimaryClient::getCursorCenter | ( | int32_t & | x, |
| int32_t & | y ) const |
Get cursor center position.
Return the cursor center position which is where we park the cursor to compute cursor motion deltas and should be far from the edges of the computer, typically the center.
|
overridevirtual |
Get cursor position.
Return the current position of the cursor in x and y.
Implements BaseClientProxy.
|
overridevirtual |
Get event target.
Returns the target used for events created by this object.
Implements BaseClientProxy.
| int32_t PrimaryClient::getJumpZoneSize | ( | ) | const |
Get jump zone size.
Return the jump zone size, the size of the regions on the edges of the computer that cause the cursor to jump to another computer.
|
overridevirtual |
Implements BaseClientProxy.
|
overridevirtual |
Get computer shape.
Return the position of the upper-left corner of the computer in x and y and the size of the computer in width and height.
Implements BaseClientProxy.
|
inlineoverridevirtual |
Implements BaseClientProxy.
|
virtual |
Get toggle key state.
Returns the primary computer's current toggle modifier key state.
|
overridevirtual |
Grab clipboard.
Grab (i.e. take ownership of) the client's clipboard. Since this is called when another client takes ownership of the clipboard it implies that the client's clipboard is out of date.
Implements BaseClientProxy.
| bool PrimaryClient::isLockedToComputer | ( | ) | const |
Get computer lock state.
Returns true if the user is locked to the computer.
|
inlineoverridevirtual |
Get cursor position.
Return if this proxy is for client or primary.
Reimplemented from BaseClientProxy.
|
overridevirtual |
Notify of key press.
Synthesize key events to generate a press of key id. If possible match the given modifier mask. The KeyButton identifies the physical key on the server that generated this key down. The client must ensure that a key up or key repeat that uses the same KeyButton will synthesize an up or repeat for the same client key synthesized by keyDown().
Implements BaseClientProxy.
|
overridevirtual |
Notify of key repeat.
Synthesize key events to generate a press and release of key id count times. If possible match the given modifier mask.
Implements BaseClientProxy.
|
overridevirtual |
Notify of key release.
Synthesize key events to generate a release of key id. If possible match the given modifier mask.
Implements BaseClientProxy.
|
overridevirtual |
Leave computer.
Leave the computer. Return false iff the user may not leave the client's computer (because, for example, a button is down).
Implements BaseClientProxy.
|
overridevirtual |
Notify of mouse press.
Synthesize mouse events to generate a press of mouse button id.
Implements BaseClientProxy.
|
overridevirtual |
Notify of mouse motion.
Synthesize mouse events to generate mouse motion to the absolute computer position xAbs,yAbs.
Implements BaseClientProxy.
|
overridevirtual |
Notify of mouse motion.
Synthesize mouse events to generate mouse motion by the relative amount xRel,yRel.
Implements BaseClientProxy.
|
overridevirtual |
Notify of mouse release.
Synthesize mouse events to generate a release of mouse button id.
Implements BaseClientProxy.
|
overridevirtual |
Notify of mouse wheel motion.
Synthesize mouse events to generate mouse wheel motion of xDelta and yDelta. Deltas are positive for motion away from the user or to the right and negative for motion towards the user or to the left. Each wheel click should generate a delta of +/-120.
Implements BaseClientProxy.
|
virtual |
Update configuration.
Handles reconfiguration of jump zones.
|
virtual |
Register a system hotkey.
Registers a system-wide hotkey for key key with modifiers mask. Returns an id used to unregister the hotkey.
|
overridevirtual |
|
overridevirtual |
Notify of screen saver change.
Implements BaseClientProxy.
|
overridevirtual |
Implements BaseClientProxy.
|
overridevirtual |
Implements BaseClientProxy.
|
overridevirtual |
Set clipboard.
Update the client's clipboard. This implies that the client's clipboard is now up to date. If the client's clipboard was already known to be up to date then this may do nothing. data has marshalled clipboard data.
Implements BaseClientProxy.
|
overridevirtual |
Mark clipboard dirty.
Mark the client's clipboard as dirty (out of date) or clean (up to date).
Implements BaseClientProxy.
|
overridevirtual |
Notify of options changes.
Set options to given values. Ignore unknown options and don't modify our options that aren't given in options.
Implements BaseClientProxy.
|
virtual |
Unregister a system hotkey.
Unregisters a previously registered hot key.