mirror of
https://github.com/debauchee/barrier.git
synced 2024-12-20 01:11:37 +03:00
11f90022e0
key handling to win32 on both client and server. It also changes the protocol and adds code to ensure every key pressed also gets released and that that doesn't get confused when the KeyID for the press is different from the KeyID of the release (or repeat).
74 lines
2.4 KiB
C++
74 lines
2.4 KiB
C++
/*
|
|
* synergy -- mouse and keyboard sharing utility
|
|
* Copyright (C) 2002 Chris Schoeneman
|
|
*
|
|
* This package is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* found in the file COPYING that should have accompanied this file.
|
|
*
|
|
* This package is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*/
|
|
|
|
#ifndef IPRIMARYSCREENRECEIVER_H
|
|
#define IPRIMARYSCREENRECEIVER_H
|
|
|
|
#include "IInterface.h"
|
|
#include "KeyTypes.h"
|
|
#include "MouseTypes.h"
|
|
|
|
//! Primary screen event receiver interface
|
|
/*!
|
|
The interface for receiving notification of events on the primary
|
|
screen. The server implements this interface to handle user input.
|
|
Platform dependent primary screen implementation will need to take
|
|
an IPrimaryScreenReceiver* and notify it of events.
|
|
*/
|
|
class IPrimaryScreenReceiver : public IInterface {
|
|
public:
|
|
//! Notify of screen saver change
|
|
/*!
|
|
Called when the screensaver is activated or deactivated.
|
|
*/
|
|
virtual void onScreensaver(bool activated) = 0;
|
|
|
|
//! Notify of one-shot timer expiration
|
|
/*!
|
|
Called when a one-shot timer expires.
|
|
*/
|
|
virtual void onOneShotTimerExpired(UInt32 id) = 0;
|
|
|
|
// call to notify of events. onMouseMovePrimary() returns
|
|
// true iff the mouse enters a jump zone and jumps.
|
|
//! Notify of key press
|
|
virtual void onKeyDown(KeyID, KeyModifierMask, KeyButton) = 0;
|
|
//! Notify of key release
|
|
virtual void onKeyUp(KeyID, KeyModifierMask, KeyButton) = 0;
|
|
//! Notify of key repeat
|
|
virtual void onKeyRepeat(KeyID, KeyModifierMask,
|
|
SInt32 count, KeyButton) = 0;
|
|
//! Notify of mouse button press
|
|
virtual void onMouseDown(ButtonID) = 0;
|
|
//! Notify of mouse button release
|
|
virtual void onMouseUp(ButtonID) = 0;
|
|
//! Notify of mouse motion
|
|
/*!
|
|
Called when the mouse has moved while on the primary screen. \c x
|
|
and \c y are the absolute screen position of the mouse. Return
|
|
true iff the mouse enters a jump zone and jumps.
|
|
*/
|
|
virtual bool onMouseMovePrimary(SInt32 x, SInt32 y) = 0;
|
|
//! Notify of mouse motion
|
|
/*!
|
|
Called when the mouse has moved while on the secondary screen.
|
|
\c dx and \c dy are the relative motion from the last position.
|
|
*/
|
|
virtual void onMouseMoveSecondary(SInt32 dx, SInt32 dy) = 0;
|
|
//! Notify of mouse wheen motion
|
|
virtual void onMouseWheel(SInt32 delta) = 0;
|
|
};
|
|
|
|
#endif
|