Merge branch 'master' into XACE-SELINUX
Conflicts: configure.ac
This commit is contained in:
commit
cf962a849d
|
@ -14,7 +14,6 @@ AM_CFLAGS = \
|
||||||
-I@MESA_SOURCE@/src/mesa/glapi \
|
-I@MESA_SOURCE@/src/mesa/glapi \
|
||||||
-I@MESA_SOURCE@/src/mesa/main \
|
-I@MESA_SOURCE@/src/mesa/main \
|
||||||
-DXFree86Server \
|
-DXFree86Server \
|
||||||
-DNO_LIBCWRAPPER \
|
|
||||||
@GLX_DEFINES@
|
@GLX_DEFINES@
|
||||||
|
|
||||||
# none yet
|
# none yet
|
||||||
|
|
|
@ -275,7 +275,7 @@ static GLboolean errorOccured = GL_FALSE;
|
||||||
/*
|
/*
|
||||||
** The GL was will call this routine if an error occurs.
|
** The GL was will call this routine if an error occurs.
|
||||||
*/
|
*/
|
||||||
void __glXErrorCallBack(__GLinterface *gc, GLenum code)
|
void __glXErrorCallBack(GLenum code)
|
||||||
{
|
{
|
||||||
errorOccured = GL_TRUE;
|
errorOccured = GL_TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,7 +66,7 @@ typedef struct {
|
||||||
extern GLboolean __glXFreeContext(__GLXcontext *glxc);
|
extern GLboolean __glXFreeContext(__GLXcontext *glxc);
|
||||||
extern void __glXFlushContextCache(void);
|
extern void __glXFlushContextCache(void);
|
||||||
|
|
||||||
extern void __glXErrorCallBack(__GLinterface *gc, GLenum code);
|
extern void __glXErrorCallBack(GLenum code);
|
||||||
extern void __glXClearErrorOccured(void);
|
extern void __glXClearErrorOccured(void);
|
||||||
extern GLboolean __glXErrorOccured(void);
|
extern GLboolean __glXErrorOccured(void);
|
||||||
extern void __glXResetLargeCommandStatus(__GLXclientState*);
|
extern void __glXResetLargeCommandStatus(__GLXclientState*);
|
||||||
|
|
|
@ -20,13 +20,11 @@ INCLUDES = -I@MESA_SOURCE@/include \
|
||||||
AM_CFLAGS = \
|
AM_CFLAGS = \
|
||||||
$(DIX_CFLAGS) \
|
$(DIX_CFLAGS) \
|
||||||
-DXFree86Server \
|
-DXFree86Server \
|
||||||
@GLX_DEFINES@ \
|
@GLX_DEFINES@
|
||||||
-DXFree86Server
|
|
||||||
|
|
||||||
libX_la_SOURCES = xf86glx.c \
|
libX_la_SOURCES = xf86glx.c \
|
||||||
xf86glx_util.c \
|
xf86glx_util.c \
|
||||||
xf86glx_util.h \
|
xf86glx_util.h
|
||||||
xf86glxint.h
|
|
||||||
|
|
||||||
nodist_libX_la_SOURCES = \
|
nodist_libX_la_SOURCES = \
|
||||||
xm_api.c \
|
xm_api.c \
|
||||||
|
|
|
@ -37,40 +37,19 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <regionstr.h>
|
|
||||||
#include <resource.h>
|
#include <GL/xmesa.h>
|
||||||
#include <GL/gl.h>
|
#include <GL/internal/glcore.h>
|
||||||
#include <GL/glxint.h>
|
|
||||||
#include <GL/glxtokens.h>
|
|
||||||
#include <scrnintstr.h>
|
|
||||||
#include <windowstr.h>
|
|
||||||
#include <config.h>
|
|
||||||
#include <glxserver.h>
|
#include <glxserver.h>
|
||||||
#include <glxscreens.h>
|
#include <glxscreens.h>
|
||||||
#include <glxdrawable.h>
|
#include <glxdrawable.h>
|
||||||
#include <glxcontext.h>
|
#include <glxcontext.h>
|
||||||
#include <glxext.h>
|
|
||||||
#include <glxutil.h>
|
#include <glxutil.h>
|
||||||
#include "context.h"
|
|
||||||
#include "xmesaP.h"
|
#include "xmesaP.h"
|
||||||
#include "context.h"
|
|
||||||
|
|
||||||
#include "glcontextmodes.h"
|
#include "glcontextmodes.h"
|
||||||
#include "os.h"
|
#include "os.h"
|
||||||
|
|
||||||
/*
|
|
||||||
* This define is for the glcore.h header file.
|
|
||||||
* If you add it here, then make sure you also add it in
|
|
||||||
* ../../../glx/Imakefile.
|
|
||||||
*/
|
|
||||||
#if 0
|
|
||||||
#define DEBUG
|
|
||||||
#include <GL/internal/glcore.h>
|
|
||||||
#undef DEBUG
|
|
||||||
#else
|
|
||||||
#include <GL/internal/glcore.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
typedef struct __GLXMESAscreen __GLXMESAscreen;
|
typedef struct __GLXMESAscreen __GLXMESAscreen;
|
||||||
typedef struct __GLXMESAcontext __GLXMESAcontext;
|
typedef struct __GLXMESAcontext __GLXMESAcontext;
|
||||||
typedef struct __GLXMESAdrawable __GLXMESAdrawable;
|
typedef struct __GLXMESAdrawable __GLXMESAdrawable;
|
||||||
|
@ -218,8 +197,7 @@ __glXMesaContextCopy(__GLXcontext *baseDst,
|
||||||
__GLXMESAcontext *dst = (__GLXMESAcontext *) baseDst;
|
__GLXMESAcontext *dst = (__GLXMESAcontext *) baseDst;
|
||||||
__GLXMESAcontext *src = (__GLXMESAcontext *) baseSrc;
|
__GLXMESAcontext *src = (__GLXMESAcontext *) baseSrc;
|
||||||
|
|
||||||
_mesa_copy_context(&src->xmesa->mesa, &dst->xmesa->mesa, mask);
|
return XMesaCopyContext(src->xmesa, dst->xmesa, mask);
|
||||||
return GL_TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -227,7 +205,7 @@ __glXMesaContextForceCurrent(__GLXcontext *baseContext)
|
||||||
{
|
{
|
||||||
__GLXMESAcontext *context = (__GLXMESAcontext *) baseContext;
|
__GLXMESAcontext *context = (__GLXMESAcontext *) baseContext;
|
||||||
|
|
||||||
GlxSetRenderTables (context->xmesa->mesa.CurrentDispatch);
|
/* GlxSetRenderTables() call for XGL moved in XMesaForceCurrent() */
|
||||||
|
|
||||||
return XMesaForceCurrent(context->xmesa);
|
return XMesaForceCurrent(context->xmesa);
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,8 +37,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
#include <gcstruct.h>
|
|
||||||
#include "pixmapstr.h"
|
|
||||||
#include "xf86glx_util.h"
|
#include "xf86glx_util.h"
|
||||||
#include <X11/Xmd.h>
|
#include <X11/Xmd.h>
|
||||||
|
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
/**************************************************************************
|
|
||||||
|
|
||||||
Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
|
|
||||||
All Rights Reserved.
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
copy of this software and associated documentation files (the
|
|
||||||
"Software"), to deal in the Software without restriction, including
|
|
||||||
without limitation the rights to use, copy, modify, merge, publish,
|
|
||||||
distribute, sub license, and/or sell copies of the Software, and to
|
|
||||||
permit persons to whom the Software is furnished to do so, subject to
|
|
||||||
the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice (including the
|
|
||||||
next paragraph) shall be included in all copies or substantial portions
|
|
||||||
of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
|
|
||||||
IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR
|
|
||||||
ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
||||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
||||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Authors:
|
|
||||||
* Kevin E. Martin <kevin@precisioninsight.com>
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_DIX_CONFIG_H
|
|
||||||
#include <dix-config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _XF86GLXINT_H_
|
|
||||||
#define _XF86GLXINT_H_
|
|
||||||
|
|
||||||
#include <miscstruct.h>
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#include <GL/xmesa.h>
|
|
||||||
|
|
||||||
#endif /* _XF86GLXINT_H_ */
|
|
|
@ -225,9 +225,6 @@ symlink_glx() {
|
||||||
dst_dir glx
|
dst_dir glx
|
||||||
|
|
||||||
action indirect_size.h
|
action indirect_size.h
|
||||||
|
|
||||||
src_dir src/mesa/drivers/dri/common
|
|
||||||
|
|
||||||
action glcontextmodes.c
|
action glcontextmodes.c
|
||||||
action glcontextmodes.h
|
action glcontextmodes.h
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,12 @@ from The Open Group.
|
||||||
#include <X11/extensions/xcmiscstr.h>
|
#include <X11/extensions/xcmiscstr.h>
|
||||||
#include "modinit.h"
|
#include "modinit.h"
|
||||||
|
|
||||||
|
#if HAVE_STDINT_H
|
||||||
|
#include <stdint.h>
|
||||||
|
#elif !defined(UINT32_MAX)
|
||||||
|
#define UINT32_MAX 0xffffffffU
|
||||||
|
#endif
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
static unsigned char XCMiscCode;
|
static unsigned char XCMiscCode;
|
||||||
#endif
|
#endif
|
||||||
|
@ -143,7 +149,10 @@ ProcXCMiscGetXIDList(client)
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xXCMiscGetXIDListReq);
|
REQUEST_SIZE_MATCH(xXCMiscGetXIDListReq);
|
||||||
|
|
||||||
pids = (XID *)ALLOCATE_LOCAL(stuff->count * sizeof(XID));
|
if (stuff->count > UINT32_MAX / sizeof(XID))
|
||||||
|
return BadAlloc;
|
||||||
|
|
||||||
|
pids = (XID *)Xalloc(stuff->count * sizeof(XID));
|
||||||
if (!pids)
|
if (!pids)
|
||||||
{
|
{
|
||||||
return BadAlloc;
|
return BadAlloc;
|
||||||
|
@ -164,7 +173,7 @@ ProcXCMiscGetXIDList(client)
|
||||||
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
|
client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write;
|
||||||
WriteSwappedDataToClient(client, count * sizeof(XID), pids);
|
WriteSwappedDataToClient(client, count * sizeof(XID), pids);
|
||||||
}
|
}
|
||||||
DEALLOCATE_LOCAL(pids);
|
Xfree(pids);
|
||||||
return(client->noClientException);
|
return(client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -76,9 +76,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXAllowDeviceEvents(register ClientPtr client)
|
SProcXAllowDeviceEvents(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xAllowDeviceEventsReq);
|
REQUEST(xAllowDeviceEventsReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -94,7 +94,7 @@ SProcXAllowDeviceEvents(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXAllowDeviceEvents(register ClientPtr client)
|
ProcXAllowDeviceEvents(ClientPtr client)
|
||||||
{
|
{
|
||||||
TimeStamp time;
|
TimeStamp time;
|
||||||
DeviceIntPtr thisdev;
|
DeviceIntPtr thisdev;
|
||||||
|
|
|
@ -78,9 +78,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXChangeDeviceControl(register ClientPtr client)
|
SProcXChangeDeviceControl(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xChangeDeviceControlReq);
|
REQUEST(xChangeDeviceControlReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -287,7 +287,7 @@ void
|
||||||
SRepXChangeDeviceControl(ClientPtr client, int size,
|
SRepXChangeDeviceControl(ClientPtr client, int size,
|
||||||
xChangeDeviceControlReply * rep)
|
xChangeDeviceControlReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
20
Xi/chgfctl.c
20
Xi/chgfctl.c
|
@ -78,9 +78,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXChangeFeedbackControl(register ClientPtr client)
|
SProcXChangeFeedbackControl(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xChangeFeedbackControlReq);
|
REQUEST(xChangeFeedbackControlReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -99,7 +99,7 @@ static int
|
||||||
ChangeKbdFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask,
|
ChangeKbdFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask,
|
||||||
KbdFeedbackPtr k, xKbdFeedbackCtl * f)
|
KbdFeedbackPtr k, xKbdFeedbackCtl * f)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
KeybdCtrl kctrl;
|
KeybdCtrl kctrl;
|
||||||
int t;
|
int t;
|
||||||
int key = DO_ALL;
|
int key = DO_ALL;
|
||||||
|
@ -231,7 +231,7 @@ static int
|
||||||
ChangePtrFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask,
|
ChangePtrFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask,
|
||||||
PtrFeedbackPtr p, xPtrFeedbackCtl * f)
|
PtrFeedbackPtr p, xPtrFeedbackCtl * f)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
PtrCtrl pctrl; /* might get BadValue part way through */
|
PtrCtrl pctrl; /* might get BadValue part way through */
|
||||||
|
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
|
@ -303,7 +303,7 @@ ChangeIntegerFeedback(ClientPtr client, DeviceIntPtr dev,
|
||||||
long unsigned int mask, IntegerFeedbackPtr i,
|
long unsigned int mask, IntegerFeedbackPtr i,
|
||||||
xIntegerFeedbackCtl * f)
|
xIntegerFeedbackCtl * f)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
swaps(&f->length, n);
|
swaps(&f->length, n);
|
||||||
|
@ -326,8 +326,8 @@ ChangeStringFeedback(ClientPtr client, DeviceIntPtr dev,
|
||||||
long unsigned int mask, StringFeedbackPtr s,
|
long unsigned int mask, StringFeedbackPtr s,
|
||||||
xStringFeedbackCtl * f)
|
xStringFeedbackCtl * f)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
int i, j;
|
int i, j;
|
||||||
KeySym *syms, *sup_syms;
|
KeySym *syms, *sup_syms;
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ ChangeBellFeedback(ClientPtr client, DeviceIntPtr dev,
|
||||||
long unsigned int mask, BellFeedbackPtr b,
|
long unsigned int mask, BellFeedbackPtr b,
|
||||||
xBellFeedbackCtl * f)
|
xBellFeedbackCtl * f)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
int t;
|
int t;
|
||||||
BellCtrl bctrl; /* might get BadValue part way through */
|
BellCtrl bctrl; /* might get BadValue part way through */
|
||||||
|
|
||||||
|
@ -440,7 +440,7 @@ static int
|
||||||
ChangeLedFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask,
|
ChangeLedFeedback(ClientPtr client, DeviceIntPtr dev, long unsigned int mask,
|
||||||
LedFeedbackPtr l, xLedFeedbackCtl * f)
|
LedFeedbackPtr l, xLedFeedbackCtl * f)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
LedCtrl lctrl; /* might get BadValue part way through */
|
LedCtrl lctrl; /* might get BadValue part way through */
|
||||||
|
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
|
@ -520,7 +520,7 @@ ProcXChangeFeedbackControl(ClientPtr client)
|
||||||
break;
|
break;
|
||||||
case StringFeedbackClass:
|
case StringFeedbackClass:
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xStringFeedbackCtl *f = ((xStringFeedbackCtl *) & stuff[1]);
|
xStringFeedbackCtl *f = ((xStringFeedbackCtl *) & stuff[1]);
|
||||||
|
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
|
|
|
@ -78,9 +78,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXChangeKeyboardDevice(register ClientPtr client)
|
SProcXChangeKeyboardDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xChangeKeyboardDeviceReq);
|
REQUEST(xChangeKeyboardDeviceReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -96,7 +96,7 @@ SProcXChangeKeyboardDevice(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXChangeKeyboardDevice(register ClientPtr client)
|
ProcXChangeKeyboardDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xChangeKeyboardDeviceReq);
|
REQUEST(xChangeKeyboardDeviceReq);
|
||||||
REQUEST_SIZE_MATCH(xChangeKeyboardDeviceReq);
|
REQUEST_SIZE_MATCH(xChangeKeyboardDeviceReq);
|
||||||
|
|
10
Xi/chgkmap.c
10
Xi/chgkmap.c
|
@ -76,11 +76,11 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXChangeDeviceKeyMapping(register ClientPtr client)
|
SProcXChangeDeviceKeyMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i, count;
|
int i, count;
|
||||||
|
|
||||||
REQUEST(xChangeDeviceKeyMappingReq);
|
REQUEST(xChangeDeviceKeyMappingReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -101,7 +101,7 @@ SProcXChangeDeviceKeyMapping(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXChangeDeviceKeyMapping(register ClientPtr client)
|
ProcXChangeDeviceKeyMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
unsigned len;
|
unsigned len;
|
||||||
|
|
10
Xi/chgprop.c
10
Xi/chgprop.c
|
@ -78,11 +78,11 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXChangeDeviceDontPropagateList(register ClientPtr client)
|
SProcXChangeDeviceDontPropagateList(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i;
|
int i;
|
||||||
|
|
||||||
REQUEST(xChangeDeviceDontPropagateListReq);
|
REQUEST(xChangeDeviceDontPropagateListReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -104,7 +104,7 @@ SProcXChangeDeviceDontPropagateList(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXChangeDeviceDontPropagateList(register ClientPtr client)
|
ProcXChangeDeviceDontPropagateList(ClientPtr client)
|
||||||
{
|
{
|
||||||
int i, rc;
|
int i, rc;
|
||||||
WindowPtr pWin;
|
WindowPtr pWin;
|
||||||
|
|
|
@ -82,9 +82,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXChangePointerDevice(register ClientPtr client)
|
SProcXChangePointerDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xChangePointerDeviceReq);
|
REQUEST(xChangePointerDeviceReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -99,7 +99,7 @@ SProcXChangePointerDevice(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXChangePointerDevice(register ClientPtr client)
|
ProcXChangePointerDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xChangePointerDeviceReq);
|
REQUEST(xChangePointerDeviceReq);
|
||||||
REQUEST_SIZE_MATCH(xChangePointerDeviceReq);
|
REQUEST_SIZE_MATCH(xChangePointerDeviceReq);
|
||||||
|
|
|
@ -77,9 +77,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXCloseDevice(register ClientPtr client)
|
SProcXCloseDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xCloseDeviceReq);
|
REQUEST(xCloseDeviceReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -141,7 +141,7 @@ DeleteEventsFromChildren(DeviceIntPtr dev, WindowPtr p1, ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXCloseDevice(register ClientPtr client)
|
ProcXCloseDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
WindowPtr pWin, p1;
|
WindowPtr pWin, p1;
|
||||||
|
|
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXDeviceBell(register ClientPtr client)
|
SProcXDeviceBell(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xDeviceBellReq);
|
REQUEST(xDeviceBellReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -91,7 +91,7 @@ SProcXDeviceBell(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXDeviceBell(register ClientPtr client)
|
ProcXDeviceBell(ClientPtr client)
|
||||||
{
|
{
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
KbdFeedbackPtr k;
|
KbdFeedbackPtr k;
|
||||||
|
|
|
@ -104,12 +104,12 @@ RegisterOtherDevice(DeviceIntPtr device)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ARGSUSED*/ void
|
/*ARGSUSED*/ void
|
||||||
ProcessOtherEvent(xEventPtr xE, register DeviceIntPtr other, int count)
|
ProcessOtherEvent(xEventPtr xE, DeviceIntPtr other, int count)
|
||||||
{
|
{
|
||||||
register BYTE *kptr;
|
BYTE *kptr;
|
||||||
register int i;
|
int i;
|
||||||
register CARD16 modifiers;
|
CARD16 modifiers;
|
||||||
register CARD16 mask;
|
CARD16 mask;
|
||||||
GrabPtr grab = other->grab;
|
GrabPtr grab = other->grab;
|
||||||
Bool deactivateDeviceGrab = FALSE;
|
Bool deactivateDeviceGrab = FALSE;
|
||||||
int key = 0, bit = 0, rootX, rootY;
|
int key = 0, bit = 0, rootX, rootY;
|
||||||
|
@ -288,7 +288,7 @@ ProcessOtherEvent(xEventPtr xE, register DeviceIntPtr other, int count)
|
||||||
_X_EXPORT int
|
_X_EXPORT int
|
||||||
InitProximityClassDeviceStruct(DeviceIntPtr dev)
|
InitProximityClassDeviceStruct(DeviceIntPtr dev)
|
||||||
{
|
{
|
||||||
register ProximityClassPtr proxc;
|
ProximityClassPtr proxc;
|
||||||
|
|
||||||
proxc = (ProximityClassPtr) xalloc(sizeof(ProximityClassRec));
|
proxc = (ProximityClassPtr) xalloc(sizeof(ProximityClassRec));
|
||||||
if (!proxc)
|
if (!proxc)
|
||||||
|
@ -301,7 +301,7 @@ _X_EXPORT void
|
||||||
InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, int minval, int maxval,
|
InitValuatorAxisStruct(DeviceIntPtr dev, int axnum, int minval, int maxval,
|
||||||
int resolution, int min_res, int max_res)
|
int resolution, int min_res, int max_res)
|
||||||
{
|
{
|
||||||
register AxisInfoPtr ax;
|
AxisInfoPtr ax;
|
||||||
|
|
||||||
if (!dev || !dev->valuator)
|
if (!dev || !dev->valuator)
|
||||||
return;
|
return;
|
||||||
|
@ -378,7 +378,7 @@ FixDeviceValuator(DeviceIntPtr dev, deviceValuator * ev, ValuatorClassPtr v,
|
||||||
|
|
||||||
void
|
void
|
||||||
DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail,
|
DeviceFocusEvent(DeviceIntPtr dev, int type, int mode, int detail,
|
||||||
register WindowPtr pWin)
|
WindowPtr pWin)
|
||||||
{
|
{
|
||||||
deviceFocus event;
|
deviceFocus event;
|
||||||
|
|
||||||
|
@ -703,9 +703,9 @@ MakeInputMasks(WindowPtr pWin)
|
||||||
void
|
void
|
||||||
RecalculateDeviceDeliverableEvents(WindowPtr pWin)
|
RecalculateDeviceDeliverableEvents(WindowPtr pWin)
|
||||||
{
|
{
|
||||||
register InputClientsPtr others;
|
InputClientsPtr others;
|
||||||
struct _OtherInputMasks *inputMasks; /* default: NULL */
|
struct _OtherInputMasks *inputMasks; /* default: NULL */
|
||||||
register WindowPtr pChild, tmp;
|
WindowPtr pChild, tmp;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
pChild = pWin;
|
pChild = pWin;
|
||||||
|
@ -739,9 +739,9 @@ RecalculateDeviceDeliverableEvents(WindowPtr pWin)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
InputClientGone(register WindowPtr pWin, XID id)
|
InputClientGone(WindowPtr pWin, XID id)
|
||||||
{
|
{
|
||||||
register InputClientsPtr other, prev;
|
InputClientsPtr other, prev;
|
||||||
|
|
||||||
if (!wOtherInputMasks(pWin))
|
if (!wOtherInputMasks(pWin))
|
||||||
return (Success);
|
return (Success);
|
||||||
|
@ -839,7 +839,7 @@ SendEvent(ClientPtr client, DeviceIntPtr d, Window dest, Bool propagate,
|
||||||
int
|
int
|
||||||
SetButtonMapping(ClientPtr client, DeviceIntPtr dev, int nElts, BYTE * map)
|
SetButtonMapping(ClientPtr client, DeviceIntPtr dev, int nElts, BYTE * map)
|
||||||
{
|
{
|
||||||
register int i;
|
int i;
|
||||||
ButtonClassPtr b = dev->button;
|
ButtonClassPtr b = dev->button;
|
||||||
|
|
||||||
if (b == NULL)
|
if (b == NULL)
|
||||||
|
@ -865,7 +865,7 @@ SetModifierMapping(ClientPtr client, DeviceIntPtr dev, int len, int rlen,
|
||||||
{
|
{
|
||||||
KeyCode *map = NULL;
|
KeyCode *map = NULL;
|
||||||
int inputMapLen;
|
int inputMapLen;
|
||||||
register int i;
|
int i;
|
||||||
|
|
||||||
*k = dev->key;
|
*k = dev->key;
|
||||||
if (*k == NULL)
|
if (*k == NULL)
|
||||||
|
@ -1141,7 +1141,7 @@ CheckDeviceGrabAndHintWindow(WindowPtr pWin, int type,
|
||||||
static Mask
|
static Mask
|
||||||
DeviceEventMaskForClient(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client)
|
DeviceEventMaskForClient(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client)
|
||||||
{
|
{
|
||||||
register InputClientsPtr other;
|
InputClientsPtr other;
|
||||||
|
|
||||||
if (!wOtherInputMasks(pWin))
|
if (!wOtherInputMasks(pWin))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1154,7 +1154,7 @@ DeviceEventMaskForClient(DeviceIntPtr dev, WindowPtr pWin, ClientPtr client)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
MaybeStopDeviceHint(register DeviceIntPtr dev, ClientPtr client)
|
MaybeStopDeviceHint(DeviceIntPtr dev, ClientPtr client)
|
||||||
{
|
{
|
||||||
WindowPtr pWin;
|
WindowPtr pWin;
|
||||||
GrabPtr grab = dev->grab;
|
GrabPtr grab = dev->grab;
|
||||||
|
|
24
Xi/extinit.c
24
Xi/extinit.c
|
@ -216,7 +216,7 @@ static XExtensionVersion thisversion = { XI_Present,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
ProcIDispatch(register ClientPtr client)
|
ProcIDispatch(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xReq);
|
REQUEST(xReq);
|
||||||
if (stuff->data == X_GetExtensionVersion)
|
if (stuff->data == X_GetExtensionVersion)
|
||||||
|
@ -305,7 +305,7 @@ ProcIDispatch(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcIDispatch(register ClientPtr client)
|
SProcIDispatch(ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST(xReq);
|
REQUEST(xReq);
|
||||||
if (stuff->data == X_GetExtensionVersion)
|
if (stuff->data == X_GetExtensionVersion)
|
||||||
|
@ -464,8 +464,8 @@ SReplyIDispatch(ClientPtr client, int len, xGrabDeviceReply * rep)
|
||||||
static void
|
static void
|
||||||
SEventDeviceValuator(deviceValuator * from, deviceValuator * to)
|
SEventDeviceValuator(deviceValuator * from, deviceValuator * to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register int i;
|
int i;
|
||||||
INT32 *ip B32;
|
INT32 *ip B32;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
|
@ -480,7 +480,7 @@ SEventDeviceValuator(deviceValuator * from, deviceValuator * to)
|
||||||
static void
|
static void
|
||||||
SEventFocus(deviceFocus * from, deviceFocus * to)
|
SEventFocus(deviceFocus * from, deviceFocus * to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
swaps(&to->sequenceNumber, n);
|
swaps(&to->sequenceNumber, n);
|
||||||
|
@ -491,8 +491,8 @@ SEventFocus(deviceFocus * from, deviceFocus * to)
|
||||||
static void
|
static void
|
||||||
SDeviceStateNotifyEvent(deviceStateNotify * from, deviceStateNotify * to)
|
SDeviceStateNotifyEvent(deviceStateNotify * from, deviceStateNotify * to)
|
||||||
{
|
{
|
||||||
register int i;
|
int i;
|
||||||
register char n;
|
char n;
|
||||||
INT32 *ip B32;
|
INT32 *ip B32;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
|
@ -508,7 +508,7 @@ static void
|
||||||
SDeviceKeyStateNotifyEvent(deviceKeyStateNotify * from,
|
SDeviceKeyStateNotifyEvent(deviceKeyStateNotify * from,
|
||||||
deviceKeyStateNotify * to)
|
deviceKeyStateNotify * to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
swaps(&to->sequenceNumber, n);
|
swaps(&to->sequenceNumber, n);
|
||||||
|
@ -518,7 +518,7 @@ static void
|
||||||
SDeviceButtonStateNotifyEvent(deviceButtonStateNotify * from,
|
SDeviceButtonStateNotifyEvent(deviceButtonStateNotify * from,
|
||||||
deviceButtonStateNotify * to)
|
deviceButtonStateNotify * to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
swaps(&to->sequenceNumber, n);
|
swaps(&to->sequenceNumber, n);
|
||||||
|
@ -527,7 +527,7 @@ SDeviceButtonStateNotifyEvent(deviceButtonStateNotify * from,
|
||||||
static void
|
static void
|
||||||
SChangeDeviceNotifyEvent(changeDeviceNotify * from, changeDeviceNotify * to)
|
SChangeDeviceNotifyEvent(changeDeviceNotify * from, changeDeviceNotify * to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
swaps(&to->sequenceNumber, n);
|
swaps(&to->sequenceNumber, n);
|
||||||
|
@ -537,7 +537,7 @@ SChangeDeviceNotifyEvent(changeDeviceNotify * from, changeDeviceNotify * to)
|
||||||
static void
|
static void
|
||||||
SDeviceMappingNotifyEvent(deviceMappingNotify * from, deviceMappingNotify * to)
|
SDeviceMappingNotifyEvent(deviceMappingNotify * from, deviceMappingNotify * to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
swaps(&to->sequenceNumber, n);
|
swaps(&to->sequenceNumber, n);
|
||||||
|
@ -547,7 +547,7 @@ SDeviceMappingNotifyEvent(deviceMappingNotify * from, deviceMappingNotify * to)
|
||||||
static void
|
static void
|
||||||
SDevicePresenceNotifyEvent (devicePresenceNotify *from, devicePresenceNotify *to)
|
SDevicePresenceNotifyEvent (devicePresenceNotify *from, devicePresenceNotify *to)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
*to = *from;
|
*to = *from;
|
||||||
swaps(&to->sequenceNumber,n);
|
swaps(&to->sequenceNumber,n);
|
||||||
|
|
|
@ -74,9 +74,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceButtonMapping(register ClientPtr client)
|
SProcXGetDeviceButtonMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceButtonMappingReq);
|
REQUEST(xGetDeviceButtonMappingReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -90,7 +90,7 @@ SProcXGetDeviceButtonMapping(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXGetDeviceButtonMapping(register ClientPtr client)
|
ProcXGetDeviceButtonMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
xGetDeviceButtonMappingReply rep;
|
xGetDeviceButtonMappingReply rep;
|
||||||
|
@ -136,7 +136,7 @@ void
|
||||||
SRepXGetDeviceButtonMapping(ClientPtr client, int size,
|
SRepXGetDeviceButtonMapping(ClientPtr client, int size,
|
||||||
xGetDeviceButtonMappingReply * rep)
|
xGetDeviceButtonMappingReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
18
Xi/getdctl.c
18
Xi/getdctl.c
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceControl(register ClientPtr client)
|
SProcXGetDeviceControl(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceControlReq);
|
REQUEST(xGetDeviceControlReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -96,7 +96,7 @@ static void
|
||||||
CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf,
|
CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf,
|
||||||
int length)
|
int length)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
AxisInfoPtr a;
|
AxisInfoPtr a;
|
||||||
xDeviceResolutionState *r;
|
xDeviceResolutionState *r;
|
||||||
int i, *iptr;
|
int i, *iptr;
|
||||||
|
@ -127,7 +127,7 @@ CopySwapDeviceResolution(ClientPtr client, ValuatorClassPtr v, char *buf,
|
||||||
static void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts,
|
static void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf;
|
xDeviceAbsCalibState *calib = (xDeviceAbsCalibState *) buf;
|
||||||
|
|
||||||
calib->control = DEVICE_ABS_CALIB;
|
calib->control = DEVICE_ABS_CALIB;
|
||||||
|
@ -158,7 +158,7 @@ static void CopySwapDeviceAbsCalib (ClientPtr client, AbsoluteClassPtr dts,
|
||||||
static void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts,
|
static void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts,
|
||||||
char *buf)
|
char *buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf;
|
xDeviceAbsAreaState *area = (xDeviceAbsAreaState *) buf;
|
||||||
|
|
||||||
area->control = DEVICE_ABS_AREA;
|
area->control = DEVICE_ABS_AREA;
|
||||||
|
@ -184,7 +184,7 @@ static void CopySwapDeviceAbsArea (ClientPtr client, AbsoluteClassPtr dts,
|
||||||
|
|
||||||
static void CopySwapDeviceCore (ClientPtr client, DeviceIntPtr dev, char *buf)
|
static void CopySwapDeviceCore (ClientPtr client, DeviceIntPtr dev, char *buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xDeviceCoreState *c = (xDeviceCoreState *) buf;
|
xDeviceCoreState *c = (xDeviceCoreState *) buf;
|
||||||
|
|
||||||
c->control = DEVICE_CORE;
|
c->control = DEVICE_CORE;
|
||||||
|
@ -201,7 +201,7 @@ static void CopySwapDeviceCore (ClientPtr client, DeviceIntPtr dev, char *buf)
|
||||||
|
|
||||||
static void CopySwapDeviceEnable (ClientPtr client, DeviceIntPtr dev, char *buf)
|
static void CopySwapDeviceEnable (ClientPtr client, DeviceIntPtr dev, char *buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xDeviceEnableState *e = (xDeviceEnableState *) buf;
|
xDeviceEnableState *e = (xDeviceEnableState *) buf;
|
||||||
|
|
||||||
e->control = DEVICE_ENABLE;
|
e->control = DEVICE_ENABLE;
|
||||||
|
@ -225,7 +225,7 @@ static void CopySwapDeviceEnable (ClientPtr client, DeviceIntPtr dev, char *buf)
|
||||||
void
|
void
|
||||||
SRepXGetDeviceControl(ClientPtr client, int size, xGetDeviceControlReply * rep)
|
SRepXGetDeviceControl(ClientPtr client, int size, xGetDeviceControlReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
@ -243,7 +243,7 @@ ProcXGetDeviceControl(ClientPtr client)
|
||||||
{
|
{
|
||||||
int total_length = 0;
|
int total_length = 0;
|
||||||
char *buf, *savbuf;
|
char *buf, *savbuf;
|
||||||
register DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
xGetDeviceControlReply rep;
|
xGetDeviceControlReply rep;
|
||||||
|
|
||||||
REQUEST(xGetDeviceControlReq);
|
REQUEST(xGetDeviceControlReq);
|
||||||
|
|
20
Xi/getfctl.c
20
Xi/getfctl.c
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetFeedbackControl(register ClientPtr client)
|
SProcXGetFeedbackControl(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetFeedbackControlReq);
|
REQUEST(xGetFeedbackControlReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -94,7 +94,7 @@ static void
|
||||||
CopySwapKbdFeedback(ClientPtr client, KbdFeedbackPtr k, char **buf)
|
CopySwapKbdFeedback(ClientPtr client, KbdFeedbackPtr k, char **buf)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
register char n;
|
char n;
|
||||||
xKbdFeedbackState *k2;
|
xKbdFeedbackState *k2;
|
||||||
|
|
||||||
k2 = (xKbdFeedbackState *) * buf;
|
k2 = (xKbdFeedbackState *) * buf;
|
||||||
|
@ -128,7 +128,7 @@ CopySwapKbdFeedback(ClientPtr client, KbdFeedbackPtr k, char **buf)
|
||||||
static void
|
static void
|
||||||
CopySwapPtrFeedback(ClientPtr client, PtrFeedbackPtr p, char **buf)
|
CopySwapPtrFeedback(ClientPtr client, PtrFeedbackPtr p, char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xPtrFeedbackState *p2;
|
xPtrFeedbackState *p2;
|
||||||
|
|
||||||
p2 = (xPtrFeedbackState *) * buf;
|
p2 = (xPtrFeedbackState *) * buf;
|
||||||
|
@ -156,7 +156,7 @@ CopySwapPtrFeedback(ClientPtr client, PtrFeedbackPtr p, char **buf)
|
||||||
static void
|
static void
|
||||||
CopySwapIntegerFeedback(ClientPtr client, IntegerFeedbackPtr i, char **buf)
|
CopySwapIntegerFeedback(ClientPtr client, IntegerFeedbackPtr i, char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xIntegerFeedbackState *i2;
|
xIntegerFeedbackState *i2;
|
||||||
|
|
||||||
i2 = (xIntegerFeedbackState *) * buf;
|
i2 = (xIntegerFeedbackState *) * buf;
|
||||||
|
@ -185,7 +185,7 @@ static void
|
||||||
CopySwapStringFeedback(ClientPtr client, StringFeedbackPtr s, char **buf)
|
CopySwapStringFeedback(ClientPtr client, StringFeedbackPtr s, char **buf)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
register char n;
|
char n;
|
||||||
xStringFeedbackState *s2;
|
xStringFeedbackState *s2;
|
||||||
KeySym *kptr;
|
KeySym *kptr;
|
||||||
|
|
||||||
|
@ -221,7 +221,7 @@ CopySwapStringFeedback(ClientPtr client, StringFeedbackPtr s, char **buf)
|
||||||
static void
|
static void
|
||||||
CopySwapLedFeedback(ClientPtr client, LedFeedbackPtr l, char **buf)
|
CopySwapLedFeedback(ClientPtr client, LedFeedbackPtr l, char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xLedFeedbackState *l2;
|
xLedFeedbackState *l2;
|
||||||
|
|
||||||
l2 = (xLedFeedbackState *) * buf;
|
l2 = (xLedFeedbackState *) * buf;
|
||||||
|
@ -247,7 +247,7 @@ CopySwapLedFeedback(ClientPtr client, LedFeedbackPtr l, char **buf)
|
||||||
static void
|
static void
|
||||||
CopySwapBellFeedback(ClientPtr client, BellFeedbackPtr b, char **buf)
|
CopySwapBellFeedback(ClientPtr client, BellFeedbackPtr b, char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xBellFeedbackState *b2;
|
xBellFeedbackState *b2;
|
||||||
|
|
||||||
b2 = (xBellFeedbackState *) * buf;
|
b2 = (xBellFeedbackState *) * buf;
|
||||||
|
@ -276,7 +276,7 @@ void
|
||||||
SRepXGetFeedbackControl(ClientPtr client, int size,
|
SRepXGetFeedbackControl(ClientPtr client, int size,
|
||||||
xGetFeedbackControlReply * rep)
|
xGetFeedbackControlReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
@ -295,7 +295,7 @@ ProcXGetFeedbackControl(ClientPtr client)
|
||||||
{
|
{
|
||||||
int total_length = 0;
|
int total_length = 0;
|
||||||
char *buf, *savbuf;
|
char *buf, *savbuf;
|
||||||
register DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
KbdFeedbackPtr k;
|
KbdFeedbackPtr k;
|
||||||
PtrFeedbackPtr p;
|
PtrFeedbackPtr p;
|
||||||
IntegerFeedbackPtr i;
|
IntegerFeedbackPtr i;
|
||||||
|
|
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceFocus(register ClientPtr client)
|
SProcXGetDeviceFocus(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceFocusReq);
|
REQUEST(xGetDeviceFocusReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -138,7 +138,7 @@ ProcXGetDeviceFocus(ClientPtr client)
|
||||||
void
|
void
|
||||||
SRepXGetDeviceFocus(ClientPtr client, int size, xGetDeviceFocusReply * rep)
|
SRepXGetDeviceFocus(ClientPtr client, int size, xGetDeviceFocusReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -76,9 +76,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceKeyMapping(register ClientPtr client)
|
SProcXGetDeviceKeyMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceKeyMappingReq);
|
REQUEST(xGetDeviceKeyMappingReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -92,7 +92,7 @@ SProcXGetDeviceKeyMapping(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXGetDeviceKeyMapping(register ClientPtr client)
|
ProcXGetDeviceKeyMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
xGetDeviceKeyMappingReply rep;
|
xGetDeviceKeyMappingReply rep;
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
|
@ -154,7 +154,7 @@ void
|
||||||
SRepXGetDeviceKeyMapping(ClientPtr client, int size,
|
SRepXGetDeviceKeyMapping(ClientPtr client, int size,
|
||||||
xGetDeviceKeyMappingReply * rep)
|
xGetDeviceKeyMappingReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceModifierMapping(register ClientPtr client)
|
SProcXGetDeviceModifierMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceModifierMappingReq);
|
REQUEST(xGetDeviceModifierMappingReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -141,7 +141,7 @@ void
|
||||||
SRepXGetDeviceModifierMapping(ClientPtr client, int size,
|
SRepXGetDeviceModifierMapping(ClientPtr client, int size,
|
||||||
xGetDeviceModifierMappingReply * rep)
|
xGetDeviceModifierMappingReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -79,9 +79,9 @@ extern int ExtEventIndex;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceDontPropagateList(register ClientPtr client)
|
SProcXGetDeviceDontPropagateList(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceDontPropagateListReq);
|
REQUEST(xGetDeviceDontPropagateListReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -97,7 +97,7 @@ SProcXGetDeviceDontPropagateList(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXGetDeviceDontPropagateList(register ClientPtr client)
|
ProcXGetDeviceDontPropagateList(ClientPtr client)
|
||||||
{
|
{
|
||||||
CARD16 count = 0;
|
CARD16 count = 0;
|
||||||
int i, rc;
|
int i, rc;
|
||||||
|
@ -187,7 +187,7 @@ void
|
||||||
SRepXGetDeviceDontPropagateList(ClientPtr client, int size,
|
SRepXGetDeviceDontPropagateList(ClientPtr client, int size,
|
||||||
xGetDeviceDontPropagateListReply * rep)
|
xGetDeviceDontPropagateListReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -77,9 +77,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetSelectedExtensionEvents(register ClientPtr client)
|
SProcXGetSelectedExtensionEvents(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetSelectedExtensionEventsReq);
|
REQUEST(xGetSelectedExtensionEventsReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -96,7 +96,7 @@ SProcXGetSelectedExtensionEvents(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXGetSelectedExtensionEvents(register ClientPtr client)
|
ProcXGetSelectedExtensionEvents(ClientPtr client)
|
||||||
{
|
{
|
||||||
int i, rc, total_length = 0;
|
int i, rc, total_length = 0;
|
||||||
xGetSelectedExtensionEventsReply rep;
|
xGetSelectedExtensionEventsReply rep;
|
||||||
|
@ -177,7 +177,7 @@ void
|
||||||
SRepXGetSelectedExtensionEvents(ClientPtr client, int size,
|
SRepXGetSelectedExtensionEvents(ClientPtr client, int size,
|
||||||
xGetSelectedExtensionEventsReply * rep)
|
xGetSelectedExtensionEventsReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -76,9 +76,9 @@ XExtensionVersion AllExtensionVersions[128];
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetExtensionVersion(register ClientPtr client)
|
SProcXGetExtensionVersion(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetExtensionVersionReq);
|
REQUEST(xGetExtensionVersionReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -94,7 +94,7 @@ SProcXGetExtensionVersion(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXGetExtensionVersion(register ClientPtr client)
|
ProcXGetExtensionVersion(ClientPtr client)
|
||||||
{
|
{
|
||||||
xGetExtensionVersionReply rep;
|
xGetExtensionVersionReply rep;
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ void
|
||||||
SRepXGetExtensionVersion(ClientPtr client, int size,
|
SRepXGetExtensionVersion(ClientPtr client, int size,
|
||||||
xGetExtensionVersionReply * rep)
|
xGetExtensionVersionReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
10
Xi/grabdev.c
10
Xi/grabdev.c
|
@ -79,11 +79,11 @@ extern int ExtEventIndex;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGrabDevice(register ClientPtr client)
|
SProcXGrabDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i;
|
int i;
|
||||||
|
|
||||||
REQUEST(xGrabDeviceReq);
|
REQUEST(xGrabDeviceReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -202,7 +202,7 @@ CreateMaskFromList(ClientPtr client, XEventClass * list, int count,
|
||||||
void
|
void
|
||||||
SRepXGrabDevice(ClientPtr client, int size, xGrabDeviceReply * rep)
|
SRepXGrabDevice(ClientPtr client, int size, xGrabDeviceReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -77,11 +77,11 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGrabDeviceButton(register ClientPtr client)
|
SProcXGrabDeviceButton(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i;
|
int i;
|
||||||
|
|
||||||
REQUEST(xGrabDeviceButtonReq);
|
REQUEST(xGrabDeviceButtonReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
|
|
@ -77,11 +77,11 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGrabDeviceKey(register ClientPtr client)
|
SProcXGrabDeviceKey(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i;
|
int i;
|
||||||
|
|
||||||
REQUEST(xGrabDeviceKeyReq);
|
REQUEST(xGrabDeviceKeyReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
|
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXGetDeviceMotionEvents(register ClientPtr client)
|
SProcXGetDeviceMotionEvents(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xGetDeviceMotionEventsReq);
|
REQUEST(xGetDeviceMotionEventsReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -162,7 +162,7 @@ ProcXGetDeviceMotionEvents(ClientPtr client)
|
||||||
WriteReplyToClient(client, sizeof(xGetDeviceMotionEventsReply), &rep);
|
WriteReplyToClient(client, sizeof(xGetDeviceMotionEventsReply), &rep);
|
||||||
if (nEvents) {
|
if (nEvents) {
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
bufptr = coords;
|
bufptr = coords;
|
||||||
for (i = 0; i < nEvents * (axes + 1); i++) {
|
for (i = 0; i < nEvents * (axes + 1); i++) {
|
||||||
|
@ -188,7 +188,7 @@ void
|
||||||
SRepXGetDeviceMotionEvents(ClientPtr client, int size,
|
SRepXGetDeviceMotionEvents(ClientPtr client, int size,
|
||||||
xGetDeviceMotionEventsReply * rep)
|
xGetDeviceMotionEventsReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
24
Xi/listdev.c
24
Xi/listdev.c
|
@ -77,9 +77,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXListInputDevices(register ClientPtr client)
|
SProcXListInputDevices(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xListInputDevicesReq);
|
REQUEST(xListInputDevicesReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -144,9 +144,9 @@ CopyDeviceName(char **namebuf, char *name)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
CopySwapButtonClass(register ClientPtr client, ButtonClassPtr b, char **buf)
|
CopySwapButtonClass(ClientPtr client, ButtonClassPtr b, char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xButtonInfoPtr b2;
|
xButtonInfoPtr b2;
|
||||||
|
|
||||||
b2 = (xButtonInfoPtr) * buf;
|
b2 = (xButtonInfoPtr) * buf;
|
||||||
|
@ -166,10 +166,10 @@ CopySwapButtonClass(register ClientPtr client, ButtonClassPtr b, char **buf)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
CopySwapDevice(register ClientPtr client, DeviceIntPtr d, int num_classes,
|
CopySwapDevice(ClientPtr client, DeviceIntPtr d, int num_classes,
|
||||||
char **buf)
|
char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xDeviceInfoPtr dev;
|
xDeviceInfoPtr dev;
|
||||||
|
|
||||||
dev = (xDeviceInfoPtr) * buf;
|
dev = (xDeviceInfoPtr) * buf;
|
||||||
|
@ -200,9 +200,9 @@ CopySwapDevice(register ClientPtr client, DeviceIntPtr d, int num_classes,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
CopySwapKeyClass(register ClientPtr client, KeyClassPtr k, char **buf)
|
CopySwapKeyClass(ClientPtr client, KeyClassPtr k, char **buf)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
xKeyInfoPtr k2;
|
xKeyInfoPtr k2;
|
||||||
|
|
||||||
k2 = (xKeyInfoPtr) * buf;
|
k2 = (xKeyInfoPtr) * buf;
|
||||||
|
@ -230,10 +230,10 @@ CopySwapKeyClass(register ClientPtr client, KeyClassPtr k, char **buf)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int
|
static int
|
||||||
CopySwapValuatorClass(register ClientPtr client, ValuatorClassPtr v, char **buf)
|
CopySwapValuatorClass(ClientPtr client, ValuatorClassPtr v, char **buf)
|
||||||
{
|
{
|
||||||
int i, j, axes, t_axes;
|
int i, j, axes, t_axes;
|
||||||
register char n;
|
char n;
|
||||||
xValuatorInfoPtr v2;
|
xValuatorInfoPtr v2;
|
||||||
AxisInfo *a;
|
AxisInfo *a;
|
||||||
xAxisInfoPtr a2;
|
xAxisInfoPtr a2;
|
||||||
|
@ -305,7 +305,7 @@ ListDeviceInfo(ClientPtr client, DeviceIntPtr d, xDeviceInfoPtr dev,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXListInputDevices(register ClientPtr client)
|
ProcXListInputDevices(ClientPtr client)
|
||||||
{
|
{
|
||||||
xListInputDevicesReply rep;
|
xListInputDevicesReply rep;
|
||||||
int numdevs = 0;
|
int numdevs = 0;
|
||||||
|
@ -367,7 +367,7 @@ ProcXListInputDevices(register ClientPtr client)
|
||||||
void
|
void
|
||||||
SRepXListInputDevices(ClientPtr client, int size, xListInputDevicesReply * rep)
|
SRepXListInputDevices(ClientPtr client, int size, xListInputDevicesReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -79,9 +79,9 @@ extern CARD8 event_base[];
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXOpenDevice(register ClientPtr client)
|
SProcXOpenDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xOpenDeviceReq);
|
REQUEST(xOpenDeviceReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -95,7 +95,7 @@ SProcXOpenDevice(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXOpenDevice(register ClientPtr client)
|
ProcXOpenDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
xInputClassInfo evbase[numInputClasses];
|
xInputClassInfo evbase[numInputClasses];
|
||||||
Bool enableit = FALSE;
|
Bool enableit = FALSE;
|
||||||
|
@ -179,7 +179,7 @@ ProcXOpenDevice(register ClientPtr client)
|
||||||
void
|
void
|
||||||
SRepXOpenDevice(ClientPtr client, int size, xOpenDeviceReply * rep)
|
SRepXOpenDevice(ClientPtr client, int size, xOpenDeviceReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
10
Xi/queryst.c
10
Xi/queryst.c
|
@ -58,9 +58,9 @@ from The Open Group.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXQueryDeviceState(register ClientPtr client)
|
SProcXQueryDeviceState(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xQueryDeviceStateReq);
|
REQUEST(xQueryDeviceStateReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -74,9 +74,9 @@ SProcXQueryDeviceState(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXQueryDeviceState(register ClientPtr client)
|
ProcXQueryDeviceState(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
int i;
|
int i;
|
||||||
int num_classes = 0;
|
int num_classes = 0;
|
||||||
int total_length = 0;
|
int total_length = 0;
|
||||||
|
@ -187,7 +187,7 @@ ProcXQueryDeviceState(register ClientPtr client)
|
||||||
void
|
void
|
||||||
SRepXQueryDeviceState(ClientPtr client, int size, xQueryDeviceStateReply * rep)
|
SRepXQueryDeviceState(ClientPtr client, int size, xQueryDeviceStateReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -128,11 +128,11 @@ HandleDevicePresenceMask(ClientPtr client, WindowPtr win,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSelectExtensionEvent(register ClientPtr client)
|
SProcXSelectExtensionEvent(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i;
|
int i;
|
||||||
|
|
||||||
REQUEST(xSelectExtensionEventReq);
|
REQUEST(xSelectExtensionEventReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -154,7 +154,7 @@ SProcXSelectExtensionEvent(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXSelectExtensionEvent(register ClientPtr client)
|
ProcXSelectExtensionEvent(ClientPtr client)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
int i;
|
int i;
|
||||||
|
|
|
@ -80,11 +80,11 @@ extern int lastEvent; /* Defined in extension.c */
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSendExtensionEvent(register ClientPtr client)
|
SProcXSendExtensionEvent(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
register long *p;
|
long *p;
|
||||||
register int i;
|
int i;
|
||||||
xEvent eventT;
|
xEvent eventT;
|
||||||
xEvent *eventP;
|
xEvent *eventP;
|
||||||
EventSwapPtr proc;
|
EventSwapPtr proc;
|
||||||
|
@ -119,7 +119,7 @@ SProcXSendExtensionEvent(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXSendExtensionEvent(register ClientPtr client)
|
ProcXSendExtensionEvent(ClientPtr client)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
|
|
|
@ -78,9 +78,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSetDeviceButtonMapping(register ClientPtr client)
|
SProcXSetDeviceButtonMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xSetDeviceButtonMappingReq);
|
REQUEST(xSetDeviceButtonMappingReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -94,7 +94,7 @@ SProcXSetDeviceButtonMapping(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXSetDeviceButtonMapping(register ClientPtr client)
|
ProcXSetDeviceButtonMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
xSetDeviceButtonMappingReply rep;
|
xSetDeviceButtonMappingReply rep;
|
||||||
|
@ -149,7 +149,7 @@ void
|
||||||
SRepXSetDeviceButtonMapping(ClientPtr client, int size,
|
SRepXSetDeviceButtonMapping(ClientPtr client, int size,
|
||||||
xSetDeviceButtonMappingReply * rep)
|
xSetDeviceButtonMappingReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSetDeviceValuators(register ClientPtr client)
|
SProcXSetDeviceValuators(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xSetDeviceValuatorsReq);
|
REQUEST(xSetDeviceValuatorsReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -91,7 +91,7 @@ SProcXSetDeviceValuators(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXSetDeviceValuators(register ClientPtr client)
|
ProcXSetDeviceValuators(ClientPtr client)
|
||||||
{
|
{
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
xSetDeviceValuatorsReply rep;
|
xSetDeviceValuatorsReply rep;
|
||||||
|
@ -152,7 +152,7 @@ void
|
||||||
SRepXSetDeviceValuators(ClientPtr client, int size,
|
SRepXSetDeviceValuators(ClientPtr client, int size,
|
||||||
xSetDeviceValuatorsReply * rep)
|
xSetDeviceValuatorsReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -78,9 +78,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSetDeviceFocus(register ClientPtr client)
|
SProcXSetDeviceFocus(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xSetDeviceFocusReq);
|
REQUEST(xSetDeviceFocusReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -97,10 +97,10 @@ SProcXSetDeviceFocus(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXSetDeviceFocus(register ClientPtr client)
|
ProcXSetDeviceFocus(ClientPtr client)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
register DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
|
|
||||||
REQUEST(xSetDeviceFocusReq);
|
REQUEST(xSetDeviceFocusReq);
|
||||||
REQUEST_SIZE_MATCH(xSetDeviceFocusReq);
|
REQUEST_SIZE_MATCH(xSetDeviceFocusReq);
|
||||||
|
|
|
@ -76,9 +76,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSetDeviceModifierMapping(register ClientPtr client)
|
SProcXSetDeviceModifierMapping(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xSetDeviceModifierMappingReq);
|
REQUEST(xSetDeviceModifierMappingReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -145,7 +145,7 @@ void
|
||||||
SRepXSetDeviceModifierMapping(ClientPtr client, int size,
|
SRepXSetDeviceModifierMapping(ClientPtr client, int size,
|
||||||
xSetDeviceModifierMappingReply * rep)
|
xSetDeviceModifierMappingReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -75,9 +75,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXSetDeviceMode(register ClientPtr client)
|
SProcXSetDeviceMode(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xSetDeviceModeReq);
|
REQUEST(xSetDeviceModeReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -91,7 +91,7 @@ SProcXSetDeviceMode(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXSetDeviceMode(register ClientPtr client)
|
ProcXSetDeviceMode(ClientPtr client)
|
||||||
{
|
{
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
xSetDeviceModeReply rep;
|
xSetDeviceModeReply rep;
|
||||||
|
@ -139,7 +139,7 @@ ProcXSetDeviceMode(register ClientPtr client)
|
||||||
void
|
void
|
||||||
SRepXSetDeviceMode(ClientPtr client, int size, xSetDeviceModeReply * rep)
|
SRepXSetDeviceMode(ClientPtr client, int size, xSetDeviceModeReply * rep)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
swaps(&rep->sequenceNumber, n);
|
swaps(&rep->sequenceNumber, n);
|
||||||
swapl(&rep->length, n);
|
swapl(&rep->length, n);
|
||||||
|
|
|
@ -168,7 +168,7 @@ OpenInputDevice(DeviceIntPtr dev, ClientPtr client, int *status)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SetDeviceMode(register ClientPtr client, DeviceIntPtr dev, int mode)
|
SetDeviceMode(ClientPtr client, DeviceIntPtr dev, int mode)
|
||||||
{
|
{
|
||||||
return BadMatch;
|
return BadMatch;
|
||||||
}
|
}
|
||||||
|
@ -186,7 +186,7 @@ SetDeviceMode(register ClientPtr client, DeviceIntPtr dev, int mode)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SetDeviceValuators(register ClientPtr client, DeviceIntPtr dev,
|
SetDeviceValuators(ClientPtr client, DeviceIntPtr dev,
|
||||||
int *valuators, int first_valuator, int num_valuators)
|
int *valuators, int first_valuator, int num_valuators)
|
||||||
{
|
{
|
||||||
return BadMatch;
|
return BadMatch;
|
||||||
|
@ -201,7 +201,7 @@ SetDeviceValuators(register ClientPtr client, DeviceIntPtr dev,
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ChangeDeviceControl(register ClientPtr client, DeviceIntPtr dev,
|
ChangeDeviceControl(ClientPtr client, DeviceIntPtr dev,
|
||||||
xDeviceCtl * control)
|
xDeviceCtl * control)
|
||||||
{
|
{
|
||||||
switch (control->control) {
|
switch (control->control) {
|
||||||
|
|
|
@ -74,9 +74,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXUngrabDevice(register ClientPtr client)
|
SProcXUngrabDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xUngrabDeviceReq);
|
REQUEST(xUngrabDeviceReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
@ -92,7 +92,7 @@ SProcXUngrabDevice(register ClientPtr client)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
ProcXUngrabDevice(register ClientPtr client)
|
ProcXUngrabDevice(ClientPtr client)
|
||||||
{
|
{
|
||||||
DeviceIntPtr dev;
|
DeviceIntPtr dev;
|
||||||
GrabPtr grab;
|
GrabPtr grab;
|
||||||
|
|
|
@ -80,9 +80,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXUngrabDeviceButton(register ClientPtr client)
|
SProcXUngrabDeviceButton(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xUngrabDeviceButtonReq);
|
REQUEST(xUngrabDeviceButtonReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
|
|
@ -80,9 +80,9 @@ SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
SProcXUngrabDeviceKey(register ClientPtr client)
|
SProcXUngrabDeviceKey(ClientPtr client)
|
||||||
{
|
{
|
||||||
register char n;
|
char n;
|
||||||
|
|
||||||
REQUEST(xUngrabDeviceKeyReq);
|
REQUEST(xUngrabDeviceKeyReq);
|
||||||
swaps(&stuff->length, n);
|
swaps(&stuff->length, n);
|
||||||
|
|
22
configure.ac
22
configure.ac
|
@ -453,9 +453,6 @@ AC_ARG_WITH(os-vendor, AS_HELP_STRING([--with-os-vendor=OSVENDOR], [Name o
|
||||||
AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
|
AC_ARG_WITH(builderstring, AS_HELP_STRING([--with-builderstring=BUILDERSTRING], [Additional builder string]),
|
||||||
[ BUILDERSTRING="$withval" ]
|
[ BUILDERSTRING="$withval" ]
|
||||||
[ ])
|
[ ])
|
||||||
AC_ARG_WITH(mesa-source, AS_HELP_STRING([--with-mesa-source=MESA_SOURCE], [Path to Mesa source tree]),
|
|
||||||
[ MESA_SOURCE="$withval" ],
|
|
||||||
[ MESA_SOURCE="" ])
|
|
||||||
AC_ARG_WITH(fontdir, AS_HELP_STRING([--with-fontdir=FONTDIR], [Path to top level dir where fonts are installed (default: ${libdir}/X11/fonts)]),
|
AC_ARG_WITH(fontdir, AS_HELP_STRING([--with-fontdir=FONTDIR], [Path to top level dir where fonts are installed (default: ${libdir}/X11/fonts)]),
|
||||||
[ FONTDIR="$withval" ],
|
[ FONTDIR="$withval" ],
|
||||||
[ FONTDIR="${libdir}/X11/fonts" ])
|
[ FONTDIR="${libdir}/X11/fonts" ])
|
||||||
|
@ -472,9 +469,6 @@ AC_ARG_WITH(xkb-output, AS_HELP_STRING([--with-xkb-output=PATH], [Path to
|
||||||
AC_ARG_WITH(rgb-path, AS_HELP_STRING([--with-rgb-path=PATH], [Path to RGB database (default: ${datadir}/X11/rgb)]),
|
AC_ARG_WITH(rgb-path, AS_HELP_STRING([--with-rgb-path=PATH], [Path to RGB database (default: ${datadir}/X11/rgb)]),
|
||||||
[ RGBPATH="$withval" ],
|
[ RGBPATH="$withval" ],
|
||||||
[ RGBPATH="${datadir}/X11/rgb" ])
|
[ RGBPATH="${datadir}/X11/rgb" ])
|
||||||
AC_ARG_WITH(dri-driver-path, AS_HELP_STRING([--with-dri-driver-path=PATH], [Path to DRI drivers (default: ${libdir}/dri)]),
|
|
||||||
[ DRI_DRIVER_PATH="$withval" ],
|
|
||||||
[ DRI_DRIVER_PATH="${libdir}/dri" ])
|
|
||||||
APPLE_APPLICATIONS_DIR="${bindir}/Applications"
|
APPLE_APPLICATIONS_DIR="${bindir}/Applications"
|
||||||
AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: ${bindir}/Applications)]),
|
AC_ARG_WITH(apple-applications-dir,AS_HELP_STRING([--with-apple-applications-dir=PATH], [Path to the Applications directory (default: ${bindir}/Applications)]),
|
||||||
[ APPLE_APPLICATIONS_DIR="${withval}" ].
|
[ APPLE_APPLICATIONS_DIR="${withval}" ].
|
||||||
|
@ -494,6 +488,20 @@ AC_ARG_ENABLE(null-root-cursor, AS_HELP_STRING([--enable-null-root-cursor], [Use
|
||||||
[NULL_ROOT_CURSOR=$enableval],
|
[NULL_ROOT_CURSOR=$enableval],
|
||||||
[NULL_ROOT_CURSOR=no])
|
[NULL_ROOT_CURSOR=no])
|
||||||
|
|
||||||
|
dnl GLX build options
|
||||||
|
AC_ARG_WITH(mesa-source, AS_HELP_STRING([--with-mesa-source=MESA_SOURCE], [Path to Mesa source tree]),
|
||||||
|
[ MESA_SOURCE="$withval" ],
|
||||||
|
[ MESA_SOURCE="" ])
|
||||||
|
AC_ARG_WITH(dri-driver-path, AS_HELP_STRING([--with-dri-driver-path=PATH], [Path to DRI drivers (default: ${libdir}/dri)]),
|
||||||
|
[ DRI_DRIVER_PATH="$withval" ],
|
||||||
|
[ DRI_DRIVER_PATH="${libdir}/dri" ])
|
||||||
|
AC_ARG_ENABLE(aiglx, AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]),
|
||||||
|
[AIGLX=$enableval],
|
||||||
|
[AIGLX=yes])
|
||||||
|
AC_ARG_ENABLE(glx-tls, AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: disabled)]),
|
||||||
|
[GLX_USE_TLS=$enableval],
|
||||||
|
[GLX_USE_TLS=no])
|
||||||
|
|
||||||
dnl Extensions.
|
dnl Extensions.
|
||||||
AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
|
AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
|
||||||
AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-shm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
|
AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-shm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
|
||||||
|
@ -508,8 +516,6 @@ AC_ARG_ENABLE(screensaver, AS_HELP_STRING([--disable-screensaver], [Build Scr
|
||||||
AC_ARG_ENABLE(xdmcp, AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
|
AC_ARG_ENABLE(xdmcp, AS_HELP_STRING([--disable-xdmcp], [Build XDMCP extension (default: auto)]), [XDMCP=$enableval], [XDMCP=auto])
|
||||||
AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
|
AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
|
||||||
AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
|
AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
|
||||||
AC_ARG_ENABLE(aiglx, AS_HELP_STRING([--enable-aiglx], [Build accelerated indirect GLX (default: enabled)]), [AIGLX=$enableval], [AIGLX=yes])
|
|
||||||
AC_ARG_ENABLE(glx-tls, AS_HELP_STRING([--enable-glx-tls], [Build GLX with TLS support (default: disabled)]), [GLX_USE_TLS=$enableval], [GLX_USE_TLS=no])
|
|
||||||
AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
|
AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
|
||||||
AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
|
AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
|
||||||
AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
|
AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
|
||||||
|
|
|
@ -322,6 +322,9 @@ exaPixmapIsOffscreen(PixmapPtr p)
|
||||||
if (p->devPrivate.ptr == NULL)
|
if (p->devPrivate.ptr == NULL)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
|
if (pExaScr->info->PixmapIsOffscreen)
|
||||||
|
return pExaScr->info->PixmapIsOffscreen(p);
|
||||||
|
|
||||||
return ((unsigned long) ((CARD8 *) p->devPrivate.ptr -
|
return ((unsigned long) ((CARD8 *) p->devPrivate.ptr -
|
||||||
(CARD8 *) pExaScr->info->memoryBase) <
|
(CARD8 *) pExaScr->info->memoryBase) <
|
||||||
pExaScr->info->memorySize);
|
pExaScr->info->memorySize);
|
||||||
|
|
19
exa/exa.h
19
exa/exa.h
|
@ -39,7 +39,7 @@
|
||||||
#include "fb.h"
|
#include "fb.h"
|
||||||
|
|
||||||
#define EXA_VERSION_MAJOR 2
|
#define EXA_VERSION_MAJOR 2
|
||||||
#define EXA_VERSION_MINOR 1
|
#define EXA_VERSION_MINOR 2
|
||||||
#define EXA_VERSION_RELEASE 0
|
#define EXA_VERSION_RELEASE 0
|
||||||
|
|
||||||
typedef struct _ExaOffscreenArea ExaOffscreenArea;
|
typedef struct _ExaOffscreenArea ExaOffscreenArea;
|
||||||
|
@ -636,6 +636,23 @@ typedef struct _ExaDriver {
|
||||||
*/
|
*/
|
||||||
void (*FinishAccess)(PixmapPtr pPix, int index);
|
void (*FinishAccess)(PixmapPtr pPix, int index);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PixmapIsOffscreen() is an optional driver replacement to
|
||||||
|
* exaPixmapIsOffscreen(). Set to NULL if you want the standard behaviour
|
||||||
|
* of exaPixmapIsOffscreen().
|
||||||
|
*
|
||||||
|
* @param pPix the pixmap
|
||||||
|
* @return TRUE if the given drawable is in framebuffer memory.
|
||||||
|
*
|
||||||
|
* exaPixmapIsOffscreen() is used to determine if a pixmap is in offscreen
|
||||||
|
* memory, meaning that acceleration could probably be done to it, and that it
|
||||||
|
* will need to be wrapped by PrepareAccess()/FinishAccess() when accessing it
|
||||||
|
* with the CPU.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Bool (*PixmapIsOffscreen)(PixmapPtr pPix);
|
||||||
|
|
||||||
/** @name PrepareAccess() and FinishAccess() indices
|
/** @name PrepareAccess() and FinishAccess() indices
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -78,4 +78,4 @@ libwfb_la_SOURCES = $(libfb_la_SOURCES)
|
||||||
|
|
||||||
libfb_la_LIBADD = libfbmmx.la
|
libfb_la_LIBADD = libfbmmx.la
|
||||||
|
|
||||||
EXTRA_DIST = fbcmap.c
|
EXTRA_DIST = fbcmap.c fbcmap_mi.c
|
||||||
|
|
91
fb/fbcmap.c
91
fb/fbcmap.c
|
@ -39,7 +39,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#include "resource.h"
|
#include "resource.h"
|
||||||
#include "fb.h"
|
#include "fb.h"
|
||||||
|
|
||||||
#ifndef XFree86Server
|
#ifdef XFree86Server
|
||||||
|
#error "You should be compiling fbcmap_mi.c instead of fbcmap.c!"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ColormapPtr FbInstalledMaps[MAXSCREENS];
|
ColormapPtr FbInstalledMaps[MAXSCREENS];
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -584,87 +589,3 @@ fbInitVisuals (VisualPtr *visualp,
|
||||||
*defaultVisp = depth[i].vids[j];
|
*defaultVisp = depth[i].vids[j];
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
|
|
||||||
#include "micmap.h"
|
|
||||||
|
|
||||||
int
|
|
||||||
fbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
|
|
||||||
{
|
|
||||||
return miListInstalledColormaps(pScreen, pmaps);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
fbInstallColormap(ColormapPtr pmap)
|
|
||||||
{
|
|
||||||
miInstallColormap(pmap);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
fbUninstallColormap(ColormapPtr pmap)
|
|
||||||
{
|
|
||||||
miUninstallColormap(pmap);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
fbResolveColor(unsigned short *pred,
|
|
||||||
unsigned short *pgreen,
|
|
||||||
unsigned short *pblue,
|
|
||||||
VisualPtr pVisual)
|
|
||||||
{
|
|
||||||
miResolveColor(pred, pgreen, pblue, pVisual);
|
|
||||||
}
|
|
||||||
|
|
||||||
Bool
|
|
||||||
fbInitializeColormap(ColormapPtr pmap)
|
|
||||||
{
|
|
||||||
return miInitializeColormap(pmap);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
fbExpandDirectColors (ColormapPtr pmap,
|
|
||||||
int ndef,
|
|
||||||
xColorItem *indefs,
|
|
||||||
xColorItem *outdefs)
|
|
||||||
{
|
|
||||||
return miExpandDirectColors(pmap, ndef, indefs, outdefs);
|
|
||||||
}
|
|
||||||
|
|
||||||
Bool
|
|
||||||
fbCreateDefColormap(ScreenPtr pScreen)
|
|
||||||
{
|
|
||||||
return miCreateDefColormap(pScreen);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
fbClearVisualTypes(void)
|
|
||||||
{
|
|
||||||
miClearVisualTypes();
|
|
||||||
}
|
|
||||||
|
|
||||||
Bool
|
|
||||||
fbSetVisualTypes (int depth, int visuals, int bitsPerRGB)
|
|
||||||
{
|
|
||||||
return miSetVisualTypes(depth, visuals, bitsPerRGB, -1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Given a list of formats for a screen, create a list
|
|
||||||
* of visuals and depths for the screen which coorespond to
|
|
||||||
* the set which can be used with this version of fb.
|
|
||||||
*/
|
|
||||||
|
|
||||||
Bool
|
|
||||||
fbInitVisuals (VisualPtr *visualp,
|
|
||||||
DepthPtr *depthp,
|
|
||||||
int *nvisualp,
|
|
||||||
int *ndepthp,
|
|
||||||
int *rootDepthp,
|
|
||||||
VisualID *defaultVisp,
|
|
||||||
unsigned long sizes,
|
|
||||||
int bitsPerRGB)
|
|
||||||
{
|
|
||||||
return miInitVisuals(visualp, depthp, nvisualp, ndepthp, rootDepthp,
|
|
||||||
defaultVisp, sizes, bitsPerRGB, -1);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -0,0 +1,123 @@
|
||||||
|
/************************************************************
|
||||||
|
Copyright 1987 by Sun Microsystems, Inc. Mountain View, CA.
|
||||||
|
|
||||||
|
All Rights Reserved
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and distribute this
|
||||||
|
software and its documentation for any purpose and without
|
||||||
|
fee is hereby granted, provided that the above copyright no-
|
||||||
|
tice appear in all copies and that both that copyright no-
|
||||||
|
tice and this permission notice appear in supporting docu-
|
||||||
|
mentation, and that the names of Sun or X Consortium
|
||||||
|
not be used in advertising or publicity pertaining to
|
||||||
|
distribution of the software without specific prior
|
||||||
|
written permission. Sun and X Consortium make no
|
||||||
|
representations about the suitability of this software for
|
||||||
|
any purpose. It is provided "as is" without any express or
|
||||||
|
implied warranty.
|
||||||
|
|
||||||
|
SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||||
|
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FIT-
|
||||||
|
NESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SUN BE LI-
|
||||||
|
ABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
|
||||||
|
ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
|
||||||
|
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH
|
||||||
|
THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
********************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This version of fbcmap.c is implemented in terms of mi functions.
|
||||||
|
* These functions used to be in fbcmap.c and depended upon the symbol
|
||||||
|
* XFree86Server being defined.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_DIX_CONFIG_H
|
||||||
|
#include <dix-config.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <X11/X.h>
|
||||||
|
#include "fb.h"
|
||||||
|
#include "micmap.h"
|
||||||
|
|
||||||
|
int
|
||||||
|
fbListInstalledColormaps(ScreenPtr pScreen, Colormap *pmaps)
|
||||||
|
{
|
||||||
|
return miListInstalledColormaps(pScreen, pmaps);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
fbInstallColormap(ColormapPtr pmap)
|
||||||
|
{
|
||||||
|
miInstallColormap(pmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
fbUninstallColormap(ColormapPtr pmap)
|
||||||
|
{
|
||||||
|
miUninstallColormap(pmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
fbResolveColor(unsigned short *pred,
|
||||||
|
unsigned short *pgreen,
|
||||||
|
unsigned short *pblue,
|
||||||
|
VisualPtr pVisual)
|
||||||
|
{
|
||||||
|
miResolveColor(pred, pgreen, pblue, pVisual);
|
||||||
|
}
|
||||||
|
|
||||||
|
Bool
|
||||||
|
fbInitializeColormap(ColormapPtr pmap)
|
||||||
|
{
|
||||||
|
return miInitializeColormap(pmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
fbExpandDirectColors (ColormapPtr pmap,
|
||||||
|
int ndef,
|
||||||
|
xColorItem *indefs,
|
||||||
|
xColorItem *outdefs)
|
||||||
|
{
|
||||||
|
return miExpandDirectColors(pmap, ndef, indefs, outdefs);
|
||||||
|
}
|
||||||
|
|
||||||
|
Bool
|
||||||
|
fbCreateDefColormap(ScreenPtr pScreen)
|
||||||
|
{
|
||||||
|
return miCreateDefColormap(pScreen);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
fbClearVisualTypes(void)
|
||||||
|
{
|
||||||
|
miClearVisualTypes();
|
||||||
|
}
|
||||||
|
|
||||||
|
Bool
|
||||||
|
fbSetVisualTypes (int depth, int visuals, int bitsPerRGB)
|
||||||
|
{
|
||||||
|
return miSetVisualTypes(depth, visuals, bitsPerRGB, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Given a list of formats for a screen, create a list
|
||||||
|
* of visuals and depths for the screen which coorespond to
|
||||||
|
* the set which can be used with this version of fb.
|
||||||
|
*/
|
||||||
|
Bool
|
||||||
|
fbInitVisuals (VisualPtr *visualp,
|
||||||
|
DepthPtr *depthp,
|
||||||
|
int *nvisualp,
|
||||||
|
int *ndepthp,
|
||||||
|
int *rootDepthp,
|
||||||
|
VisualID *defaultVisp,
|
||||||
|
unsigned long sizes,
|
||||||
|
int bitsPerRGB)
|
||||||
|
{
|
||||||
|
return miInitVisuals(visualp, depthp, nvisualp, ndepthp, rootDepthp,
|
||||||
|
defaultVisp, sizes, bitsPerRGB, -1);
|
||||||
|
}
|
|
@ -26,12 +26,12 @@ libdarwinShared_a_SOURCES = darwin.c \
|
||||||
|
|
||||||
bin_PROGRAMS = XDarwin Xquartz
|
bin_PROGRAMS = XDarwin Xquartz
|
||||||
XDarwin_SOURCES = \
|
XDarwin_SOURCES = \
|
||||||
$(top_srcdir)/fb/fbcmap.c \
|
$(top_srcdir)/fb/fbcmap_mi.c \
|
||||||
$(top_srcdir)/mi/miinitext.c \
|
$(top_srcdir)/mi/miinitext.c \
|
||||||
$(top_srcdir)/Xi/stubs.c
|
$(top_srcdir)/Xi/stubs.c
|
||||||
|
|
||||||
Xquartz_SOURCES = \
|
Xquartz_SOURCES = \
|
||||||
$(top_srcdir)/fb/fbcmap.c \
|
$(top_srcdir)/fb/fbcmap_mi.c \
|
||||||
$(top_srcdir)/mi/miinitext.c \
|
$(top_srcdir)/mi/miinitext.c \
|
||||||
$(top_srcdir)/Xi/stubs.c \
|
$(top_srcdir)/Xi/stubs.c \
|
||||||
apple/X11Application.m \
|
apple/X11Application.m \
|
||||||
|
@ -115,7 +115,7 @@ x11app:
|
||||||
cd apple && xcodebuild CFLAGS="$(XSERVERCFLAGS_CFLAGS)" LDFLAGS="$(XSERVERCFLAGS_LIBS)"
|
cd apple && xcodebuild CFLAGS="$(XSERVERCFLAGS_CFLAGS)" LDFLAGS="$(XSERVERCFLAGS_LIBS)"
|
||||||
|
|
||||||
XDarwinApp_SOURCES = \
|
XDarwinApp_SOURCES = \
|
||||||
$(top_srcdir)/fb/fbcmap.c \
|
$(top_srcdir)/fb/fbcmap_mi.c \
|
||||||
$(top_srcdir)/mi/miinitext.c \
|
$(top_srcdir)/mi/miinitext.c \
|
||||||
$(top_srcdir)/Xi/stubs.c
|
$(top_srcdir)/Xi/stubs.c
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@ DIST_SUBDIRS = input config glxProxy examples doc
|
||||||
|
|
||||||
SUBDIRS = input config examples
|
SUBDIRS = input config examples
|
||||||
bin_PROGRAMS = Xdmx
|
bin_PROGRAMS = Xdmx
|
||||||
noinst_LIBRARIES = libfbcmap.a
|
|
||||||
|
|
||||||
if XINERAMA
|
if XINERAMA
|
||||||
PANORAMIX_SRCS = $(top_srcdir)/Xext/panoramiX.c
|
PANORAMIX_SRCS = $(top_srcdir)/Xext/panoramiX.c
|
||||||
|
@ -26,11 +25,9 @@ AM_CFLAGS = \
|
||||||
$(DIX_CFLAGS) \
|
$(DIX_CFLAGS) \
|
||||||
$(GLX_INCS) \
|
$(GLX_INCS) \
|
||||||
$(GLX_DEFS) \
|
$(GLX_DEFS) \
|
||||||
|
$(DMX_CFLAGS) \
|
||||||
@DMXMODULES_CFLAGS@
|
@DMXMODULES_CFLAGS@
|
||||||
|
|
||||||
libfbcmap_a_SOURCES = libfbcmap.a
|
|
||||||
libfbcmap_a_CFLAGS = $(AM_CFLAGS) -DXFree86Server
|
|
||||||
|
|
||||||
Xdmx_SOURCES = dmx.c \
|
Xdmx_SOURCES = dmx.c \
|
||||||
dmxcb.c \
|
dmxcb.c \
|
||||||
dmxcb.h \
|
dmxcb.h \
|
||||||
|
@ -76,6 +73,7 @@ Xdmx_SOURCES = dmx.c \
|
||||||
dmxwindow.c \
|
dmxwindow.c \
|
||||||
dmxwindow.h \
|
dmxwindow.h \
|
||||||
$(top_srcdir)/mi/miinitext.c \
|
$(top_srcdir)/mi/miinitext.c \
|
||||||
|
$(top_srcdir)/fb/fbcmap_mi.c \
|
||||||
$(GLX_SRCS)
|
$(GLX_SRCS)
|
||||||
|
|
||||||
|
|
||||||
|
@ -89,7 +87,6 @@ Xdmx_LDADD = $(XORG_CORE_LIBS) \
|
||||||
$(GLX_LIBS) \
|
$(GLX_LIBS) \
|
||||||
input/libdmxinput.a \
|
input/libdmxinput.a \
|
||||||
config/libdmxconfig.a \
|
config/libdmxconfig.a \
|
||||||
libfbcmap.a \
|
|
||||||
@DMXMODULES_LIBS@
|
@DMXMODULES_LIBS@
|
||||||
|
|
||||||
# Man page
|
# Man page
|
||||||
|
|
|
@ -130,14 +130,16 @@ static Bool dmxCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y)
|
||||||
int globalX;
|
int globalX;
|
||||||
int globalY;
|
int globalY;
|
||||||
|
|
||||||
if (screenInfo.numScreens == 1) return FALSE;
|
if (screenInfo.numScreens == 1)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* On current screen? */
|
/* On current screen? */
|
||||||
dmxScreen = &dmxScreens[(*ppScreen)->myNum];
|
dmxScreen = &dmxScreens[(*ppScreen)->myNum];
|
||||||
if (localX >= 0
|
if (localX >= 0
|
||||||
&& localX < dmxScreen->rootWidth
|
&& localX < dmxScreen->rootWidth
|
||||||
&& localY >= 0
|
&& localY >= 0
|
||||||
&& localY < dmxScreen->rootHeight) return FALSE;
|
&& localY < dmxScreen->rootHeight)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
/* Convert to global coordinate space */
|
/* Convert to global coordinate space */
|
||||||
globalX = dmxScreen->rootXOrigin + localX;
|
globalX = dmxScreen->rootXOrigin + localX;
|
||||||
|
@ -162,7 +164,8 @@ static Bool dmxCursorOffScreen(ScreenPtr *ppScreen, int *x, int *y)
|
||||||
&& globalX < dmxScreen->rootXOrigin + dmxScreen->rootWidth
|
&& globalX < dmxScreen->rootXOrigin + dmxScreen->rootWidth
|
||||||
&& globalY >= dmxScreen->rootYOrigin
|
&& globalY >= dmxScreen->rootYOrigin
|
||||||
&& globalY < dmxScreen->rootYOrigin + dmxScreen->rootHeight) {
|
&& globalY < dmxScreen->rootYOrigin + dmxScreen->rootHeight) {
|
||||||
if (dmxScreen->index == (*ppScreen)->myNum) return FALSE;
|
if (dmxScreen->index == (*ppScreen)->myNum)
|
||||||
|
return FALSE;
|
||||||
*ppScreen = screenInfo.screens[dmxScreen->index];
|
*ppScreen = screenInfo.screens[dmxScreen->index];
|
||||||
*x = globalX - dmxScreen->rootXOrigin;
|
*x = globalX - dmxScreen->rootXOrigin;
|
||||||
*y = globalY - dmxScreen->rootYOrigin;
|
*y = globalY - dmxScreen->rootYOrigin;
|
||||||
|
@ -179,7 +182,12 @@ static void dmxCrossScreen(ScreenPtr pScreen, Bool entering)
|
||||||
static void dmxWarpCursor(ScreenPtr pScreen, int x, int y)
|
static void dmxWarpCursor(ScreenPtr pScreen, int x, int y)
|
||||||
{
|
{
|
||||||
DMXDBG3("dmxWarpCursor(%d,%d,%d)\n", pScreen->myNum, x, y);
|
DMXDBG3("dmxWarpCursor(%d,%d,%d)\n", pScreen->myNum, x, y);
|
||||||
|
#if 11 /*BP*/
|
||||||
|
/* This call is depracated. Replace with???? */
|
||||||
miPointerWarpCursor(pScreen, x, y);
|
miPointerWarpCursor(pScreen, x, y);
|
||||||
|
#else
|
||||||
|
pScreen->SetCursorPosition(pScreen, x, y, FALSE);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
miPointerScreenFuncRec dmxPointerCursorFuncs =
|
miPointerScreenFuncRec dmxPointerCursorFuncs =
|
||||||
|
@ -187,7 +195,7 @@ miPointerScreenFuncRec dmxPointerCursorFuncs =
|
||||||
dmxCursorOffScreen,
|
dmxCursorOffScreen,
|
||||||
dmxCrossScreen,
|
dmxCrossScreen,
|
||||||
dmxWarpCursor,
|
dmxWarpCursor,
|
||||||
dmxeqEnqueue,
|
dmxeqEnqueue, /*XXX incompatible type/function! */
|
||||||
dmxeqSwitchScreen
|
dmxeqSwitchScreen
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -198,7 +206,8 @@ static int *dmxSLCreate(void)
|
||||||
int *list = malloc(dmxNumScreens * sizeof(*list));
|
int *list = malloc(dmxNumScreens * sizeof(*list));
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < dmxNumScreens; i++) list[i] = 1;
|
for (i = 0; i < dmxNumScreens; i++)
|
||||||
|
list[i] = 1;
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -212,7 +221,9 @@ static void dmxSLFree(int *list)
|
||||||
static int dmxSLFindNext(int *list)
|
static int dmxSLFindNext(int *list)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < dmxNumScreens; i++) if (list[i]) return i;
|
for (i = 0; i < dmxNumScreens; i++)
|
||||||
|
if (list[i])
|
||||||
|
return i;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,7 +236,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft)
|
||||||
int changed = 0;
|
int changed = 0;
|
||||||
|
|
||||||
for (i = 0; i < dmxNumScreens; i++) {
|
for (i = 0; i < dmxNumScreens; i++) {
|
||||||
if (!screensLeft[i]) continue;
|
if (!screensLeft[i])
|
||||||
|
continue;
|
||||||
screen = &dmxScreens[i];
|
screen = &dmxScreens[i];
|
||||||
switch (screen->where) {
|
switch (screen->where) {
|
||||||
case PosAbsolute:
|
case PosAbsolute:
|
||||||
|
@ -235,14 +247,16 @@ static int dmxTryComputeScreenOrigins(int *screensLeft)
|
||||||
break;
|
break;
|
||||||
case PosRelative:
|
case PosRelative:
|
||||||
ref = screen->whereRefScreen;
|
ref = screen->whereRefScreen;
|
||||||
if (screensLeft[ref]) break;
|
if (screensLeft[ref])
|
||||||
|
break;
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->whereX;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x + screen->whereX;
|
||||||
dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->whereY;
|
dixScreenOrigins[i].y = dixScreenOrigins[ref].y + screen->whereY;
|
||||||
++changed, screensLeft[i] = 0;
|
++changed, screensLeft[i] = 0;
|
||||||
break;
|
break;
|
||||||
case PosRightOf:
|
case PosRightOf:
|
||||||
ref = screen->whereRefScreen;
|
ref = screen->whereRefScreen;
|
||||||
if (screensLeft[ref]) break;
|
if (screensLeft[ref])
|
||||||
|
break;
|
||||||
pScreen = screenInfo.screens[ref];
|
pScreen = screenInfo.screens[ref];
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x + pScreen->width;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x + pScreen->width;
|
||||||
dixScreenOrigins[i].y = dixScreenOrigins[ref].y;
|
dixScreenOrigins[i].y = dixScreenOrigins[ref].y;
|
||||||
|
@ -250,7 +264,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft)
|
||||||
break;
|
break;
|
||||||
case PosLeftOf:
|
case PosLeftOf:
|
||||||
ref = screen->whereRefScreen;
|
ref = screen->whereRefScreen;
|
||||||
if (screensLeft[ref]) break;
|
if (screensLeft[ref])
|
||||||
|
break;
|
||||||
pScreen = screenInfo.screens[i];
|
pScreen = screenInfo.screens[i];
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x - pScreen->width;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x - pScreen->width;
|
||||||
dixScreenOrigins[i].y = dixScreenOrigins[ref].y;
|
dixScreenOrigins[i].y = dixScreenOrigins[ref].y;
|
||||||
|
@ -258,7 +273,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft)
|
||||||
break;
|
break;
|
||||||
case PosBelow:
|
case PosBelow:
|
||||||
ref = screen->whereRefScreen;
|
ref = screen->whereRefScreen;
|
||||||
if (screensLeft[ref]) break;
|
if (screensLeft[ref])
|
||||||
|
break;
|
||||||
pScreen = screenInfo.screens[ref];
|
pScreen = screenInfo.screens[ref];
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
||||||
dixScreenOrigins[i].y = dixScreenOrigins[ref].y + pScreen->height;
|
dixScreenOrigins[i].y = dixScreenOrigins[ref].y + pScreen->height;
|
||||||
|
@ -266,7 +282,8 @@ static int dmxTryComputeScreenOrigins(int *screensLeft)
|
||||||
break;
|
break;
|
||||||
case PosAbove:
|
case PosAbove:
|
||||||
ref = screen->whereRefScreen;
|
ref = screen->whereRefScreen;
|
||||||
if (screensLeft[ref]) break;
|
if (screensLeft[ref])
|
||||||
|
break;
|
||||||
pScreen = screenInfo.screens[i];
|
pScreen = screenInfo.screens[i];
|
||||||
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
dixScreenOrigins[i].x = dixScreenOrigins[ref].x;
|
||||||
dixScreenOrigins[i].y = dixScreenOrigins[ref].y - pScreen->height;
|
dixScreenOrigins[i].y = dixScreenOrigins[ref].y - pScreen->height;
|
||||||
|
@ -308,8 +325,10 @@ static void dmxComputeScreenOrigins(void)
|
||||||
minX = dixScreenOrigins[0].x;
|
minX = dixScreenOrigins[0].x;
|
||||||
minY = dixScreenOrigins[0].y;
|
minY = dixScreenOrigins[0].y;
|
||||||
for (i = 1; i < dmxNumScreens; i++) { /* Compute minX, minY */
|
for (i = 1; i < dmxNumScreens; i++) { /* Compute minX, minY */
|
||||||
if (dixScreenOrigins[i].x < minX) minX = dixScreenOrigins[i].x;
|
if (dixScreenOrigins[i].x < minX)
|
||||||
if (dixScreenOrigins[i].y < minY) minY = dixScreenOrigins[i].y;
|
minX = dixScreenOrigins[i].x;
|
||||||
|
if (dixScreenOrigins[i].y < minY)
|
||||||
|
minY = dixScreenOrigins[i].y;
|
||||||
}
|
}
|
||||||
if (minX || minY) {
|
if (minX || minY) {
|
||||||
for (i = 0; i < dmxNumScreens; i++) {
|
for (i = 0; i < dmxNumScreens; i++) {
|
||||||
|
@ -411,28 +430,36 @@ int dmxOnScreen(int x, int y, DMXScreenInfo *dmxScreen)
|
||||||
static int dmxDoesOverlap(DMXScreenInfo *a, DMXScreenInfo *b)
|
static int dmxDoesOverlap(DMXScreenInfo *a, DMXScreenInfo *b)
|
||||||
{
|
{
|
||||||
if (dmxOnScreen(a->rootXOrigin,
|
if (dmxOnScreen(a->rootXOrigin,
|
||||||
a->rootYOrigin, b)) return 1;
|
a->rootYOrigin, b))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(a->rootXOrigin,
|
if (dmxOnScreen(a->rootXOrigin,
|
||||||
a->rootYOrigin + a->scrnWidth, b)) return 1;
|
a->rootYOrigin + a->scrnWidth, b))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(a->rootXOrigin + a->scrnHeight,
|
if (dmxOnScreen(a->rootXOrigin + a->scrnHeight,
|
||||||
a->rootYOrigin, b)) return 1;
|
a->rootYOrigin, b))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(a->rootXOrigin + a->scrnHeight,
|
if (dmxOnScreen(a->rootXOrigin + a->scrnHeight,
|
||||||
a->rootYOrigin + a->scrnWidth, b)) return 1;
|
a->rootYOrigin + a->scrnWidth, b))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(b->rootXOrigin,
|
if (dmxOnScreen(b->rootXOrigin,
|
||||||
b->rootYOrigin, a)) return 1;
|
b->rootYOrigin, a))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(b->rootXOrigin,
|
if (dmxOnScreen(b->rootXOrigin,
|
||||||
b->rootYOrigin + b->scrnWidth, a)) return 1;
|
b->rootYOrigin + b->scrnWidth, a))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(b->rootXOrigin + b->scrnHeight,
|
if (dmxOnScreen(b->rootXOrigin + b->scrnHeight,
|
||||||
b->rootYOrigin, a)) return 1;
|
b->rootYOrigin, a))
|
||||||
|
return 1;
|
||||||
|
|
||||||
if (dmxOnScreen(b->rootXOrigin + b->scrnHeight,
|
if (dmxOnScreen(b->rootXOrigin + b->scrnHeight,
|
||||||
b->rootYOrigin + b->scrnWidth, a)) return 1;
|
b->rootYOrigin + b->scrnWidth, a))
|
||||||
|
return 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -476,7 +503,8 @@ static void *dmxTestSameDisplay(DMXScreenInfo *a, void *closure)
|
||||||
{
|
{
|
||||||
DMXScreenInfo *b = closure;
|
DMXScreenInfo *b = closure;
|
||||||
|
|
||||||
if (a == b) return a;
|
if (a == b)
|
||||||
|
return a;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -489,14 +517,16 @@ void dmxInitOverlap(void)
|
||||||
int i, j;
|
int i, j;
|
||||||
DMXScreenInfo *a, *b, *pt;
|
DMXScreenInfo *a, *b, *pt;
|
||||||
|
|
||||||
for (i = 0; i < dmxNumScreens; i++) dmxScreens[i].over = NULL;
|
for (i = 0; i < dmxNumScreens; i++)
|
||||||
|
dmxScreens[i].over = NULL;
|
||||||
|
|
||||||
for (i = 0; i < dmxNumScreens; i++) {
|
for (i = 0; i < dmxNumScreens; i++) {
|
||||||
a = &dmxScreens[i];
|
a = &dmxScreens[i];
|
||||||
|
|
||||||
for (j = i+1; j < dmxNumScreens; j++) {
|
for (j = i+1; j < dmxNumScreens; j++) {
|
||||||
b = &dmxScreens[j];
|
b = &dmxScreens[j];
|
||||||
if (b->over) continue;
|
if (b->over)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (dmxDoesOverlap(a, b)) {
|
if (dmxDoesOverlap(a, b)) {
|
||||||
DMXDBG6("%d overlaps %d: a=%p %p b=%p %p\n",
|
DMXDBG6("%d overlaps %d: a=%p %p b=%p %p\n",
|
||||||
|
@ -510,7 +540,8 @@ void dmxInitOverlap(void)
|
||||||
for (i = 0; i < dmxNumScreens; i++) {
|
for (i = 0; i < dmxNumScreens; i++) {
|
||||||
a = &dmxScreens[i];
|
a = &dmxScreens[i];
|
||||||
|
|
||||||
if (!a->over) continue;
|
if (!a->over)
|
||||||
|
continue;
|
||||||
|
|
||||||
/* Flag all pairs that are on same display */
|
/* Flag all pairs that are on same display */
|
||||||
for (pt = a->over; pt != a; pt = pt->over) {
|
for (pt = a->over; pt != a; pt = pt->over) {
|
||||||
|
@ -521,7 +552,8 @@ void dmxInitOverlap(void)
|
||||||
* screens that mutually overlap on the backend display,
|
* screens that mutually overlap on the backend display,
|
||||||
* so we call dmxDoesOverlap, which is stricter than the
|
* so we call dmxDoesOverlap, which is stricter than the
|
||||||
* ->over set. */
|
* ->over set. */
|
||||||
if (!dmxDoesOverlap(a, pt)) continue;
|
if (!dmxDoesOverlap(a, pt))
|
||||||
|
continue;
|
||||||
a->cursorNotShared = 1;
|
a->cursorNotShared = 1;
|
||||||
pt->cursorNotShared = 1;
|
pt->cursorNotShared = 1;
|
||||||
dmxLog(dmxInfo,
|
dmxLog(dmxInfo,
|
||||||
|
@ -731,9 +763,11 @@ static Bool dmxRealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
|
||||||
return _dmxRealizeCursor(pScreen, pCursor);
|
return _dmxRealizeCursor(pScreen, pCursor);
|
||||||
|
|
||||||
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
||||||
if (pt->cursorNotShared) continue;
|
if (pt->cursorNotShared)
|
||||||
|
continue;
|
||||||
_dmxRealizeCursor(screenInfo.screens[pt->index], pCursor);
|
_dmxRealizeCursor(screenInfo.screens[pt->index], pCursor);
|
||||||
if (pt == start) break;
|
if (pt == start)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -747,9 +781,11 @@ static Bool dmxUnrealizeCursor(ScreenPtr pScreen, CursorPtr pCursor)
|
||||||
return _dmxUnrealizeCursor(pScreen, pCursor);
|
return _dmxUnrealizeCursor(pScreen, pCursor);
|
||||||
|
|
||||||
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
||||||
if (pt->cursorNotShared) continue;
|
if (pt->cursorNotShared)
|
||||||
|
continue;
|
||||||
_dmxUnrealizeCursor(screenInfo.screens[pt->index], pCursor);
|
_dmxUnrealizeCursor(screenInfo.screens[pt->index], pCursor);
|
||||||
if (pt == start) break;
|
if (pt == start)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -758,10 +794,13 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start)
|
||||||
{
|
{
|
||||||
DMXScreenInfo *pt;
|
DMXScreenInfo *pt;
|
||||||
|
|
||||||
if (!start || !start->over) return GetSpriteCursor();
|
if (!start || !start->over)
|
||||||
|
return GetSpriteCursor();
|
||||||
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
||||||
if (pt->cursor) return pt->cursor;
|
if (pt->cursor)
|
||||||
if (pt == start) break;
|
return pt->cursor;
|
||||||
|
if (pt == start)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return GetSpriteCursor();
|
return GetSpriteCursor();
|
||||||
}
|
}
|
||||||
|
@ -769,7 +808,12 @@ static CursorPtr dmxFindCursor(DMXScreenInfo *start)
|
||||||
/** Move the cursor to coordinates (\a x, \a y)on \a pScreen. This
|
/** Move the cursor to coordinates (\a x, \a y)on \a pScreen. This
|
||||||
* function is usually called via #dmxPointerSpriteFuncs, except during
|
* function is usually called via #dmxPointerSpriteFuncs, except during
|
||||||
* reconfiguration when the cursor is repositioned to force an update on
|
* reconfiguration when the cursor is repositioned to force an update on
|
||||||
* newley overlapping screens and on screens that no longer overlap. */
|
* newley overlapping screens and on screens that no longer overlap.
|
||||||
|
*
|
||||||
|
* The coords (x,y) are in global coord space. We'll loop over the
|
||||||
|
* back-end screens and see if they contain the global coord. If so, call
|
||||||
|
* _dmxMoveCursor() (XWarpPointer) to position the pointer on that screen.
|
||||||
|
*/
|
||||||
void dmxMoveCursor(ScreenPtr pScreen, int x, int y)
|
void dmxMoveCursor(ScreenPtr pScreen, int x, int y)
|
||||||
{
|
{
|
||||||
DMXScreenInfo *start = &dmxScreens[pScreen->myNum];
|
DMXScreenInfo *start = &dmxScreens[pScreen->myNum];
|
||||||
|
@ -783,7 +827,8 @@ void dmxMoveCursor(ScreenPtr pScreen, int x, int y)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
||||||
if (pt->cursorNotShared) continue;
|
if (pt->cursorNotShared)
|
||||||
|
continue;
|
||||||
if (dmxOnScreen(x + start->rootXOrigin, y + start->rootYOrigin, pt)) {
|
if (dmxOnScreen(x + start->rootXOrigin, y + start->rootYOrigin, pt)) {
|
||||||
if (/* pt != start && */ !pt->cursorVisible) {
|
if (/* pt != start && */ !pt->cursorVisible) {
|
||||||
if (!pt->cursor) {
|
if (!pt->cursor) {
|
||||||
|
@ -811,7 +856,8 @@ void dmxMoveCursor(ScreenPtr pScreen, int x, int y)
|
||||||
x + start->rootXOrigin - pt->rootXOrigin,
|
x + start->rootXOrigin - pt->rootXOrigin,
|
||||||
y + start->rootYOrigin - pt->rootYOrigin);
|
y + start->rootYOrigin - pt->rootYOrigin);
|
||||||
}
|
}
|
||||||
if (pt == start) break;
|
if (pt == start)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -843,7 +889,7 @@ static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)
|
||||||
gx = start->rootXOrigin + x;
|
gx = start->rootXOrigin + x;
|
||||||
gy = start->rootYOrigin + y;
|
gy = start->rootYOrigin + y;
|
||||||
if (x && y && (GX != gx || GY != gy))
|
if (x && y && (GX != gx || GY != gy))
|
||||||
dmxCoreMotion(gx, gy, 0, DMX_NO_BLOCK);
|
dmxCoreMotion(NULL, gx, gy, 0, DMX_NO_BLOCK);
|
||||||
|
|
||||||
if (!start->over || !dmxCursorDoMultiCursors || start->cursorNotShared) {
|
if (!start->over || !dmxCursorDoMultiCursors || start->cursorNotShared) {
|
||||||
_dmxSetCursor(pScreen, pCursor, x, y);
|
_dmxSetCursor(pScreen, pCursor, x, y);
|
||||||
|
@ -851,7 +897,8 @@ static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)
|
||||||
}
|
}
|
||||||
|
|
||||||
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
for (pt = start->over; /* condition at end of loop */; pt = pt->over) {
|
||||||
if (pt->cursorNotShared) continue;
|
if (pt->cursorNotShared)
|
||||||
|
continue;
|
||||||
if (dmxOnScreen(x + start->rootXOrigin, y + start->rootYOrigin, pt)) {
|
if (dmxOnScreen(x + start->rootXOrigin, y + start->rootYOrigin, pt)) {
|
||||||
_dmxSetCursor(screenInfo.screens[pt->index], pCursor,
|
_dmxSetCursor(screenInfo.screens[pt->index], pCursor,
|
||||||
x + start->rootXOrigin - pt->rootXOrigin,
|
x + start->rootXOrigin - pt->rootXOrigin,
|
||||||
|
@ -861,7 +908,8 @@ static void dmxSetCursor(ScreenPtr pScreen, CursorPtr pCursor, int x, int y)
|
||||||
x + start->rootXOrigin - pt->rootXOrigin,
|
x + start->rootXOrigin - pt->rootXOrigin,
|
||||||
y + start->rootYOrigin - pt->rootYOrigin);
|
y + start->rootYOrigin - pt->rootYOrigin);
|
||||||
}
|
}
|
||||||
if (pt == start) break;
|
if (pt == start)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -896,8 +944,13 @@ void dmxCheckCursor(void)
|
||||||
pScreen = screenInfo.screens[dmxScreen->index];
|
pScreen = screenInfo.screens[dmxScreen->index];
|
||||||
|
|
||||||
if (!dmxOnScreen(x, y, dmxScreen)) {
|
if (!dmxOnScreen(x, y, dmxScreen)) {
|
||||||
|
#if 00
|
||||||
if (firstScreen && i == miPointerCurrentScreen()->myNum)
|
if (firstScreen && i == miPointerCurrentScreen()->myNum)
|
||||||
miPointerSetNewScreen(firstScreen->index, x, y);
|
miPointerSetNewScreen(firstScreen->index, x, y);
|
||||||
|
#else
|
||||||
|
if (firstScreen && i == miPointerGetScreen(inputInfo.pointer)->myNum)
|
||||||
|
miPointerSetScreen(inputInfo.pointer, firstScreen->index, x, y);
|
||||||
|
#endif
|
||||||
_dmxSetCursor(pScreen, NULL,
|
_dmxSetCursor(pScreen, NULL,
|
||||||
x - dmxScreen->rootXOrigin,
|
x - dmxScreen->rootXOrigin,
|
||||||
y - dmxScreen->rootYOrigin);
|
y - dmxScreen->rootYOrigin);
|
||||||
|
|
|
@ -49,6 +49,7 @@
|
||||||
|
|
||||||
#include "inputstr.h"
|
#include "inputstr.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
#include "mi.h"
|
||||||
|
|
||||||
/** Returns TRUE if the key is a valid modifier. For PC-class
|
/** Returns TRUE if the key is a valid modifier. For PC-class
|
||||||
* keyboards, all keys can be used as modifiers, so return TRUE
|
* keyboards, all keys can be used as modifiers, so return TRUE
|
||||||
|
@ -75,6 +76,8 @@ void InitInput(int argc, char **argv)
|
||||||
dmxLog(dmxWarning, "Use keyboard/mouse pair with the first -input\n");
|
dmxLog(dmxWarning, "Use keyboard/mouse pair with the first -input\n");
|
||||||
dmxLog(dmxFatal, "At least one core keyboard/mouse pair required\n");
|
dmxLog(dmxFatal, "At least one core keyboard/mouse pair required\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mieqInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Called from dix/dispatch.c in Dispatch() whenever input events
|
/** Called from dix/dispatch.c in Dispatch() whenever input events
|
||||||
|
|
|
@ -154,7 +154,7 @@ typedef enum {
|
||||||
|
|
||||||
extern void dmxGetGlobalPosition(int *x, int *y);
|
extern void dmxGetGlobalPosition(int *x, int *y);
|
||||||
extern DMXScreenInfo *dmxFindFirstScreen(int x, int y);
|
extern DMXScreenInfo *dmxFindFirstScreen(int x, int y);
|
||||||
extern void dmxCoreMotion(int x, int y, int delta,
|
extern void dmxCoreMotion(DevicePtr pDev, int x, int y, int delta,
|
||||||
DMXBlockType block);
|
DMXBlockType block);
|
||||||
|
|
||||||
/* Support for dynamic addition of inputs. This functions is defined in
|
/* Support for dynamic addition of inputs. This functions is defined in
|
||||||
|
|
|
@ -242,7 +242,7 @@ static int dmxBackendOffscreen(int screen, int x, int y)
|
||||||
void dmxBackendUpdatePosition(pointer private, int x, int y)
|
void dmxBackendUpdatePosition(pointer private, int x, int y)
|
||||||
{
|
{
|
||||||
GETPRIVFROMPRIVATE;
|
GETPRIVFROMPRIVATE;
|
||||||
int screen = miPointerCurrentScreen()->myNum;
|
int screen = miPointerGetScreen(inputInfo.pointer)->myNum;
|
||||||
DMXScreenInfo *dmxScreen = &dmxScreens[priv->myScreen];
|
DMXScreenInfo *dmxScreen = &dmxScreens[priv->myScreen];
|
||||||
int oldRelative = priv->relative;
|
int oldRelative = priv->relative;
|
||||||
int topscreen = dmxBackendFindOverlapping(priv, screen, x, y);
|
int topscreen = dmxBackendFindOverlapping(priv, screen, x, y);
|
||||||
|
@ -354,7 +354,8 @@ void dmxBackendCollectEvents(DevicePtr pDev,
|
||||||
switch (X.type) {
|
switch (X.type) {
|
||||||
case EnterNotify:
|
case EnterNotify:
|
||||||
dmxCommonSaveState(priv);
|
dmxCommonSaveState(priv);
|
||||||
if (entered++) continue;
|
if (entered++)
|
||||||
|
continue;
|
||||||
priv->entered = 1;
|
priv->entered = 1;
|
||||||
ignoreLeave = 1;
|
ignoreLeave = 1;
|
||||||
DMXDBG5("dmxBackendCollectEvents: Enter %lu %d,%d; GRAB %s %p\n",
|
DMXDBG5("dmxBackendCollectEvents: Enter %lu %d,%d; GRAB %s %p\n",
|
||||||
|
@ -378,7 +379,8 @@ void dmxBackendCollectEvents(DevicePtr pDev,
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
dmxCommonRestoreState(priv);
|
dmxCommonRestoreState(priv);
|
||||||
if (left++) continue;
|
if (left++)
|
||||||
|
continue;
|
||||||
DMXDBG7("dmxBackendCollectEvents: Leave %lu %d,%d %d %d %s %s\n",
|
DMXDBG7("dmxBackendCollectEvents: Leave %lu %d,%d %d %d %s %s\n",
|
||||||
X.xcrossing.root, X.xcrossing.x, X.xcrossing.y,
|
X.xcrossing.root, X.xcrossing.x, X.xcrossing.y,
|
||||||
X.xcrossing.detail, X.xcrossing.focus,
|
X.xcrossing.detail, X.xcrossing.focus,
|
||||||
|
@ -398,7 +400,8 @@ void dmxBackendCollectEvents(DevicePtr pDev,
|
||||||
priv->newscreen,
|
priv->newscreen,
|
||||||
X.xmotion.x, X.xmotion.y,
|
X.xmotion.x, X.xmotion.y,
|
||||||
entered, priv->lastX, priv->lastY);
|
entered, priv->lastX, priv->lastY);
|
||||||
if (dmxBackendPendingMotionEvent(priv, TRUE)) continue;
|
if (dmxBackendPendingMotionEvent(priv, TRUE))
|
||||||
|
continue;
|
||||||
if (!(dmxScreen = dmxBackendFindWindow(priv, X.xmotion.window)))
|
if (!(dmxScreen = dmxBackendFindWindow(priv, X.xmotion.window)))
|
||||||
dmxLog(dmxFatal,
|
dmxLog(dmxFatal,
|
||||||
" Event on non-existant window %lu\n",
|
" Event on non-existant window %lu\n",
|
||||||
|
@ -449,6 +452,9 @@ void dmxBackendCollectEvents(DevicePtr pDev,
|
||||||
case KeyRelease:
|
case KeyRelease:
|
||||||
enqueue(priv->kbd, X.type, X.xkey.keycode, 0, NULL, block);
|
enqueue(priv->kbd, X.type, X.xkey.keycode, 0, NULL, block);
|
||||||
break;
|
break;
|
||||||
|
case ButtonPress:
|
||||||
|
case ButtonRelease:
|
||||||
|
/* fall-through */
|
||||||
default:
|
default:
|
||||||
/* Pass the whole event here, because
|
/* Pass the whole event here, because
|
||||||
* this may be an extension event. */
|
* this may be an extension event. */
|
||||||
|
@ -571,12 +577,16 @@ void dmxBackendInit(DevicePtr pDev)
|
||||||
/** Get information about the backend pointer (for initialization). */
|
/** Get information about the backend pointer (for initialization). */
|
||||||
void dmxBackendMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info)
|
void dmxBackendMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info)
|
||||||
{
|
{
|
||||||
|
const DMXScreenInfo *dmxScreen = dmxBackendInitPrivate(pDev);
|
||||||
|
|
||||||
info->buttonClass = 1;
|
info->buttonClass = 1;
|
||||||
dmxCommonMouGetMap(pDev, info->map, &info->numButtons);
|
dmxCommonMouGetMap(pDev, info->map, &info->numButtons);
|
||||||
info->valuatorClass = 1;
|
info->valuatorClass = 1;
|
||||||
info->numRelAxes = 2;
|
info->numRelAxes = 2;
|
||||||
info->minval[0] = 0;
|
info->minval[0] = 0;
|
||||||
info->maxval[0] = 0;
|
info->minval[1] = 0;
|
||||||
|
info->maxval[0] = dmxScreen->beWidth;
|
||||||
|
info->maxval[1] = dmxScreen->beHeight;
|
||||||
info->res[0] = 1;
|
info->res[0] = 1;
|
||||||
info->minres[0] = 0;
|
info->minres[0] = 0;
|
||||||
info->maxres[0] = 1;
|
info->maxres[0] = 1;
|
||||||
|
|
|
@ -241,13 +241,15 @@ void dmxCommonKbdGetMap(DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap)
|
||||||
|
|
||||||
/* Compute pModMap */
|
/* Compute pModMap */
|
||||||
modifier_mapping = XGetModifierMapping(priv->display);
|
modifier_mapping = XGetModifierMapping(priv->display);
|
||||||
for (i = 0; i < MAP_LENGTH; i++) pModMap[i] = 0;
|
for (i = 0; i < MAP_LENGTH; i++)
|
||||||
|
pModMap[i] = 0;
|
||||||
for (j = 0; j < 8; j++) {
|
for (j = 0; j < 8; j++) {
|
||||||
int max_keypermod = modifier_mapping->max_keypermod;
|
int max_keypermod = modifier_mapping->max_keypermod;
|
||||||
|
|
||||||
for (i = 0; i < max_keypermod; i++) {
|
for (i = 0; i < max_keypermod; i++) {
|
||||||
CARD8 keycode = modifier_mapping->modifiermap[j*max_keypermod + i];
|
CARD8 keycode = modifier_mapping->modifiermap[j*max_keypermod + i];
|
||||||
if (keycode) pModMap[keycode] |= 1 << j;
|
if (keycode)
|
||||||
|
pModMap[keycode] |= 1 << j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
XFreeModifiermap(modifier_mapping);
|
XFreeModifiermap(modifier_mapping);
|
||||||
|
@ -611,6 +613,7 @@ void dmxCommonSaveState(pointer private)
|
||||||
&priv->dmxLocal->kctrl);
|
&priv->dmxLocal->kctrl);
|
||||||
|
|
||||||
priv->savedModMap = XGetModifierMapping(priv->display);
|
priv->savedModMap = XGetModifierMapping(priv->display);
|
||||||
|
|
||||||
modmap = XNewModifiermap(0);
|
modmap = XNewModifiermap(0);
|
||||||
XSetModifierMapping(priv->display, modmap);
|
XSetModifierMapping(priv->display, modmap);
|
||||||
if (dmxInput->scrnIdx != -1)
|
if (dmxInput->scrnIdx != -1)
|
||||||
|
@ -627,8 +630,10 @@ void dmxCommonRestoreState(pointer private)
|
||||||
int retcode = -1;
|
int retcode = -1;
|
||||||
CARD32 start;
|
CARD32 start;
|
||||||
|
|
||||||
if (dmxInput->console) priv = dmxInput->devs[0]->private;
|
if (dmxInput->console)
|
||||||
if (!priv->stateSaved) return;
|
priv = dmxInput->devs[0]->private;
|
||||||
|
if (!priv->stateSaved)
|
||||||
|
return;
|
||||||
priv->stateSaved = 0;
|
priv->stateSaved = 0;
|
||||||
|
|
||||||
DMXDBG0("dmxCommonRestoreState\n");
|
DMXDBG0("dmxCommonRestoreState\n");
|
||||||
|
@ -645,7 +650,8 @@ void dmxCommonRestoreState(pointer private)
|
||||||
CARD32 tmp;
|
CARD32 tmp;
|
||||||
|
|
||||||
retcode = XSetModifierMapping(priv->display, priv->savedModMap);
|
retcode = XSetModifierMapping(priv->display, priv->savedModMap);
|
||||||
if (retcode == MappingSuccess) break;
|
if (retcode == MappingSuccess)
|
||||||
|
break;
|
||||||
if (retcode == MappingBusy)
|
if (retcode == MappingBusy)
|
||||||
dmxLogInput(dmxInput, "Keyboard busy, waiting\n");
|
dmxLogInput(dmxInput, "Keyboard busy, waiting\n");
|
||||||
else
|
else
|
||||||
|
|
|
@ -860,12 +860,17 @@ void dmxConsoleInit(DevicePtr pDev)
|
||||||
* for pointers. */
|
* for pointers. */
|
||||||
void dmxConsoleMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info)
|
void dmxConsoleMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info)
|
||||||
{
|
{
|
||||||
|
GETPRIVFROMPDEV;
|
||||||
|
|
||||||
info->buttonClass = 1;
|
info->buttonClass = 1;
|
||||||
dmxCommonMouGetMap(pDev, info->map, &info->numButtons);
|
dmxCommonMouGetMap(pDev, info->map, &info->numButtons);
|
||||||
info->valuatorClass = 1;
|
info->valuatorClass = 1;
|
||||||
info->numRelAxes = 2;
|
info->numRelAxes = 2;
|
||||||
info->minval[0] = 0;
|
info->minval[0] = 0;
|
||||||
info->maxval[0] = 0;
|
info->minval[1] = 0;
|
||||||
|
/* max possible console window size: */
|
||||||
|
info->maxval[0] = DisplayWidth(priv->display, DefaultScreen(priv->display));
|
||||||
|
info->maxval[1] = DisplayHeight(priv->display, DefaultScreen(priv->display));
|
||||||
info->res[0] = 1;
|
info->res[0] = 1;
|
||||||
info->minres[0] = 0;
|
info->minres[0] = 0;
|
||||||
info->maxres[0] = 1;
|
info->maxres[0] = 1;
|
||||||
|
|
|
@ -79,7 +79,9 @@ void dmxDummyMouGetInfo(DevicePtr pDev, DMXLocalInitInfoPtr info)
|
||||||
info->valuatorClass = 1;
|
info->valuatorClass = 1;
|
||||||
info->numRelAxes = 2;
|
info->numRelAxes = 2;
|
||||||
info->minval[0] = 0;
|
info->minval[0] = 0;
|
||||||
|
info->minval[1] = 0;
|
||||||
info->maxval[0] = 0;
|
info->maxval[0] = 0;
|
||||||
|
info->maxval[1] = 0;
|
||||||
info->res[0] = 1;
|
info->res[0] = 1;
|
||||||
info->minres[0] = 0;
|
info->minres[0] = 0;
|
||||||
info->maxres[0] = 1;
|
info->maxres[0] = 1;
|
||||||
|
|
|
@ -56,6 +56,7 @@
|
||||||
#include "opaque.h"
|
#include "opaque.h"
|
||||||
#include "inputstr.h"
|
#include "inputstr.h"
|
||||||
#include "mipointer.h"
|
#include "mipointer.h"
|
||||||
|
#include "mi.h"
|
||||||
|
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
#include "XIstubs.h"
|
#include "XIstubs.h"
|
||||||
|
@ -103,6 +104,24 @@ static int dmxCheckFunctionKeys(DMXLocalInputInfoPtr dmxLocal,
|
||||||
DMXInputInfo *dmxInput = &dmxInputs[dmxLocal->inputIdx];
|
DMXInputInfo *dmxInput = &dmxInputs[dmxLocal->inputIdx];
|
||||||
unsigned short state = 0;
|
unsigned short state = 0;
|
||||||
|
|
||||||
|
#if 1 /* hack to detect ctrl-alt-q, etc */
|
||||||
|
static int ctrl = 0, alt = 0;
|
||||||
|
/* keep track of ctrl/alt key status */
|
||||||
|
if (type == KeyPress && keySym == 0xffe3) {
|
||||||
|
ctrl = 1;
|
||||||
|
}
|
||||||
|
else if (type == KeyRelease && keySym == 0xffe3) {
|
||||||
|
ctrl = 0;
|
||||||
|
}
|
||||||
|
else if (type == KeyPress && keySym == 0xffe9) {
|
||||||
|
alt = 1;
|
||||||
|
}
|
||||||
|
else if (type == KeyRelease && keySym == 0xffe9) {
|
||||||
|
alt = 0;
|
||||||
|
}
|
||||||
|
if (!ctrl || !alt)
|
||||||
|
return 0;
|
||||||
|
#else
|
||||||
if (dmxLocal->sendsCore)
|
if (dmxLocal->sendsCore)
|
||||||
state = dmxLocalCoreKeyboard->pDevice->key->state;
|
state = dmxLocalCoreKeyboard->pDevice->key->state;
|
||||||
else if (dmxLocal->pDevice->key)
|
else if (dmxLocal->pDevice->key)
|
||||||
|
@ -111,7 +130,9 @@ static int dmxCheckFunctionKeys(DMXLocalInputInfoPtr dmxLocal,
|
||||||
DMXDBG3("dmxCheckFunctionKeys: keySym=0x%04x %s state=0x%04x\n",
|
DMXDBG3("dmxCheckFunctionKeys: keySym=0x%04x %s state=0x%04x\n",
|
||||||
keySym, type == KeyPress ? "press" : "release", state);
|
keySym, type == KeyPress ? "press" : "release", state);
|
||||||
|
|
||||||
if ((state & (ControlMask|Mod1Mask)) != (ControlMask|Mod1Mask)) return 0;
|
if ((state & (ControlMask|Mod1Mask)) != (ControlMask|Mod1Mask))
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
switch (keySym) {
|
switch (keySym) {
|
||||||
case XK_g:
|
case XK_g:
|
||||||
|
@ -146,16 +167,25 @@ static void dmxEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xEvent *e,
|
||||||
int type = e->u.u.type;
|
int type = e->u.u.type;
|
||||||
|
|
||||||
switch (e->u.u.type) {
|
switch (e->u.u.type) {
|
||||||
case KeyPress: type = DeviceKeyPress; break;
|
case KeyPress:
|
||||||
case KeyRelease: type = DeviceKeyRelease; break;
|
type = DeviceKeyPress;
|
||||||
case ButtonPress: type = DeviceButtonPress; break;
|
break;
|
||||||
case ButtonRelease: type = DeviceButtonRelease; break;
|
case KeyRelease:
|
||||||
|
type = DeviceKeyRelease;
|
||||||
|
break;
|
||||||
|
case ButtonPress:
|
||||||
|
type = DeviceButtonPress;
|
||||||
|
break;
|
||||||
|
case ButtonRelease:
|
||||||
|
type = DeviceButtonRelease;
|
||||||
|
break;
|
||||||
case MotionNotify:
|
case MotionNotify:
|
||||||
dmxLog(dmxError,
|
dmxLog(dmxError,
|
||||||
"dmxEnqueueExtEvent: MotionNotify not allowed here\n");
|
"dmxEnqueueExtEvent: MotionNotify not allowed here\n");
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
if (e->u.u.type == ProximityIn || e->u.u.type == ProximityOut) break;
|
if (e->u.u.type == ProximityIn || e->u.u.type == ProximityOut)
|
||||||
|
break;
|
||||||
dmxLogInput(dmxInput,
|
dmxLogInput(dmxInput,
|
||||||
"dmxEnqueueExtEvent: Unhandled %s event (%d)\n",
|
"dmxEnqueueExtEvent: Unhandled %s event (%d)\n",
|
||||||
e->u.u.type >= LASTEvent ? "extension" : "non-extension",
|
e->u.u.type >= LASTEvent ? "extension" : "non-extension",
|
||||||
|
@ -173,9 +203,11 @@ static void dmxEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal, xEvent *e,
|
||||||
xv->num_valuators = 0;
|
xv->num_valuators = 0;
|
||||||
xv->first_valuator = 0;
|
xv->first_valuator = 0;
|
||||||
|
|
||||||
if (block) dmxSigioBlock();
|
if (block)
|
||||||
|
dmxSigioBlock();
|
||||||
dmxeqEnqueue(xE);
|
dmxeqEnqueue(xE);
|
||||||
if (block) dmxSigioUnblock();
|
if (block)
|
||||||
|
dmxSigioUnblock();
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -185,12 +217,36 @@ DMXScreenInfo *dmxFindFirstScreen(int x, int y)
|
||||||
|
|
||||||
for (i = 0; i < dmxNumScreens; i++) {
|
for (i = 0; i < dmxNumScreens; i++) {
|
||||||
DMXScreenInfo *dmxScreen = &dmxScreens[i];
|
DMXScreenInfo *dmxScreen = &dmxScreens[i];
|
||||||
if (dmxOnScreen(x, y, dmxScreen)) return dmxScreen;
|
if (dmxOnScreen(x, y, dmxScreen))
|
||||||
|
return dmxScreen;
|
||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void dmxCoreMotion(int x, int y, int delta, DMXBlockType block)
|
|
||||||
|
/**
|
||||||
|
* Enqueue a motion event.
|
||||||
|
*/
|
||||||
|
static void enqueueMotion(DevicePtr pDev, int x, int y)
|
||||||
|
{
|
||||||
|
GETDMXLOCALFROMPDEV;
|
||||||
|
DeviceIntPtr p = dmxLocal->pDevice;
|
||||||
|
int i, nevents, valuators[3];
|
||||||
|
xEvent *events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum());
|
||||||
|
int detail = 0; /* XXX should this be mask of pressed buttons? */
|
||||||
|
valuators[0] = x;
|
||||||
|
valuators[1] = y;
|
||||||
|
nevents = GetPointerEvents(events, p, MotionNotify, detail,
|
||||||
|
POINTER_ABSOLUTE, 0, 2, valuators);
|
||||||
|
for (i = 0; i < nevents; i++)
|
||||||
|
mieqEnqueue(p, events + i);
|
||||||
|
xfree(events);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
dmxCoreMotion(DevicePtr pDev, int x, int y, int delta, DMXBlockType block)
|
||||||
{
|
{
|
||||||
DMXScreenInfo *dmxScreen;
|
DMXScreenInfo *dmxScreen;
|
||||||
DMXInputInfo *dmxInput;
|
DMXInputInfo *dmxInput;
|
||||||
|
@ -199,7 +255,8 @@ void dmxCoreMotion(int x, int y, int delta, DMXBlockType block)
|
||||||
int localY;
|
int localY;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!dmxGlobalInvalid && dmxGlobalX == x && dmxGlobalY == y) return;
|
if (!dmxGlobalInvalid && dmxGlobalX == x && dmxGlobalY == y)
|
||||||
|
return;
|
||||||
|
|
||||||
DMXDBG5("dmxCoreMotion(%d,%d,%d) dmxGlobalX=%d dmxGlobalY=%d\n",
|
DMXDBG5("dmxCoreMotion(%d,%d,%d) dmxGlobalX=%d dmxGlobalY=%d\n",
|
||||||
x, y, delta, dmxGlobalX, dmxGlobalY);
|
x, y, delta, dmxGlobalX, dmxGlobalY);
|
||||||
|
@ -208,47 +265,61 @@ void dmxCoreMotion(int x, int y, int delta, DMXBlockType block)
|
||||||
dmxGlobalX = x;
|
dmxGlobalX = x;
|
||||||
dmxGlobalY = y;
|
dmxGlobalY = y;
|
||||||
|
|
||||||
if (dmxGlobalX < 0) dmxGlobalX = 0;
|
if (dmxGlobalX < 0)
|
||||||
if (dmxGlobalY < 0) dmxGlobalY = 0;
|
dmxGlobalX = 0;
|
||||||
if (dmxGlobalX >= dmxGlobalWidth) dmxGlobalX = dmxGlobalWidth + delta -1;
|
if (dmxGlobalY < 0)
|
||||||
if (dmxGlobalY >= dmxGlobalHeight) dmxGlobalY = dmxGlobalHeight + delta -1;
|
dmxGlobalY = 0;
|
||||||
|
if (dmxGlobalX >= dmxGlobalWidth)
|
||||||
|
dmxGlobalX = dmxGlobalWidth + delta -1;
|
||||||
|
if (dmxGlobalY >= dmxGlobalHeight)
|
||||||
|
dmxGlobalY = dmxGlobalHeight + delta -1;
|
||||||
|
|
||||||
if ((dmxScreen = dmxFindFirstScreen(dmxGlobalX, dmxGlobalY))) {
|
if ((dmxScreen = dmxFindFirstScreen(dmxGlobalX, dmxGlobalY))) {
|
||||||
localX = dmxGlobalX - dmxScreen->rootXOrigin;
|
localX = dmxGlobalX - dmxScreen->rootXOrigin;
|
||||||
localY = dmxGlobalY - dmxScreen->rootYOrigin;
|
localY = dmxGlobalY - dmxScreen->rootYOrigin;
|
||||||
if ((pScreen = miPointerCurrentScreen())
|
if ((pScreen = miPointerGetScreen(inputInfo.pointer))
|
||||||
&& pScreen->myNum == dmxScreen->index) {
|
&& pScreen->myNum == dmxScreen->index) {
|
||||||
/* Screen is old screen */
|
/* Screen is old screen */
|
||||||
if (block) dmxSigioBlock();
|
if (block)
|
||||||
miPointerAbsoluteCursor(localX, localY, GetTimeInMillis());
|
dmxSigioBlock();
|
||||||
if (block) dmxSigioUnblock();
|
if (pDev)
|
||||||
|
enqueueMotion(pDev, localX, localY);
|
||||||
|
if (block)
|
||||||
|
dmxSigioUnblock();
|
||||||
} else {
|
} else {
|
||||||
/* Screen is new */
|
/* Screen is new */
|
||||||
DMXDBG4(" New screen: old=%d new=%d localX=%d localY=%d\n",
|
DMXDBG4(" New screen: old=%d new=%d localX=%d localY=%d\n",
|
||||||
pScreen->myNum, dmxScreen->index, localX, localY);
|
pScreen->myNum, dmxScreen->index, localX, localY);
|
||||||
if (block) dmxSigioBlock();
|
if (block)
|
||||||
|
dmxSigioBlock();
|
||||||
dmxeqProcessInputEvents();
|
dmxeqProcessInputEvents();
|
||||||
miPointerSetNewScreen(dmxScreen->index, localX, localY);
|
miPointerSetScreen(inputInfo.pointer, dmxScreen->index,
|
||||||
miPointerAbsoluteCursor(localX, localY, GetTimeInMillis());
|
localX, localY);
|
||||||
if (block) dmxSigioUnblock();
|
if (pDev)
|
||||||
|
enqueueMotion(pDev, localX, localY);
|
||||||
|
if (block)
|
||||||
|
dmxSigioUnblock();
|
||||||
}
|
}
|
||||||
miPointerPosition(&localX, &localY);
|
#if 00
|
||||||
|
miPointerGetPosition(inputInfo.pointer, &localX, &localY);
|
||||||
|
|
||||||
if ((pScreen = miPointerCurrentScreen())) {
|
if ((pScreen = miPointerGetScreen(inputInfo.pointer))) {
|
||||||
dmxGlobalX = localX + dmxScreens[pScreen->myNum].rootXOrigin;
|
dmxGlobalX = localX + dmxScreens[pScreen->myNum].rootXOrigin;
|
||||||
dmxGlobalY = localY + dmxScreens[pScreen->myNum].rootYOrigin;
|
dmxGlobalY = localY + dmxScreens[pScreen->myNum].rootYOrigin;
|
||||||
|
ErrorF("Global is now %d, %d %d, %d\n", dmxGlobalX, dmxGlobalY,
|
||||||
|
localX, localY);
|
||||||
DMXDBG6(" Moved to dmxGlobalX=%d dmxGlobalY=%d"
|
DMXDBG6(" Moved to dmxGlobalX=%d dmxGlobalY=%d"
|
||||||
" on screen index=%d/%d localX=%d localY=%d\n",
|
" on screen index=%d/%d localX=%d localY=%d\n",
|
||||||
dmxGlobalX, dmxGlobalY,
|
dmxGlobalX, dmxGlobalY,
|
||||||
dmxScreen ? dmxScreen->index : -1, pScreen->myNum,
|
dmxScreen ? dmxScreen->index : -1, pScreen->myNum,
|
||||||
localX, localY);
|
localX, localY);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
/* Send updates down to all core input
|
/* Send updates down to all core input
|
||||||
* drivers */
|
* drivers */
|
||||||
for (i = 0, dmxInput = &dmxInputs[0]; i < dmxNumInputs; i++, dmxInput++) {
|
for (i = 0, dmxInput = &dmxInputs[0]; i < dmxNumInputs; i++, dmxInput++) {
|
||||||
int j;
|
int j;
|
||||||
|
|
||||||
for (j = 0; j < dmxInput->numDevs; j += dmxInput->devs[j]->binding)
|
for (j = 0; j < dmxInput->numDevs; j += dmxInput->devs[j]->binding)
|
||||||
if (!dmxInput->detached
|
if (!dmxInput->detached
|
||||||
&& dmxInput->devs[j]->sendsCore
|
&& dmxInput->devs[j]->sendsCore
|
||||||
|
@ -259,6 +330,8 @@ void dmxCoreMotion(int x, int y, int delta, DMXBlockType block)
|
||||||
if (!dmxScreen) ProcessInputEvents();
|
if (!dmxScreen) ProcessInputEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
#define DMX_MAX_AXES 32 /* Max axes reported by this routine */
|
#define DMX_MAX_AXES 32 /* Max axes reported by this routine */
|
||||||
static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal,
|
static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal,
|
||||||
|
@ -349,10 +422,12 @@ static void dmxExtMotion(DMXLocalInputInfoPtr dmxLocal,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (block) dmxSigioBlock();
|
if (block)
|
||||||
|
dmxSigioBlock();
|
||||||
dmxPointerPutMotionEvent(pDevice, firstAxis, axesCount, v, xev->time);
|
dmxPointerPutMotionEvent(pDevice, firstAxis, axesCount, v, xev->time);
|
||||||
dmxeqEnqueue(xE);
|
dmxeqEnqueue(xE);
|
||||||
if (block) dmxSigioUnblock();
|
if (block)
|
||||||
|
dmxSigioUnblock();
|
||||||
}
|
}
|
||||||
|
|
||||||
static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
|
static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
|
||||||
|
@ -366,7 +441,8 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
|
||||||
XDeviceKeyEvent *ke = (XDeviceKeyEvent *)e;
|
XDeviceKeyEvent *ke = (XDeviceKeyEvent *)e;
|
||||||
XDeviceMotionEvent *me = (XDeviceMotionEvent *)e;
|
XDeviceMotionEvent *me = (XDeviceMotionEvent *)e;
|
||||||
|
|
||||||
if (!e) return -1; /* No extended event passed, cannot handle */
|
if (!e)
|
||||||
|
return -1; /* No extended event passed, cannot handle */
|
||||||
|
|
||||||
if ((XID)dmxLocal->deviceId != ke->deviceid) {
|
if ((XID)dmxLocal->deviceId != ke->deviceid) {
|
||||||
/* Search for the correct dmxLocal,
|
/* Search for the correct dmxLocal,
|
||||||
|
@ -377,7 +453,8 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
|
||||||
DMXInputInfo *dmxInput = &dmxInputs[dmxLocal->inputIdx];
|
DMXInputInfo *dmxInput = &dmxInputs[dmxLocal->inputIdx];
|
||||||
for (i = 0; i < dmxInput->numDevs; i++) {
|
for (i = 0; i < dmxInput->numDevs; i++) {
|
||||||
dmxLocal = dmxInput->devs[i];
|
dmxLocal = dmxInput->devs[i];
|
||||||
if ((XID)dmxLocal->deviceId == ke->deviceid) break;
|
if ((XID)dmxLocal->deviceId == ke->deviceid)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -426,9 +503,11 @@ static int dmxTranslateAndEnqueueExtEvent(DMXLocalInputInfoPtr dmxLocal,
|
||||||
xv->valuator4 = ke->axis_data[4];
|
xv->valuator4 = ke->axis_data[4];
|
||||||
xv->valuator5 = ke->axis_data[5];
|
xv->valuator5 = ke->axis_data[5];
|
||||||
|
|
||||||
if (block) dmxSigioBlock();
|
if (block)
|
||||||
|
dmxSigioBlock();
|
||||||
dmxeqEnqueue(xE);
|
dmxeqEnqueue(xE);
|
||||||
if (block) dmxSigioUnblock();
|
if (block)
|
||||||
|
dmxSigioUnblock();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case XI_DeviceMotionNotify:
|
case XI_DeviceMotionNotify:
|
||||||
|
@ -508,12 +587,18 @@ void dmxMotion(DevicePtr pDev, int *v, int firstAxes, int axesCount,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if (axesCount == 2) switch (type) {
|
if (axesCount == 2) {
|
||||||
case DMX_RELATIVE: dmxCoreMotion(dmxGlobalX - v[0],
|
switch (type) {
|
||||||
dmxGlobalY - v[1],
|
case DMX_RELATIVE:
|
||||||
0, block); break;
|
dmxCoreMotion(pDev, dmxGlobalX - v[0], dmxGlobalY - v[1], 0, block);
|
||||||
case DMX_ABSOLUTE: dmxCoreMotion(v[0], v[1], 0, block); break;
|
break;
|
||||||
case DMX_ABSOLUTE_CONFINED: dmxCoreMotion(v[0], v[1], -1, block); break;
|
case DMX_ABSOLUTE:
|
||||||
|
dmxCoreMotion(pDev, v[0], v[1], 0, block);
|
||||||
|
break;
|
||||||
|
case DMX_ABSOLUTE_CONFINED:
|
||||||
|
dmxCoreMotion(pDev, v[0], v[1], -1, block);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -525,7 +610,8 @@ static KeySym dmxKeyCodeToKeySym(DMXLocalInputInfoPtr dmxLocal,
|
||||||
if (!dmxLocal || !dmxLocal->pDevice || !dmxLocal->pDevice->key)
|
if (!dmxLocal || !dmxLocal->pDevice || !dmxLocal->pDevice->key)
|
||||||
return NoSymbol;
|
return NoSymbol;
|
||||||
pKeySyms = &dmxLocal->pDevice->key->curKeySyms;
|
pKeySyms = &dmxLocal->pDevice->key->curKeySyms;
|
||||||
if (!pKeySyms) return NoSymbol;
|
if (!pKeySyms)
|
||||||
|
return NoSymbol;
|
||||||
|
|
||||||
if (keyCode > pKeySyms->minKeyCode && keyCode <= pKeySyms->maxKeyCode) {
|
if (keyCode > pKeySyms->minKeyCode && keyCode <= pKeySyms->maxKeyCode) {
|
||||||
DMXDBG2("dmxKeyCodeToKeySym: Translated keyCode=%d to keySym=0x%04x\n",
|
DMXDBG2("dmxKeyCodeToKeySym: Translated keyCode=%d to keySym=0x%04x\n",
|
||||||
|
@ -574,14 +660,16 @@ static int dmxFixup(DevicePtr pDev, int detail, KeySym keySym)
|
||||||
dmxLocal->pDevice->name);
|
dmxLocal->pDevice->name);
|
||||||
return NoSymbol;
|
return NoSymbol;
|
||||||
}
|
}
|
||||||
if (!keySym) keySym = dmxKeyCodeToKeySym(dmxLocal, detail);
|
if (!keySym)
|
||||||
if (keySym == NoSymbol) return detail;
|
keySym = dmxKeyCodeToKeySym(dmxLocal, detail);
|
||||||
|
if (keySym == NoSymbol)
|
||||||
|
return detail;
|
||||||
keyCode = dmxKeySymToKeyCode(dmxLocalCoreKeyboard, keySym, detail);
|
keyCode = dmxKeySymToKeyCode(dmxLocalCoreKeyboard, keySym, detail);
|
||||||
|
|
||||||
return keyCode ? keyCode : detail;
|
return keyCode ? keyCode : detail;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Enqueue a non-motion event from the \a pDev device with the
|
/** Enqueue an event from the \a pDev device with the
|
||||||
* specified \a type and \a detail. If the event is a KeyPress or
|
* specified \a type and \a detail. If the event is a KeyPress or
|
||||||
* KeyRelease event, then the \a keySym is also specified.
|
* KeyRelease event, then the \a keySym is also specified.
|
||||||
*
|
*
|
||||||
|
@ -593,29 +681,56 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
|
||||||
{
|
{
|
||||||
GETDMXINPUTFROMPDEV;
|
GETDMXINPUTFROMPDEV;
|
||||||
xEvent xE;
|
xEvent xE;
|
||||||
|
DeviceIntPtr p = dmxLocal->pDevice;
|
||||||
|
int i, nevents, valuators[3];
|
||||||
|
xEvent *events;
|
||||||
|
|
||||||
DMXDBG2("dmxEnqueue: Enqueuing type=%d detail=0x%0x\n", type, detail);
|
DMXDBG2("dmxEnqueue: Enqueuing type=%d detail=0x%0x\n", type, detail);
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case KeyPress:
|
case KeyPress:
|
||||||
case KeyRelease:
|
case KeyRelease:
|
||||||
if (!keySym) keySym = dmxKeyCodeToKeySym(dmxLocal, detail);
|
if (!keySym)
|
||||||
|
keySym = dmxKeyCodeToKeySym(dmxLocal, detail);
|
||||||
if (dmxCheckFunctionKeys(dmxLocal, type, keySym))
|
if (dmxCheckFunctionKeys(dmxLocal, type, keySym))
|
||||||
return;
|
return;
|
||||||
if (dmxLocal->sendsCore && dmxLocal != dmxLocalCoreKeyboard)
|
if (dmxLocal->sendsCore && dmxLocal != dmxLocalCoreKeyboard)
|
||||||
xE.u.u.detail = dmxFixup(pDev, detail, keySym);
|
xE.u.u.detail = dmxFixup(pDev, detail, keySym);
|
||||||
break;
|
|
||||||
|
events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum());
|
||||||
|
/*ErrorF("KEY %d sym %d\n", detail, (int) keySym);*/
|
||||||
|
nevents = GetKeyboardEvents(events, p, type, detail);
|
||||||
|
for (i = 0; i < nevents; i++)
|
||||||
|
mieqEnqueue(p, events + i);
|
||||||
|
xfree(events);
|
||||||
|
return;
|
||||||
|
|
||||||
case ButtonPress:
|
case ButtonPress:
|
||||||
case ButtonRelease:
|
case ButtonRelease:
|
||||||
detail = dmxGetButtonMapping(dmxLocal, detail);
|
detail = dmxGetButtonMapping(dmxLocal, detail);
|
||||||
break;
|
events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum());
|
||||||
|
nevents = GetPointerEvents(events, p, type, detail,
|
||||||
|
POINTER_ABSOLUTE,
|
||||||
|
0, /* first_valuator = 0 */
|
||||||
|
0, /* num_valuators = 0 */
|
||||||
|
valuators);
|
||||||
|
for (i = 0; i < nevents; i++)
|
||||||
|
mieqEnqueue(p, events + i);
|
||||||
|
xfree(events);
|
||||||
|
return;
|
||||||
|
|
||||||
case MotionNotify:
|
case MotionNotify:
|
||||||
/* All MotionNotify events should be sent via dmxCoreMotion and
|
events = Xcalloc(sizeof(xEvent), GetMaximumEventsNum());
|
||||||
* dmxExtMotion -- no input driver should build motion events by
|
valuators[0] = e->xmotion.x;
|
||||||
* hand. */
|
valuators[1] = e->xmotion.y;
|
||||||
dmxLog(dmxError, "dmxEnqueueXEvent: MotionNotify not allowed here\n");
|
valuators[2] = e->xmotion.state;
|
||||||
break;
|
nevents = GetPointerEvents(events, p, type, detail,
|
||||||
/* Always ignore these events */
|
POINTER_ABSOLUTE, 0, 3, valuators);
|
||||||
|
for (i = 0; i < nevents; i++)
|
||||||
|
mieqEnqueue(p, events + i);
|
||||||
|
xfree(events);
|
||||||
|
return;
|
||||||
|
|
||||||
case EnterNotify:
|
case EnterNotify:
|
||||||
case LeaveNotify:
|
case LeaveNotify:
|
||||||
case KeymapNotify:
|
case KeymapNotify:
|
||||||
|
@ -627,7 +742,8 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
|
||||||
default:
|
default:
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
if (type == ProximityIn || type == ProximityOut) {
|
if (type == ProximityIn || type == ProximityOut) {
|
||||||
if (dmxLocal->sendsCore) return; /* Not a core event */
|
if (dmxLocal->sendsCore)
|
||||||
|
return; /* Not a core event */
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -643,16 +759,19 @@ void dmxEnqueue(DevicePtr pDev, int type, int detail, KeySym keySym,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 00 /* dead code? */
|
||||||
memset(&xE, 0, sizeof(xE));
|
memset(&xE, 0, sizeof(xE));
|
||||||
xE.u.u.type = type;
|
xE.u.u.type = type;
|
||||||
xE.u.u.detail = detail;
|
xE.u.u.detail = detail;
|
||||||
xE.u.keyButtonPointer.time = GetTimeInMillis();
|
xE.u.keyButtonPointer.time = GetTimeInMillis();
|
||||||
|
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
if (!dmxLocal->sendsCore) dmxEnqueueExtEvent(dmxLocal, &xE, block);
|
if (!dmxLocal->sendsCore)
|
||||||
|
dmxEnqueueExtEvent(dmxLocal, &xE, block);
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
dmxeqEnqueue(&xE);
|
dmxeqEnqueue(&xE);
|
||||||
|
#endif /*00*/
|
||||||
}
|
}
|
||||||
|
|
||||||
/** A pointer to this routine is passed to low-level input drivers so
|
/** A pointer to this routine is passed to low-level input drivers so
|
||||||
|
|
|
@ -72,6 +72,7 @@
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
#include "mipointer.h"
|
#include "mipointer.h"
|
||||||
#include "windowstr.h"
|
#include "windowstr.h"
|
||||||
|
#include "mi.h"
|
||||||
|
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
#include <X11/extensions/XI.h>
|
#include <X11/extensions/XI.h>
|
||||||
|
@ -222,6 +223,57 @@ static DMXLocalInputInfoRec DMXLocalDevices[] = {
|
||||||
{ NULL } /* Must be last */
|
{ NULL } /* Must be last */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#if 11 /*BP*/
|
||||||
|
void
|
||||||
|
DDXRingBell(int volume, int pitch, int duration)
|
||||||
|
{
|
||||||
|
/* NO-OP */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* taken from kdrive/src/kinput.c: */
|
||||||
|
static void
|
||||||
|
dmxKbdCtrl (DeviceIntPtr pDevice, KeybdCtrl *ctrl)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
KdKeyboardInfo *ki;
|
||||||
|
|
||||||
|
for (ki = kdKeyboards; ki; ki = ki->next) {
|
||||||
|
if (ki->dixdev && ki->dixdev->id == pDevice->id)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ki || !ki->dixdev || ki->dixdev->id != pDevice->id || !ki->driver)
|
||||||
|
return;
|
||||||
|
|
||||||
|
KdSetLeds(ki, ctrl->leds);
|
||||||
|
ki->bellPitch = ctrl->bell_pitch;
|
||||||
|
ki->bellDuration = ctrl->bell_duration;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* taken from kdrive/src/kinput.c: */
|
||||||
|
static void
|
||||||
|
dmxBell(int volume, DeviceIntPtr pDev, pointer arg, int something)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
KeybdCtrl *ctrl = arg;
|
||||||
|
KdKeyboardInfo *ki = NULL;
|
||||||
|
|
||||||
|
for (ki = kdKeyboards; ki; ki = ki->next) {
|
||||||
|
if (ki->dixdev && ki->dixdev->id == pDev->id)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!ki || !ki->dixdev || ki->dixdev->id != pDev->id || !ki->driver)
|
||||||
|
return;
|
||||||
|
|
||||||
|
KdRingBell(ki, volume, ctrl->bell_pitch, ctrl->bell_duration);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /*BP*/
|
||||||
|
|
||||||
static void _dmxChangePointerControl(DMXLocalInputInfoPtr dmxLocal,
|
static void _dmxChangePointerControl(DMXLocalInputInfoPtr dmxLocal,
|
||||||
PtrCtrl *ctrl)
|
PtrCtrl *ctrl)
|
||||||
{
|
{
|
||||||
|
@ -420,14 +472,24 @@ static int dmxDeviceOnOff(DeviceIntPtr pDevice, int what)
|
||||||
memset(&info, 0, sizeof(info));
|
memset(&info, 0, sizeof(info));
|
||||||
switch (what) {
|
switch (what) {
|
||||||
case DEVICE_INIT:
|
case DEVICE_INIT:
|
||||||
if (dmxLocal->init) dmxLocal->init(pDev);
|
if (dmxLocal->init)
|
||||||
if (dmxLocal->get_info) dmxLocal->get_info(pDev, &info);
|
dmxLocal->init(pDev);
|
||||||
|
if (dmxLocal->get_info)
|
||||||
|
dmxLocal->get_info(pDev, &info);
|
||||||
if (info.keyboard) { /* XKEYBOARD makes this a special case */
|
if (info.keyboard) { /* XKEYBOARD makes this a special case */
|
||||||
dmxKeyboardOn(pDevice, &info);
|
dmxKeyboardOn(pDevice, &info);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (info.keyClass) {
|
if (info.keyClass) {
|
||||||
|
#if 00 /*BP*/
|
||||||
InitKeyClassDeviceStruct(pDevice, &info.keySyms, info.modMap);
|
InitKeyClassDeviceStruct(pDevice, &info.keySyms, info.modMap);
|
||||||
|
#else
|
||||||
|
DevicePtr pDev = (DevicePtr) pDevice;
|
||||||
|
InitKeyboardDeviceStruct(pDev,
|
||||||
|
&info.keySyms,
|
||||||
|
info.modMap,
|
||||||
|
dmxBell, dmxKbdCtrl);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (info.buttonClass) {
|
if (info.buttonClass) {
|
||||||
InitButtonClassDeviceStruct(pDevice, info.numButtons, info.map);
|
InitButtonClassDeviceStruct(pDevice, info.numButtons, info.map);
|
||||||
|
@ -435,8 +497,13 @@ static int dmxDeviceOnOff(DeviceIntPtr pDevice, int what)
|
||||||
if (info.valuatorClass) {
|
if (info.valuatorClass) {
|
||||||
if (info.numRelAxes && dmxLocal->sendsCore) {
|
if (info.numRelAxes && dmxLocal->sendsCore) {
|
||||||
InitValuatorClassDeviceStruct(pDevice, info.numRelAxes,
|
InitValuatorClassDeviceStruct(pDevice, info.numRelAxes,
|
||||||
|
#if 00 /*BP*/
|
||||||
miPointerGetMotionEvents,
|
miPointerGetMotionEvents,
|
||||||
miPointerGetMotionBufferSize(),
|
miPointerGetMotionBufferSize(),
|
||||||
|
#else
|
||||||
|
GetMotionHistory,
|
||||||
|
GetMaximumEventsNum(),
|
||||||
|
#endif
|
||||||
Relative);
|
Relative);
|
||||||
#ifdef XINPUT
|
#ifdef XINPUT
|
||||||
for (i = 0; i < info.numRelAxes; i++)
|
for (i = 0; i < info.numRelAxes; i++)
|
||||||
|
@ -521,13 +588,24 @@ static void dmxProcessInputEvents(DMXInputInfo *dmxInput)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
dmxeqProcessInputEvents();
|
dmxeqProcessInputEvents();
|
||||||
|
#if 00 /*BP*/
|
||||||
miPointerUpdate();
|
miPointerUpdate();
|
||||||
if (dmxInput->detached) return;
|
#endif
|
||||||
|
if (dmxInput->detached)
|
||||||
|
return;
|
||||||
for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding)
|
for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding)
|
||||||
if (dmxInput->devs[i]->process_input)
|
if (dmxInput->devs[i]->process_input) {
|
||||||
|
#if 11 /*BP*/
|
||||||
|
miPointerUpdateSprite(dmxInput->devs[i]->pDevice);
|
||||||
|
#endif
|
||||||
dmxInput->devs[i]->process_input(dmxInput->devs[i]->private);
|
dmxInput->devs[i]->process_input(dmxInput->devs[i]->private);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 11 /*BP*/
|
||||||
|
mieqProcessInputEvents();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static void dmxUpdateWindowInformation(DMXInputInfo *dmxInput,
|
static void dmxUpdateWindowInformation(DMXInputInfo *dmxInput,
|
||||||
DMXUpdateType type,
|
DMXUpdateType type,
|
||||||
WindowPtr pWindow)
|
WindowPtr pWindow)
|
||||||
|
@ -553,7 +631,8 @@ static void dmxUpdateWindowInformation(DMXInputInfo *dmxInput,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (dmxInput->detached) return;
|
if (dmxInput->detached)
|
||||||
|
return;
|
||||||
for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding)
|
for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding)
|
||||||
if (dmxInput->devs[i]->update_info)
|
if (dmxInput->devs[i]->update_info)
|
||||||
dmxInput->devs[i]->update_info(dmxInput->devs[i]->private,
|
dmxInput->devs[i]->update_info(dmxInput->devs[i]->private,
|
||||||
|
@ -564,7 +643,8 @@ static void dmxCollectAll(DMXInputInfo *dmxInput)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (dmxInput->detached) return;
|
if (dmxInput->detached)
|
||||||
|
return;
|
||||||
for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding)
|
for (i = 0; i < dmxInput->numDevs; i += dmxInput->devs[i]->binding)
|
||||||
if (dmxInput->devs[i]->collect_events)
|
if (dmxInput->devs[i]->collect_events)
|
||||||
dmxInput->devs[i]->collect_events(&dmxInput->devs[i]
|
dmxInput->devs[i]->collect_events(&dmxInput->devs[i]
|
||||||
|
@ -661,7 +741,8 @@ static DeviceIntPtr dmxAddDevice(DMXLocalInputInfoPtr dmxLocal)
|
||||||
char *devname;
|
char *devname;
|
||||||
DMXInputInfo *dmxInput;
|
DMXInputInfo *dmxInput;
|
||||||
|
|
||||||
if (!dmxLocal) return NULL;
|
if (!dmxLocal)
|
||||||
|
return NULL;
|
||||||
dmxInput = &dmxInputs[dmxLocal->inputIdx];
|
dmxInput = &dmxInputs[dmxLocal->inputIdx];
|
||||||
|
|
||||||
if (dmxLocal->sendsCore) {
|
if (dmxLocal->sendsCore) {
|
||||||
|
@ -710,8 +791,13 @@ static DeviceIntPtr dmxAddDevice(DMXLocalInputInfoPtr dmxLocal)
|
||||||
|
|
||||||
registerProcPtr(pDevice);
|
registerProcPtr(pDevice);
|
||||||
|
|
||||||
if (dmxLocal->isCore && dmxLocal->type == DMX_LOCAL_MOUSE)
|
if (dmxLocal->isCore && dmxLocal->type == DMX_LOCAL_MOUSE) {
|
||||||
|
#if 00 /*BP*/
|
||||||
miRegisterPointerDevice(screenInfo.screens[0], pDevice);
|
miRegisterPointerDevice(screenInfo.screens[0], pDevice);
|
||||||
|
#else
|
||||||
|
/* Nothing? dmxDeviceOnOff() should get called to init, right? */
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
if (dmxLocal->create_private)
|
if (dmxLocal->create_private)
|
||||||
dmxLocal->private = dmxLocal->create_private(pDevice);
|
dmxLocal->private = dmxLocal->create_private(pDevice);
|
||||||
|
|
|
@ -99,9 +99,13 @@ int ChangePointerDevice(DeviceIntPtr old_dev,
|
||||||
}
|
}
|
||||||
dmxLocalNew->savedMotionProc = new_dev->valuator->GetMotionProc;
|
dmxLocalNew->savedMotionProc = new_dev->valuator->GetMotionProc;
|
||||||
dmxLocalNew->savedMotionEvents = new_dev->valuator->numMotionEvents;
|
dmxLocalNew->savedMotionEvents = new_dev->valuator->numMotionEvents;
|
||||||
|
#if 00 /*BP*/
|
||||||
new_dev->valuator->GetMotionProc = miPointerGetMotionEvents;
|
new_dev->valuator->GetMotionProc = miPointerGetMotionEvents;
|
||||||
new_dev->valuator->numMotionEvents = miPointerGetMotionBufferSize();
|
new_dev->valuator->numMotionEvents = miPointerGetMotionBufferSize();
|
||||||
|
#else
|
||||||
|
new_dev->valuator->GetMotionProc = GetMotionHistory;
|
||||||
|
new_dev->valuator->numMotionEvents = GetMaximumEventsNum();
|
||||||
|
#endif
|
||||||
/* Switch our notion of core pointer */
|
/* Switch our notion of core pointer */
|
||||||
dmxLocalOld->isCore = 0;
|
dmxLocalOld->isCore = 0;
|
||||||
dmxLocalOld->sendsCore = dmxLocalOld->savedSendsCore;
|
dmxLocalOld->sendsCore = dmxLocalOld->savedSendsCore;
|
||||||
|
|
|
@ -164,7 +164,9 @@
|
||||||
#include <sys/kd.h>
|
#include <sys/kd.h>
|
||||||
#include <termios.h>
|
#include <termios.h>
|
||||||
#include "atKeynames.h"
|
#include "atKeynames.h"
|
||||||
|
#if 00
|
||||||
#include "xf86Keymap.h"
|
#include "xf86Keymap.h"
|
||||||
|
#endif
|
||||||
#include <linux/keyboard.h>
|
#include <linux/keyboard.h>
|
||||||
|
|
||||||
#define NUM_AT2LNX (sizeof(at2lnx) / sizeof(at2lnx[0]))
|
#define NUM_AT2LNX (sizeof(at2lnx) / sizeof(at2lnx[0]))
|
||||||
|
@ -800,7 +802,12 @@ static void kbdLinuxReadKernelMapping(int fd, KeySymsPtr pKeySyms)
|
||||||
tbl[2] = 8; /* alt */
|
tbl[2] = 8; /* alt */
|
||||||
tbl[3] = tbl[2] | 1;
|
tbl[3] = tbl[2] | 1;
|
||||||
|
|
||||||
|
#if 00/*BP*/
|
||||||
k = map+GLYPHS_PER_KEY;
|
k = map+GLYPHS_PER_KEY;
|
||||||
|
#else
|
||||||
|
ErrorF("kbdLinuxReadKernelMapping() is broken/no-op'd\n");
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
maxkey = NUM_AT2LNX;
|
maxkey = NUM_AT2LNX;
|
||||||
|
|
||||||
for (i = 0; i < maxkey; ++i) {
|
for (i = 0; i < maxkey; ++i) {
|
||||||
|
@ -927,8 +934,13 @@ static void kbdLinuxGetMap(DevicePtr pDev, KeySymsPtr pKeySyms, CARD8 *pModMap)
|
||||||
char type;
|
char type;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
#if 00/*BP*/
|
||||||
mapCopy = xalloc(sizeof(map));
|
mapCopy = xalloc(sizeof(map));
|
||||||
memcpy(mapCopy, map, sizeof(map));
|
memcpy(mapCopy, map, sizeof(map));
|
||||||
|
#else
|
||||||
|
ErrorF("kbdLinuxGetMap() is broken/no-op'd\n");
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
kbdLinuxReadKernelMapping(priv->fd, pKeySyms);
|
kbdLinuxReadKernelMapping(priv->fd, pKeySyms);
|
||||||
|
|
||||||
|
|
|
@ -788,7 +788,7 @@ ATIPseudoDMAInit(ScreenPtr pScreen)
|
||||||
atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) &
|
atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) &
|
||||||
R200_CSQ_CNT_PRIMARY_MASK;
|
R200_CSQ_CNT_PRIMARY_MASK;
|
||||||
MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, RADEON_ME_MODE_FREE_RUN);
|
MMIO_OUT32(mmio, RADEON_REG_ME_CNTL, RADEON_ME_MODE_FREE_RUN);
|
||||||
} if (atic->is_radeon) {
|
} else if (atic->is_radeon) {
|
||||||
MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL,
|
MMIO_OUT32(mmio, RADEON_REG_CP_CSQ_CNTL,
|
||||||
RADEON_CSQ_PRIPIO_INDDIS);
|
RADEON_CSQ_PRIPIO_INDDIS);
|
||||||
atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) &
|
atis->cce_pri_size = MMIO_IN32(mmio, RADEON_REG_CP_CSQ_CNTL) &
|
||||||
|
|
|
@ -14,8 +14,8 @@ SRCS = InitInput.c \
|
||||||
$(top_srcdir)/Xi/stubs.c \
|
$(top_srcdir)/Xi/stubs.c \
|
||||||
$(top_srcdir)/mi/miinitext.c
|
$(top_srcdir)/mi/miinitext.c
|
||||||
|
|
||||||
libfbcmap_a_CFLAGS = $(AM_CFLAGS) -DXFree86Server
|
libfbcmap_a_CFLAGS = $(AM_CFLAGS)
|
||||||
libfbcmap_a_SOURCES = $(top_srcdir)/fb/fbcmap.c
|
libfbcmap_a_SOURCES = $(top_srcdir)/fb/fbcmap_mi.c
|
||||||
|
|
||||||
Xvfb_SOURCES = $(SRCS)
|
Xvfb_SOURCES = $(SRCS)
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ typedef enum {
|
||||||
* mask is 0xFFFF0000.
|
* mask is 0xFFFF0000.
|
||||||
*/
|
*/
|
||||||
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 3)
|
#define ABI_ANSIC_VERSION SET_ABI_VERSION(0, 3)
|
||||||
#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(1, 2)
|
#define ABI_VIDEODRV_VERSION SET_ABI_VERSION(2, 0)
|
||||||
#define ABI_XINPUT_VERSION SET_ABI_VERSION(1, 0)
|
#define ABI_XINPUT_VERSION SET_ABI_VERSION(1, 0)
|
||||||
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(0, 3)
|
#define ABI_EXTENSION_VERSION SET_ABI_VERSION(0, 3)
|
||||||
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 5)
|
#define ABI_FONT_VERSION SET_ABI_VERSION(0, 5)
|
||||||
|
|
|
@ -75,13 +75,13 @@ libdbe_la_SOURCES = dbemodule.c
|
||||||
|
|
||||||
libfb_la_LDFLAGS = -avoid-version
|
libfb_la_LDFLAGS = -avoid-version
|
||||||
libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
|
libfb_la_LIBADD = $(top_builddir)/fb/libfb.la
|
||||||
libfb_la_SOURCES = $(top_builddir)/fb/fbcmap.c fbmodule.c
|
libfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
|
||||||
libfb_la_CFLAGS = -DXFree86Server $(AM_CFLAGS)
|
libfb_la_CFLAGS = $(AM_CFLAGS)
|
||||||
|
|
||||||
libwfb_la_LDFLAGS = -avoid-version
|
libwfb_la_LDFLAGS = -avoid-version
|
||||||
libwfb_la_LIBADD = $(top_builddir)/fb/libwfb.la
|
libwfb_la_LIBADD = $(top_builddir)/fb/libwfb.la
|
||||||
libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap.c fbmodule.c
|
libwfb_la_SOURCES = $(top_builddir)/fb/fbcmap_mi.c fbmodule.c
|
||||||
libwfb_la_CFLAGS = -DXFree86Server $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
|
libwfb_la_CFLAGS = $(AM_CFLAGS) -DFB_ACCESS_WRAPPER
|
||||||
|
|
||||||
libglx_la_LDFLAGS = -avoid-version
|
libglx_la_LDFLAGS = -avoid-version
|
||||||
if AIGLX
|
if AIGLX
|
||||||
|
|
|
@ -958,6 +958,10 @@ the driver-specific documentation recommends it.
|
||||||
This optional entry specifies the pixel clock frequency that is used
|
This optional entry specifies the pixel clock frequency that is used
|
||||||
for the regular text mode. The frequency is specified in MHz. This is
|
for the regular text mode. The frequency is specified in MHz. This is
|
||||||
rarely used.
|
rarely used.
|
||||||
|
.TP 7
|
||||||
|
.BI "Option \*qModeDebug\*q \*q" boolean \*q
|
||||||
|
Enable printing of additional debugging information about modesetting to
|
||||||
|
the server log.
|
||||||
.ig
|
.ig
|
||||||
.TP 7
|
.TP 7
|
||||||
This optional entry allows an IRQ number to be specified.
|
This optional entry allows an IRQ number to be specified.
|
||||||
|
|
|
@ -377,6 +377,15 @@ static OptionInfoRec xf86OutputOptions[] = {
|
||||||
{-1, NULL, OPTV_NONE, {0}, FALSE },
|
{-1, NULL, OPTV_NONE, {0}, FALSE },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
OPTION_MODEDEBUG,
|
||||||
|
};
|
||||||
|
|
||||||
|
static OptionInfoRec xf86DeviceOptions[] = {
|
||||||
|
{OPTION_MODEDEBUG, "ModeDebug", OPTV_STRING, {0}, FALSE },
|
||||||
|
{-1, NULL, OPTV_NONE, {0}, FALSE },
|
||||||
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
xf86OutputSetMonitor (xf86OutputPtr output)
|
xf86OutputSetMonitor (xf86OutputPtr output)
|
||||||
{
|
{
|
||||||
|
@ -589,7 +598,6 @@ xf86CrtcCloseScreen (int index, ScreenPtr screen)
|
||||||
{
|
{
|
||||||
xf86OutputPtr output = config->output[o];
|
xf86OutputPtr output = config->output[o];
|
||||||
|
|
||||||
output->crtc = NULL;
|
|
||||||
output->randr_output = NULL;
|
output->randr_output = NULL;
|
||||||
}
|
}
|
||||||
for (c = 0; c < config->num_crtc; c++)
|
for (c = 0; c < config->num_crtc; c++)
|
||||||
|
@ -1160,8 +1168,6 @@ xf86SortModes (DisplayModePtr input)
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define DEBUG_REPROBE 1
|
|
||||||
|
|
||||||
void
|
void
|
||||||
xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
{
|
{
|
||||||
|
@ -1330,7 +1336,8 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
if (mode->status == MODE_OK)
|
if (mode->status == MODE_OK)
|
||||||
mode->status = (*output->funcs->mode_valid)(output, mode);
|
mode->status = (*output->funcs->mode_valid)(output, mode);
|
||||||
|
|
||||||
xf86PruneInvalidModes(scrn, &output->probed_modes, TRUE);
|
xf86PruneInvalidModes(scrn, &output->probed_modes,
|
||||||
|
config->debug_modes);
|
||||||
|
|
||||||
output->probed_modes = xf86SortModes (output->probed_modes);
|
output->probed_modes = xf86SortModes (output->probed_modes);
|
||||||
|
|
||||||
|
@ -1363,7 +1370,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
|
|
||||||
output->initial_rotation = xf86OutputInitialRotation (output);
|
output->initial_rotation = xf86OutputInitialRotation (output);
|
||||||
|
|
||||||
#ifdef DEBUG_REPROBE
|
if (config->debug_modes) {
|
||||||
if (output->probed_modes != NULL) {
|
if (output->probed_modes != NULL) {
|
||||||
xf86DrvMsg(scrn->scrnIndex, X_INFO,
|
xf86DrvMsg(scrn->scrnIndex, X_INFO,
|
||||||
"Printing probed modes for output %s\n",
|
"Printing probed modes for output %s\n",
|
||||||
|
@ -1373,7 +1380,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
"No remaining probed modes for output %s\n",
|
"No remaining probed modes for output %s\n",
|
||||||
output->name);
|
output->name);
|
||||||
}
|
}
|
||||||
#endif
|
}
|
||||||
for (mode = output->probed_modes; mode != NULL; mode = mode->next)
|
for (mode = output->probed_modes; mode != NULL; mode = mode->next)
|
||||||
{
|
{
|
||||||
/* The code to choose the best mode per pipe later on will require
|
/* The code to choose the best mode per pipe later on will require
|
||||||
|
@ -1382,9 +1389,8 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, int maxX, int maxY)
|
||||||
mode->VRefresh = xf86ModeVRefresh(mode);
|
mode->VRefresh = xf86ModeVRefresh(mode);
|
||||||
xf86SetModeCrtc(mode, INTERLACE_HALVE_V);
|
xf86SetModeCrtc(mode, INTERLACE_HALVE_V);
|
||||||
|
|
||||||
#ifdef DEBUG_REPROBE
|
if (config->debug_modes)
|
||||||
xf86PrintModeline(scrn->scrnIndex, mode);
|
xf86PrintModeline(scrn->scrnIndex, mode);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1479,6 +1485,15 @@ xf86InitialConfiguration (ScrnInfoPtr scrn, Bool canGrow)
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
|
|
||||||
|
/* Set up the device options */
|
||||||
|
config->options = xnfalloc (sizeof (xf86DeviceOptions));
|
||||||
|
memcpy (config->options, xf86DeviceOptions, sizeof (xf86DeviceOptions));
|
||||||
|
xf86ProcessOptions (scrn->scrnIndex,
|
||||||
|
scrn->options,
|
||||||
|
config->options);
|
||||||
|
config->debug_modes = xf86ReturnOptValBool (config->options,
|
||||||
|
OPTION_MODEDEBUG, FALSE);
|
||||||
|
|
||||||
if (scrn->display->virtualX)
|
if (scrn->display->virtualX)
|
||||||
width = scrn->display->virtualX;
|
width = scrn->display->virtualX;
|
||||||
else
|
else
|
||||||
|
@ -1962,9 +1977,11 @@ xf86OutputSetEDID (xf86OutputPtr output, xf86MonPtr edid_mon)
|
||||||
|
|
||||||
output->MonInfo = edid_mon;
|
output->MonInfo = edid_mon;
|
||||||
|
|
||||||
/* Debug info for now, at least */
|
if (config->debug_modes) {
|
||||||
xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n", output->name);
|
xf86DrvMsg(scrn->scrnIndex, X_INFO, "EDID for output %s\n",
|
||||||
|
output->name);
|
||||||
xf86PrintEDID(edid_mon);
|
xf86PrintEDID(edid_mon);
|
||||||
|
}
|
||||||
|
|
||||||
/* Set the DDC properties for the 'compat' output */
|
/* Set the DDC properties for the 'compat' output */
|
||||||
if (output == config->output[config->compat_output])
|
if (output == config->output[config->compat_output])
|
||||||
|
|
|
@ -552,6 +552,13 @@ typedef struct _xf86CrtcConfig {
|
||||||
CARD8 *cursor_image;
|
CARD8 *cursor_image;
|
||||||
Bool cursor_on;
|
Bool cursor_on;
|
||||||
CARD32 cursor_fg, cursor_bg;
|
CARD32 cursor_fg, cursor_bg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Options parsed from the related device section
|
||||||
|
*/
|
||||||
|
OptionInfoPtr options;
|
||||||
|
|
||||||
|
Bool debug_modes;
|
||||||
} xf86CrtcConfigRec, *xf86CrtcConfigPtr;
|
} xf86CrtcConfigRec, *xf86CrtcConfigPtr;
|
||||||
|
|
||||||
extern int xf86CrtcConfigPrivateIndex;
|
extern int xf86CrtcConfigPrivateIndex;
|
||||||
|
|
|
@ -45,8 +45,8 @@ SRCS = Args.c \
|
||||||
$(top_srcdir)/Xi/stubs.c \
|
$(top_srcdir)/Xi/stubs.c \
|
||||||
$(top_srcdir)/mi/miinitext.c
|
$(top_srcdir)/mi/miinitext.c
|
||||||
|
|
||||||
libfbcmap_a_SOURCES = $(top_srcdir)/fb/fbcmap.c
|
libfbcmap_a_SOURCES = $(top_srcdir)/fb/fbcmap_mi.c
|
||||||
libfbcmap_a_CFLAGS = $(AM_CFLAGS) -DXFree86Server
|
libfbcmap_a_CFLAGS = $(AM_CFLAGS)
|
||||||
|
|
||||||
Xnest_SOURCES = $(SRCS)
|
Xnest_SOURCES = $(SRCS)
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,6 @@ Xprt_SOURCES = \
|
||||||
Util.c \
|
Util.c \
|
||||||
miinitext-wrapper.c \
|
miinitext-wrapper.c \
|
||||||
dpmsstubs-wrapper.c \
|
dpmsstubs-wrapper.c \
|
||||||
$(top_srcdir)/fb/fbcmap.c
|
$(top_srcdir)/fb/fbcmap_mi.c
|
||||||
|
|
||||||
EXTRA_DIST = ValTree.c
|
EXTRA_DIST = ValTree.c
|
||||||
|
|
|
@ -89,6 +89,12 @@ InitOutput(
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
DDXRingBell(int volume, int pitch, int duration)
|
||||||
|
{
|
||||||
|
/* dummy func; link fails without */
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
BellProc(
|
BellProc(
|
||||||
int volume,
|
int volume,
|
||||||
|
|
|
@ -117,10 +117,18 @@ RRDeliverScreenEvent (ClientPtr client, WindowPtr pWin, ScreenPtr pScreen)
|
||||||
se.sequenceNumber = client->sequence;
|
se.sequenceNumber = client->sequence;
|
||||||
se.sizeID = RR10CurrentSizeID (pScreen);
|
se.sizeID = RR10CurrentSizeID (pScreen);
|
||||||
|
|
||||||
|
if (se.rotation & (RR_Rotate_90 | RR_Rotate_270)) {
|
||||||
|
se.widthInPixels = pScreen->height;
|
||||||
|
se.heightInPixels = pScreen->width;
|
||||||
|
se.widthInMillimeters = pScreen->mmHeight;
|
||||||
|
se.heightInMillimeters = pScreen->mmWidth;
|
||||||
|
} else {
|
||||||
se.widthInPixels = pScreen->width;
|
se.widthInPixels = pScreen->width;
|
||||||
se.heightInPixels = pScreen->height;
|
se.heightInPixels = pScreen->height;
|
||||||
se.widthInMillimeters = pScreen->mmWidth;
|
se.widthInMillimeters = pScreen->mmWidth;
|
||||||
se.heightInMillimeters = pScreen->mmHeight;
|
se.heightInMillimeters = pScreen->mmHeight;
|
||||||
|
}
|
||||||
|
|
||||||
WriteEventsToClient (client, 1, (xEvent *) &se);
|
WriteEventsToClient (client, 1, (xEvent *) &se);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue