From 9e3371021541dbb7d8428b419c2e77156b166f1a Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:30 +0200 Subject: Imported nxagent-3.1.0-2.tar.gz Summary: Imported nxagent-3.1.0-2.tar.gz Keywords: Imported nxagent-3.1.0-2.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 157 +++++++++++++++++++++++++++ 1 file changed, 157 insertions(+) create mode 100644 nx-X11/programs/Xserver/hw/nxagent/Pointer.c (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c new file mode 100644 index 000000000..f53dfbe52 --- /dev/null +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -0,0 +1,157 @@ +/**************************************************************************/ +/* */ +/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* */ +/* NXAGENT, NX protocol compression and NX extensions to this software */ +/* are copyright of NoMachine. Redistribution and use of the present */ +/* software is allowed according to terms specified in the file LICENSE */ +/* which comes in the source distribution. */ +/* */ +/* Check http://www.nomachine.com/licensing.html for applicability. */ +/* */ +/* NX and NoMachine are trademarks of NoMachine S.r.l. */ +/* */ +/* All rights reserved. */ +/* */ +/**************************************************************************/ + +/* + +Copyright 1993 by Davor Matic + +Permission to use, copy, modify, distribute, and sell this software +and its documentation for any purpose is hereby granted without fee, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in +supporting documentation. Davor Matic makes no representations about +the suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + +*/ + +#include "X.h" +#include "Xproto.h" +#include "screenint.h" +#include "input.h" +#include "misc.h" +#include "scrnintstr.h" +#include "servermd.h" +#include "mipointer.h" + +#include "Agent.h" +#include "Args.h" +#include "Display.h" +#include "Screen.h" +#include "Pointer.h" +#include "Events.h" +#include "Options.h" + +#include "NXlib.h" + +/* + * Set here the required log level. + */ + +#define PANIC +#define WARNING +#undef TEST +#undef DEBUG + +void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl) +{ + /* + * The original behaviour was to reset the pointer settings + * (acceleration and alas) to the default values. What the + * average user expects, on the contrary, is to have agent + * inheriting whatever value is set on the real X display. + * Having to reflect changes made inside the agent session, + * the correct behavior would be saving the original values + * and restoring them as soon as focus leaves the agent's + * window. + */ + + if (nxagentOption(DeviceControl) == True) + { + #ifdef TEST + fprintf(stderr, "nxagentChangePointerControl: WARNING! Propagating changes to pointer settings.\n"); + #endif + + XChangePointerControl(nxagentDisplay, True, True, + ctrl->num, ctrl->den, ctrl->threshold); + + return; + } + + #ifdef TEST + fprintf(stderr, "nxagentChangePointerControl: WARNING! Not propagating changes to pointer settings.\n"); + #endif +} + +int nxagentPointerProc(DeviceIntPtr pDev, int onoff) +{ + CARD8 map[MAXBUTTONS]; + int nmap; + int i; + + switch (onoff) + { + case DEVICE_INIT: + + #ifdef TEST + fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_INIT].\n"); + #endif + + if (NXDisplayError(nxagentDisplay) == 1) + { + return Success; + } + + nmap = XGetPointerMapping(nxagentDisplay, map, MAXBUTTONS); + for (i = 0; i <= nmap; i++) + map[i] = i; /* buttons are already mapped */ + InitPointerDeviceStruct((DevicePtr) pDev, map, nmap, + miPointerGetMotionEvents, + nxagentChangePointerControl, + miPointerGetMotionBufferSize()); + break; + case DEVICE_ON: + + #ifdef TEST + fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_ON].\n"); + #endif + + if (NXDisplayError(nxagentDisplay) == 1) + { + return Success; + } + + nxagentEnablePointerEvents(); + + break; + + case DEVICE_OFF: + + #ifdef TEST + fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_OFF].\n"); + #endif + + if (NXDisplayError(nxagentDisplay) == 1) + { + return Success; + } + + nxagentDisablePointerEvents(); + + break; + + case DEVICE_CLOSE: + + #ifdef TEST + fprintf(stderr, "nxagentPointerProc: Called for [DEVICE_CLOSE].\n"); + #endif + + break; + } + + return Success; +} -- cgit v1.2.3 From e9132da09462b3d2607a97e2f580cbd3144819eb Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:57 +0200 Subject: Imported nxagent-3.4.0-11.tar.gz Summary: Imported nxagent-3.4.0-11.tar.gz Keywords: Imported nxagent-3.4.0-11.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 38 ++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c index f53dfbe52..9c1bfaace 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2007 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ @@ -9,7 +9,7 @@ /* */ /* Check http://www.nomachine.com/licensing.html for applicability. */ /* */ -/* NX and NoMachine are trademarks of NoMachine S.r.l. */ +/* NX and NoMachine are trademarks of Medialogic S.p.A. */ /* */ /* All rights reserved. */ /* */ @@ -57,6 +57,13 @@ is" without express or implied warranty. #undef TEST #undef DEBUG +/* + * The nxagentReversePointerMap array is used to + * memorize remote display pointer map. + */ + +unsigned char nxagentReversePointerMap[MAXBUTTONS]; + void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl) { /* @@ -125,6 +132,8 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) return Success; } + nxagentInitPointerMap(); + nxagentEnablePointerEvents(); break; @@ -155,3 +164,28 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) return Success; } + +void nxagentInitPointerMap(void) +{ + int numButtons; + + int i; + + unsigned char pointerMap[MAXBUTTONS]; + + #ifdef DEBUG + fprintf(stderr, "nxagentInitPointerMap: Going to retrieve the " + "pointer map from remote display.\n"); + #endif + + numButtons = XGetPointerMapping(nxagentDisplay, pointerMap, MAXBUTTONS); + + /* + * Computing revers pointer map. + */ + + for (i = 1; i <= numButtons; i++) + { + nxagentReversePointerMap[pointerMap[i - 1] - 1] = i; + } +} -- cgit v1.2.3 From 25af86cd3aaa61dc4a3d69825aa523177c2229e1 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:57 +0200 Subject: Imported nxagent-3.4.0-16.tar.gz Summary: Imported nxagent-3.4.0-16.tar.gz Keywords: Imported nxagent-3.4.0-16.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c index 9c1bfaace..a751974af 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3 From d30ef0340e759378964b75e8143625ecaea245b0 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:58 +0200 Subject: Imported nxagent-3.4.0-3.tar.gz Summary: Imported nxagent-3.4.0-3.tar.gz Keywords: Imported nxagent-3.4.0-3.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 36 +--------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c index a751974af..8a6702d18 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ @@ -57,13 +57,6 @@ is" without express or implied warranty. #undef TEST #undef DEBUG -/* - * The nxagentReversePointerMap array is used to - * memorize remote display pointer map. - */ - -unsigned char nxagentReversePointerMap[MAXBUTTONS]; - void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl) { /* @@ -132,8 +125,6 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) return Success; } - nxagentInitPointerMap(); - nxagentEnablePointerEvents(); break; @@ -164,28 +155,3 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) return Success; } - -void nxagentInitPointerMap(void) -{ - int numButtons; - - int i; - - unsigned char pointerMap[MAXBUTTONS]; - - #ifdef DEBUG - fprintf(stderr, "nxagentInitPointerMap: Going to retrieve the " - "pointer map from remote display.\n"); - #endif - - numButtons = XGetPointerMapping(nxagentDisplay, pointerMap, MAXBUTTONS); - - /* - * Computing revers pointer map. - */ - - for (i = 1; i <= numButtons; i++) - { - nxagentReversePointerMap[pointerMap[i - 1] - 1] = i; - } -} -- cgit v1.2.3 From c078024019d334eb96fbfaf922c64297c9a0c6e0 Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:59 +0200 Subject: Imported nxagent-3.4.0-5.tar.gz Summary: Imported nxagent-3.4.0-5.tar.gz Keywords: Imported nxagent-3.4.0-5.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c index 8a6702d18..34012d3d5 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2009 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3 From b7494f082ad56049c24927afdf89abc852fe06bb Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:58:59 +0200 Subject: Imported nxagent-3.4.0-8.tar.gz Summary: Imported nxagent-3.4.0-8.tar.gz Keywords: Imported nxagent-3.4.0-8.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 34 ++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c index 34012d3d5..9c1bfaace 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -57,6 +57,13 @@ is" without express or implied warranty. #undef TEST #undef DEBUG +/* + * The nxagentReversePointerMap array is used to + * memorize remote display pointer map. + */ + +unsigned char nxagentReversePointerMap[MAXBUTTONS]; + void nxagentChangePointerControl(DeviceIntPtr pDev, PtrCtrl *ctrl) { /* @@ -125,6 +132,8 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) return Success; } + nxagentInitPointerMap(); + nxagentEnablePointerEvents(); break; @@ -155,3 +164,28 @@ int nxagentPointerProc(DeviceIntPtr pDev, int onoff) return Success; } + +void nxagentInitPointerMap(void) +{ + int numButtons; + + int i; + + unsigned char pointerMap[MAXBUTTONS]; + + #ifdef DEBUG + fprintf(stderr, "nxagentInitPointerMap: Going to retrieve the " + "pointer map from remote display.\n"); + #endif + + numButtons = XGetPointerMapping(nxagentDisplay, pointerMap, MAXBUTTONS); + + /* + * Computing revers pointer map. + */ + + for (i = 1; i <= numButtons; i++) + { + nxagentReversePointerMap[pointerMap[i - 1] - 1] = i; + } +} -- cgit v1.2.3 From 39b738a67a14dde67b2a811d56ac84934fcef52d Mon Sep 17 00:00:00 2001 From: Reinhard Tartler Date: Mon, 10 Oct 2011 17:59:00 +0200 Subject: Imported nxagent-3.5.0-2.tar.gz Summary: Imported nxagent-3.5.0-2.tar.gz Keywords: Imported nxagent-3.5.0-2.tar.gz into Git repository --- nx-X11/programs/Xserver/hw/nxagent/Pointer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'nx-X11/programs/Xserver/hw/nxagent/Pointer.c') diff --git a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c index 9c1bfaace..a751974af 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Pointer.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Pointer.c @@ -1,6 +1,6 @@ /**************************************************************************/ /* */ -/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/. */ +/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/. */ /* */ /* NXAGENT, NX protocol compression and NX extensions to this software */ /* are copyright of NoMachine. Redistribution and use of the present */ -- cgit v1.2.3