xserver-multidpi/xkb
Peter Hutterer 1432785839 xkb: release XTEST pointer buttons on physical releases. (#28808)
If a button release event is posted for the MD pointer, post a release event
through the matching XTEST device. This way, a client who posts a button
press through the XTEST extension cannot inadvertedly lock the button.

This behaviour is required for historical reasons, until server 1.7 the core
pointer would release a button press on physical events, regardless of the
XTEST state. Clients seem to rely on this behaviour, causing seemingly stuck
grabs.

The merged behaviour is kept for multiple keyboard PointerKey events, if two
physical keyboards hold the button down as a result of PointerKey actions,
the button is not released until the last keyboard releases the button.

X.Org Bug 28808 <http://bugs.freedesktop.org/show_bug.cgi?id=28808>

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2010-07-02 08:51:30 +10:00
..
ddxBeep.c xkb: sed True -> TRUE and False -> FALSE 2010-02-02 10:03:30 +10:00
ddxCtrls.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxKillSrv.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxLEDs.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxList.c Remove more superfluous if(p) checks around free(p) 2010-06-11 19:05:46 +07:00
ddxLoad.c xkb: replace xstrdup with strdup in Win32System 2010-06-11 19:05:46 +07:00
ddxPrivate.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
ddxVT.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
Makefile.am xkb: rename XkbFakeDeviceButton and XkbFakeDeviceMotion, move into xkbActions.c 2010-04-19 09:23:20 +10:00
maprules.c Remove more superfluous if(p) checks around free(p) 2010-06-06 20:27:18 +07:00
README.compiled R6.6 is the Xorg base-line 2003-11-14 15:54:54 +00:00
xkb.c Remove more superfluous if(p) checks around free(p) 2010-06-11 19:05:46 +07:00
xkb.h xkb: move XkbFilterEvents to xkbsrv.h 2009-07-30 08:43:14 +10:00
xkbAccessX.c xkb: release XTEST pointer buttons on physical releases. (#28808) 2010-07-02 08:51:30 +10:00
xkbActions.c xkb: release XTEST pointer buttons on physical releases. (#28808) 2010-07-02 08:51:30 +10:00
XKBAlloc.c Replace deprecated bzero with memset 2010-06-06 15:07:27 +07:00
xkbDflts.h Static markup and dead code cull over xkb/. 2007-03-20 18:37:02 -04:00
xkbEvents.c Set event sequence number in WriteEventsToClient instead of at callers. 2010-05-19 12:32:34 -07:00
xkbfmisc.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
XKBGAlloc.c Remove more superfluous if(p) checks around free(p) 2010-06-11 19:05:46 +07:00
xkbgeom.h xkb: remove some now-useless XFUNCPROTOBEGIN 2009-05-08 14:28:44 +10:00
xkbInit.c Remove more superfluous if(p) checks around free(p) 2010-06-11 19:05:46 +07:00
xkbLEDs.c Remove unnecessary parentheses around return values in functions 2010-06-10 06:42:42 -07:00
XKBMAlloc.c Remove more superfluous if(p) checks around free(p) 2010-06-11 19:05:46 +07:00
XKBMisc.c Replace deprecated bzero with memset 2010-06-06 15:07:27 +07:00
xkbout.c xkb: check for NULL pointer before dereferences it in XkbWriteXKBSymbols 2010-04-21 18:07:25 +03:00
xkbPrKeyEv.c input: don't use typecasts to access members of InternalEvent. 2009-09-22 11:15:32 +10:00
xkbSwap.c Remove #define NEED_EVENTS and NEED_REPLIES 2008-12-12 11:43:32 +10:00
xkbtext.c xkb: sed True -> TRUE and False -> FALSE 2010-02-02 10:03:30 +10:00
xkbUtils.c xkb: merge lockedPtrButtons state from all attached SDs. 2010-07-01 14:05:39 +10:00
XKM_file_format.txt xkb: Add XKM file format description. 2010-02-02 10:03:21 +10:00
xkmread.c Replace deprecated bzero with memset 2010-06-06 15:07:27 +07:00

The X server uses this directory to store the compiled version of the
current keymap and/or any scratch keymaps used by clients.  The X server
or some other tool might destroy or replace the files in this directory,
so it is not a safe place to store compiled keymaps for long periods of
time.  The default keymap for any server is usually stored in:
     X<num>-default.xkm
where <num> is the display number of the server in question, which makes
it possible for several servers *on the same host* to share the same 
directory.

Unless the X server is modified, sharing this directory between servers on
different hosts could cause problems.