aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/nxagent/Events.c
Commit message (Collapse)AuthorAgeFilesLines
* drop onscreen keyboard supportUlrich Sibiller2019-06-271-74/+1
| | | | | | | | | With the removal of the Ipaq code there's no path anymore to open the onscreen keyboard. Also nxkbd is not available and we do not have tested that feature with any onscreen keyboard yet. So there's no point in integrating that code. Fixes ArcticaProject/nx-libs#405
* Drop Ipaq supportUlrich Sibiller2019-06-271-5/+0
| | | | Did we ever provide a binary?
* various scope improvementsUlrich Sibiller2019-06-191-15/+9
|
* Events.c: use designated initializer in nxagentDeactivatePointerGrabUlrich Sibiller2019-06-191-15/+17
|
* Add nxagentExternalClipboardEventTrapUlrich Sibiller2019-06-111-0/+12
|
* Events.c: add debug outputUlrich Sibiller2019-06-111-0/+7
|
* Revert "nxagent: rework Bool handling"Ulrich Sibiller2019-02-151-49/+49
| | | | | | | | | | | | This reverts commit 16cd2bbe1c4425e3fa557f9ca0723aa94a50b071. It turned out that I had missed some of the Booleans being actually tristate variables. I think I can fix this (they do not need to be tristate) but I revert this for now to get back to a working state (there are reports about non-working fullscreen mode and reconnect problems). Refers to ArcticaProject/nx-libs#772
* nxagent: rework Bool handlingUlrich Sibiller2019-02-111-49/+49
| | | | drop "== False", "== 0", "== True" and "== 0" for nxagentOptions and Traps
* Event.c: improve DEBUG outputUlrich Sibiller2018-11-091-3/+15
|
* Check nxagentXkbInfo.EventBase before useUlrich Sibiller2018-11-091-1/+7
|
* Events.c: improve Bool usageUlrich Sibiller2018-10-221-5/+4
|
* nxagent: use nxagentWMIsRunning as Bool all over the placeUlrich Sibiller2018-10-221-5/+5
| | | | | | has been used as integer sometimes (technically correct, but not nice) Fixes ArcticaProject/nx-libs#698
* Events.c: drop variable that caused compilation warningUlrich Sibiller2018-08-221-8/+2
| | | | | | | Fixes this message when compiling with TEST: Events.c:2725:22: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers] message_data = validateString(NameForAtom(x.u.clientMessage.u.l.longs0));
* Events.c: fix wrong printf format specifiersUlrich Sibiller2018-08-221-4/+4
|
* Events.c: fix compiler warningsUlrich Sibiller2018-08-221-3/+3
| | | | format ‘%p’ expects argument of type ‘void *’
* Events.c: mitigate compiler warningUlrich Sibiller2018-08-221-1/+1
| | | | "ISO C forbids assignment between function pointer and 'void *' [-pedantic]"
* refactor nxagentGet(Default)EventMaskUlrich Sibiller2018-08-221-16/+8
| | | | Fixes ArcticaProject/nx-libs#691.
* Update Xinerama on XMapEventUlrich Sibiller2018-05-241-0/+12
| | | | Fixes ArcticaProject/nx-libs#694
* Events.c: catch intermediate window position changesUlrich Sibiller2018-05-241-5/+35
| | | | | | | | | | | | | nxagentHandleConfigureNotify() has an optimization that accumulates ConfigureNotify events from the queue to only perform the changes of the last ConfigureNotify event in the queue. But that code used to ignore position changes and only adapt the new window position if the last event happened to contain a position change. This change ensures the latest position change - if any - found in the queue will be applied after the accumulation. Fixes: ArticaProject/nx-libs#688 (second part)
* nxagent: remove mmwidth/mmheight from nxagentChangeScreenConfigUlrich Sibiller2018-05-241-4/+3
| | | | Was 0,0 on every call...
* Screen.c/Events.c: fix some commentsUlrich Sibiller2018-05-241-2/+1
|
* nxagent: use XAllocSizeHints() instead of XSizeHints structUlrich Sibiller2018-05-241-25/+12
| | | | | | This is the preferred way. It ensures, that a) the data is zeroed b) a correct size in case xlib is changing the size of the structure in future releases
* Screen.c/Events.c: add some FIXMEsUlrich Sibiller2018-05-241-0/+1
|
* hw/nxagent: fix spelling errors as reported by codespellUlrich Sibiller2018-05-241-1/+1
|
* hw/nxagent/: Use <function>(void) rather than <function>().Mike Gabriel2018-02-261-9/+9
|
* nxagent: Add support for optionally enabling/disabling the magic pixel feature.Mike Gabriel2018-02-261-1/+1
| | | | Fixes ArcticaProject/nx-libs#657.
* Events.c: change scope of XButtonEvent struct and clear it before useUlrich Sibiller2018-02-051-2/+3
|
* Events.c: Fix wrong function name in TEST outputUlrich Sibiller2018-02-051-1/+1
|
* Events.c: add FIXMEUlrich Sibiller2018-01-071-0/+1
|
* hw/nxagent/Events.c: Fix compiler warnings (with NX_DEBUG_INPUT): format.Mike Gabriel2017-12-141-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Events.c: In function 'nxagentDumpInputDevicesState': Events.c:4662:58: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'DeviceIntPtr {aka struct _DeviceIntRec *}' [-Wformat=] fprintf(stderr, "\nKeyboard device state: \n\tdevice [%p]\n\tlast grab time [%lu]" ^ Events.c:4662:82: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'CARD32 {aka unsigned int}' [-Wformat=] fprintf(stderr, "\nKeyboard device state: \n\tdevice [%p]\n\tlast grab time [%lu]" ^ Events.c:4662:19: warning: format '%p' expects argument of type 'void *', but argument 7 has type 'GrabPtr {aka struct _GrabRec *}' [-Wformat=] fprintf(stderr, "\nKeyboard device state: \n\tdevice [%p]\n\tlast grab time [%lu]" ^ Events.c:4675:66: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'WindowPtr {aka struct _Window *}' [-Wformat=] fprintf(stderr, "\nKeyboard grab state: \n\twindow pointer [%p]" ^ Events.c:4689:59: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'DeviceIntPtr {aka struct _DeviceIntRec *}' [-Wformat=] fprintf(stderr, "\nPassive grab state: \n\tdevice [%p]\n\towner events flag [%s]" ^ Events.c:4689:23: warning: format '%lx' expects argument of type 'long unsigned int', but argument 10 has type 'Mask {aka unsigned int}' [-Wformat=] fprintf(stderr, "\nPassive grab state: \n\tdevice [%p]\n\towner events flag [%s]" ^ Events.c:4722:57: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'DeviceIntPtr {aka struct _DeviceIntRec *}' [-Wformat=] fprintf(stderr, "\nPointer device state: \n\tdevice [%p]\n\tlast grab time [%lu]" ^ Events.c:4722:81: warning: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'CARD32 {aka unsigned int}' [-Wformat=] fprintf(stderr, "\nPointer device state: \n\tdevice [%p]\n\tlast grab time [%lu]" ^ Events.c:4722:19: warning: format '%p' expects argument of type 'void *', but argument 7 has type 'GrabPtr {aka struct _GrabRec *}' [-Wformat=] fprintf(stderr, "\nPointer device state: \n\tdevice [%p]\n\tlast grab time [%lu]" ^ Events.c:4735:65: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'WindowPtr {aka struct _Window *}' [-Wformat=] fprintf(stderr, "\nPointer grab state: \n\twindow pointer [%p]" ^ Events.c:4750:61: warning: format '%p' expects argument of type 'void *', but argument 3 has type 'DeviceIntPtr {aka struct _DeviceIntRec *}' [-Wformat=] fprintf(stderr, "\nPassive grab state: \n\tdevice [%p]\n\towner events flag [%s]" ^ Events.c:4750:25: warning: format '%lx' expects argument of type 'long unsigned int', but argument 10 has type 'Mask {aka unsigned int}' [-Wformat=] fprintf(stderr, "\nPassive grab state: \n\tdevice [%p]\n\towner events flag [%s]" ^
* Events.c/h: Rename & restructure some Xkb functionsUlrich Sibiller2017-12-141-20/+20
| | | | | nxagentInitKeyboardState -> nxagentInitXkbKeyboardState nxagentHandleKeyboardEvent -> nxagentHandleXkbKeyboardStateEvent
* Events.c: add ifdef around nxagentRemoteWindowsTreeUlrich Sibiller2017-12-071-0/+3
| | | | It is called only if DEBUG_TREE is defined.
* Make sure XQueryTree results are freedUlrich Sibiller2017-12-071-15/+17
| | | | Fixes ArcticaProject/nx-libs#585
* Revert "Switch from using libNX_X11's deprecated XKeycodeToKeysym() function ↵Ulrich Sibiller2017-05-041-17/+4
| | | | | | | | | | | | | | | | | to using XGetKeyboardMapping()." This reverts commit efc0dae0519aa0ef1fabea6a64919475fd916347. Recent test revealed keyboard hangs on high latency connections. These hangs are not happening in 3.5.0 releases if the nx-libs. The commit above is responsible for them so we take that back. Interestingly nxcomp has special treatment for XGetKeyboardMapping() so it should normally speed up things but it results in the opposite for us. Needs further examination. This fixes ArcticaProject/nx-libs#450
* Keystrokes: rename left/up/right/down keystrokes to descriptive namesUlrich Sibiller2017-04-031-4/+4
| | | | | | The are now called reflecting their purpose: viewport_scroll_left/up/right/down. This also regroups all the keystrokes referring to viewport stuff.
* Fix "uninitialised byte(s)" complaints from valgrindUlrich Sibiller2017-03-021-2/+16
|
* Switch from using libNX_X11's deprecated XKeycodeToKeysym() function to ↵Mike Gabriel2017-02-201-4/+17
| | | | | | using XGetKeyboardMapping(). Fixes ArcticaProject/nx-libs#229.
* nxcompext: Move code into Xserver subtree, as nxcompext requires Xserver ↵Mike Gabriel2016-11-151-1/+1
| | | | | | includes at build time. Fixes ArcticaProject/nx-libs#276.
* hw/nxagent/{Clipboard|Events}.c: Typo fix in error messages.Mike Gabriel2016-10-131-1/+1
|
* Per-file copyright notices: Update copyright information in file headers ↵Mike Gabriel2016-07-061-7/+15
| | | | that NoMachine placed there own copyright statement in.
* remove unreferenced NEED_EVENTS/NEED_REPLIESUlrich Sibiller2016-07-051-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove defines of NEED_EVENTS and NEED_REPLIES because they are never used anywhere. Basically these three commits, but as they are newer and to not match the code structure the patches have not been applied but replaced by sed + manual intervention: From cb95642dc8edebb2935dd471f8b339cb98aa8481 Mon Sep 17 00:00:00 2001 From: Peter Hutterer <peter.hutterer@redhat.com> Date: Fri, 28 Nov 2008 22:28:32 +1000 Subject: Remove #define NEED_EVENTS and NEED_REPLIES A grep on xorg/* revealed there's no consumer of this define. Quote Alan Coopersmith: "The consumer was in past versions of the headers now located in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h, all the event definitions were only available if NEED_EVENTS were defined, and all the reply definitions required NEED_REPLIES. Looks like Xproto.h dropped them by X11R6.3, which didn't have the #ifdef's anymore, so these are truly ancient now." Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com> -- From 6de368c9aa7ccd2fcd62fca5a2b278913db4d03d Mon Sep 17 00:00:00 2001 From: Fernando Carrijo <fcarrijo@yahoo.com.br> Date: Thu, 1 Jul 2010 06:50:47 -0300 Subject: Purge macros NEED_EVENTS and NEED_REPLIES Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> -- From 57c03e52e6b4e3ed54df5fdd778865467d08e119 Mon Sep 17 00:00:00 2001 From: Fernando Carrijo <fcarrijo@yahoo.com.br> Date: Thu, 1 Jul 2010 06:59:48 -0300 Subject: Purge macro NEED_EVENTS Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* Move each screen's root-window pointer into ScreenRec.Mike Gabriel2016-06-211-15/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit e7fae9ecc42ab5e73b89117722dbf4117d928f9a Author: Jamey Sharp <jamey@minilop.net> Date: Sat May 22 00:26:28 2010 -0700 Move each screen's root-window pointer into ScreenRec. Many references to the WindowTable array already had the corresponding screen pointer handy, which meant they usually looked like "WindowTable[pScreen->myNum]". Adding a field to ScreenRec instead of keeping this information in a parallel array simplifies those expressions, and eliminates a MAXSCREENS-sized array. Since dix uses this data, a screen private entry isn't appropriate. xf86-video-dummy currently uses WindowTable, so it needs to be updated to reflect this change. Signed-off-by: Jamey Sharp <jamey@minilop.net> Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com> Tested-by: Tiago Vignatti <tiago.vignatti@nokia.com> (i686 GNU/Linux) Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* nxagentReversePointerMap: Don't assume Xevent.xbutton.button is always ↵Mike Gabriel2016-06-211-2/+2
| | | | | | | greater than zero. We have seen Xevent.xbutton.button being set to AnyButton (equaling 0). Fixes ArcticaProject/nx-libs#92 Fixes X2GoBTS#791
* nx-X11/programs/Xserver: Include nxcomp{,ext,shad} headers like one would do ↵Mike Gabriel2016-06-131-5/+5
| | | | with system-wide shared libraries.
* hw/nxagent/Events.c: Avoid '#endif <empty line> #ifdef DEBUG' blocks.Mihai Moldovan2016-05-131-12/+0
|
* hw/nxagent/Events.c: Only declare and assign message_data and box variables ↵Mike Gabriel2016-05-021-25/+8
| | | | | | | | | | | | | | | | | if compiled with -DTEST / -DDEBUG (plus drop commented out code). Amends the following compiler warnings: ``` Events.c: In function ‘nxagentHandleClientMessageEvent’: Events.c:2694:13: warning: variable ‘message_data’ set but not used [-Wunused-but-set-variable] char *message_data; ^ Events.c: In function ‘nxagentClipAndSendExpose’: Events.c:4313:10: warning: variable ‘box’ set but not used [-Wunused-but-set-variable] BoxRec box; ^ ```
* hw/nxagent/*.c: Drop various declarations of unused ScreenPtr pScreen.Mike Gabriel2016-05-021-6/+0
| | | | | These can be dropped after we have turned REGION_* macros into static inline function calls in some of the previous commits.
* Rename region macros to eliminate screen argumentMike Gabriel2016-05-021-37/+37
| | | | | | | | | | | | | | | | | | | | | This is a huge mechanical patch and a few small fixups required to finish the job. They were reviewed separately, but because the server does not build without both pieces, I've merged them together at this time. The mechanical changes were performed by running the included 'fix-region' script over the whole nx-X11/programs/Xserver tree: $ cd nx-X11/programs/Xserver && ( git ls-files | grep -v '^fix-' | xargs ./fix-region; ) And then, the white space errors in the resulting patch were fixed using the provided fix-patch-whitespace script. $ sh ./fix-patch-whitespace Thanks to Jamey Sharp for the mighty fine sed-generating sed script. v1: Keith Packard <keithp@keithp.com> (X.Org xserver commit: 2dc138922b7588515d5f2447e4b9dcdc0bef15e0) v2: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> (apply fix-region script to nx-libs)
* Initialize XRandR based Xinerama extension properly when session is started ↵Mike Gabriel2015-12-301-1/+1
| | | | with "-geometry fullscreen".
* Reimplement xinerama via randr in nxagent (not libNX_Xinerama). (Fixes ↵Ulrich Sibiller2015-12-301-4/+42
| | | | | | | | | ArcticaProject/nx-libs#23). No more xinerama faking, just use existing xrandr extension and initalize it properly. Xinerama then works automatically. Fixes ArcticaProject/nx-libs#23