xfake: Remove
We already have Xvfb for a dummy DDX. Signed-off-by: Adam Jackson <ajax@redhat.com> Acked-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
		
							parent
							
								
									3dad57b121
								
							
						
					
					
						commit
						35fbcb3f99
					
				| 
						 | 
				
			
			@ -659,7 +659,6 @@ AC_ARG_ENABLE(glamor,         AS_HELP_STRING([--enable-glamor], [Build glamor di
 | 
			
		|||
dnl kdrive and its subsystems
 | 
			
		||||
AC_ARG_ENABLE(kdrive,         AS_HELP_STRING([--enable-kdrive], [Build kdrive servers (default: no)]), [KDRIVE=$enableval], [KDRIVE=no])
 | 
			
		||||
AC_ARG_ENABLE(xephyr,         AS_HELP_STRING([--enable-xephyr], [Build the kdrive Xephyr server (default: auto)]), [XEPHYR=$enableval], [XEPHYR=auto])
 | 
			
		||||
AC_ARG_ENABLE(xfake,          AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto])
 | 
			
		||||
AC_ARG_ENABLE(xfbdev,         AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto])
 | 
			
		||||
dnl kdrive options
 | 
			
		||||
AC_ARG_ENABLE(kdrive-evdev,   AS_HELP_STRING([--enable-kdrive-evdev], [Build evdev driver for kdrive (default: auto)]), [KDRIVE_EVDEV=$enableval], [KDRIVE_EVDEV=auto])
 | 
			
		||||
| 
						 | 
				
			
			@ -2475,7 +2474,6 @@ AM_CONDITIONAL(TSLIB, [test "x$HAVE_TSLIB" = xyes])
 | 
			
		|||
AM_CONDITIONAL(KDRIVEFBDEV, [test "x$XFBDEV" = xyes])
 | 
			
		||||
AM_CONDITIONAL(XEPHYR, [test "x$KDRIVE" = xyes && test "x$XEPHYR" = xyes])
 | 
			
		||||
AM_CONDITIONAL(BUILD_KDRIVEFBDEVLIB, [test "x$KDRIVE" = xyes && test "x$KDRIVEFBDEVLIB" = xyes])
 | 
			
		||||
AM_CONDITIONAL(XFAKESERVER, [test "x$KDRIVE" = xyes && test "x$XFAKE" = xyes])
 | 
			
		||||
 | 
			
		||||
dnl Xwayland DDX
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2656,7 +2654,6 @@ hw/xquartz/xpr/Makefile
 | 
			
		|||
hw/kdrive/Makefile
 | 
			
		||||
hw/kdrive/ephyr/Makefile
 | 
			
		||||
hw/kdrive/ephyr/man/Makefile
 | 
			
		||||
hw/kdrive/fake/Makefile
 | 
			
		||||
hw/kdrive/fbdev/Makefile
 | 
			
		||||
hw/kdrive/linux/Makefile
 | 
			
		||||
hw/kdrive/src/Makefile
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,10 +2,6 @@ if BUILD_KDRIVEFBDEVLIB
 | 
			
		|||
FBDEV_SUBDIRS = fbdev
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
if XFAKESERVER
 | 
			
		||||
XFAKE_SUBDIRS = fake
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
if XEPHYR
 | 
			
		||||
XEPHYR_SUBDIRS = ephyr
 | 
			
		||||
endif
 | 
			
		||||
| 
						 | 
				
			
			@ -16,15 +12,14 @@ endif
 | 
			
		|||
 | 
			
		||||
SERVER_SUBDIRS = 		\
 | 
			
		||||
	$(FBDEV_SUBDIRS)	\
 | 
			
		||||
	$(XEPHYR_SUBDIRS)       \
 | 
			
		||||
	$(XFAKE_SUBDIRS)
 | 
			
		||||
	$(XEPHYR_SUBDIRS)
 | 
			
		||||
 | 
			
		||||
SUBDIRS =			\
 | 
			
		||||
	src			\
 | 
			
		||||
	$(LINUX_SUBDIRS)	\
 | 
			
		||||
	$(SERVER_SUBDIRS)
 | 
			
		||||
 | 
			
		||||
DIST_SUBDIRS = fbdev ephyr src linux fake
 | 
			
		||||
DIST_SUBDIRS = fbdev ephyr src linux
 | 
			
		||||
 | 
			
		||||
relink:
 | 
			
		||||
	$(AM_V_at)for i in $(SERVER_SUBDIRS) ; do $(MAKE) -C $$i relink || exit 1 ; done
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,2 +0,0 @@
 | 
			
		|||
#		Add & Override for this directory and it's subdirectories
 | 
			
		||||
Xfake
 | 
			
		||||
| 
						 | 
				
			
			@ -1,31 +0,0 @@
 | 
			
		|||
AM_CPPFLAGS = 					\
 | 
			
		||||
	@KDRIVE_INCS@				\
 | 
			
		||||
	@KDRIVE_CFLAGS@
 | 
			
		||||
 | 
			
		||||
noinst_LTLIBRARIES = libfake.la
 | 
			
		||||
 | 
			
		||||
bin_PROGRAMS = Xfake
 | 
			
		||||
 | 
			
		||||
libfake_la_SOURCES =	\
 | 
			
		||||
	fake.c		\
 | 
			
		||||
	kbd.c		\
 | 
			
		||||
	os.c		\
 | 
			
		||||
	mouse.c		\
 | 
			
		||||
	fake.h
 | 
			
		||||
 | 
			
		||||
Xfake_SOURCES = \
 | 
			
		||||
	fakeinit.c
 | 
			
		||||
 | 
			
		||||
Xfake_LDADD = 						\
 | 
			
		||||
	libfake.la					\
 | 
			
		||||
	@KDRIVE_MAIN_LIB@				\
 | 
			
		||||
	@KDRIVE_LIBS@
 | 
			
		||||
 | 
			
		||||
Xfake_LDFLAGS = $(LD_EXPORT_SYMBOLS_FLAG)
 | 
			
		||||
 | 
			
		||||
Xfake_DEPENDENCIES =	\
 | 
			
		||||
	libfake.la					\
 | 
			
		||||
	@KDRIVE_LOCAL_LIBS@
 | 
			
		||||
 | 
			
		||||
relink:
 | 
			
		||||
	$(AM_V_at)rm -f $(bin_PROGRAMS) && $(MAKE) $(bin_PROGRAMS)
 | 
			
		||||
| 
						 | 
				
			
			@ -1,444 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright © 2004 Keith Packard
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of Keith Packard not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission.  Keith Packard makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL KEITH PACKARD BE LIABLE 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "fake.h"
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeInitialize(KdCardInfo * card, FakePriv * priv)
 | 
			
		||||
{
 | 
			
		||||
    priv->base = 0;
 | 
			
		||||
    priv->bytes_per_line = 0;
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeCardInit(KdCardInfo * card)
 | 
			
		||||
{
 | 
			
		||||
    FakePriv *priv;
 | 
			
		||||
 | 
			
		||||
    priv = (FakePriv *) malloc(sizeof(FakePriv));
 | 
			
		||||
    if (!priv)
 | 
			
		||||
        return FALSE;
 | 
			
		||||
 | 
			
		||||
    if (!fakeInitialize(card, priv)) {
 | 
			
		||||
        free(priv);
 | 
			
		||||
        return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
    card->driver = priv;
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeScreenInitialize(KdScreenInfo * screen, FakeScrPriv * scrpriv)
 | 
			
		||||
{
 | 
			
		||||
    if (!screen->width || !screen->height) {
 | 
			
		||||
        screen->width = 1024;
 | 
			
		||||
        screen->height = 768;
 | 
			
		||||
        screen->rate = 72;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (screen->width <= 0)
 | 
			
		||||
        screen->width = 1;
 | 
			
		||||
    if (screen->height <= 0)
 | 
			
		||||
        screen->height = 1;
 | 
			
		||||
 | 
			
		||||
    if (!screen->fb.depth)
 | 
			
		||||
        screen->fb.depth = 16;
 | 
			
		||||
 | 
			
		||||
    if (screen->fb.depth <= 8) {
 | 
			
		||||
        screen->fb.visuals = ((1 << StaticGray) |
 | 
			
		||||
                              (1 << GrayScale) |
 | 
			
		||||
                              (1 << StaticColor) |
 | 
			
		||||
                              (1 << PseudoColor) |
 | 
			
		||||
                              (1 << TrueColor) | (1 << DirectColor));
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        screen->fb.visuals = (1 << TrueColor);
 | 
			
		||||
#define Mask(o,l)   (((1 << l) - 1) << o)
 | 
			
		||||
        if (screen->fb.depth <= 15) {
 | 
			
		||||
            screen->fb.depth = 15;
 | 
			
		||||
            screen->fb.bitsPerPixel = 16;
 | 
			
		||||
            screen->fb.redMask = Mask (10, 5);
 | 
			
		||||
            screen->fb.greenMask = Mask (5, 5);
 | 
			
		||||
            screen->fb.blueMask = Mask (0, 5);
 | 
			
		||||
        }
 | 
			
		||||
        else if (screen->fb.depth <= 16) {
 | 
			
		||||
            screen->fb.depth = 16;
 | 
			
		||||
            screen->fb.bitsPerPixel = 16;
 | 
			
		||||
            screen->fb.redMask = Mask (11, 5);
 | 
			
		||||
            screen->fb.greenMask = Mask (5, 6);
 | 
			
		||||
            screen->fb.blueMask = Mask (0, 5);
 | 
			
		||||
        }
 | 
			
		||||
        else {
 | 
			
		||||
            screen->fb.depth = 24;
 | 
			
		||||
            screen->fb.bitsPerPixel = 32;
 | 
			
		||||
            screen->fb.redMask = Mask (16, 8);
 | 
			
		||||
            screen->fb.greenMask = Mask (8, 8);
 | 
			
		||||
            screen->fb.blueMask = Mask (0, 8);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    scrpriv->randr = screen->randr;
 | 
			
		||||
 | 
			
		||||
    return fakeMapFramebuffer(screen);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeScreenInit(KdScreenInfo * screen)
 | 
			
		||||
{
 | 
			
		||||
    FakeScrPriv *scrpriv;
 | 
			
		||||
 | 
			
		||||
    scrpriv = calloc(1, sizeof(FakeScrPriv));
 | 
			
		||||
    if (!scrpriv)
 | 
			
		||||
        return FALSE;
 | 
			
		||||
    screen->driver = scrpriv;
 | 
			
		||||
    if (!fakeScreenInitialize(screen, scrpriv)) {
 | 
			
		||||
        screen->driver = 0;
 | 
			
		||||
        free(scrpriv);
 | 
			
		||||
        return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void *
 | 
			
		||||
fakeWindowLinear(ScreenPtr pScreen,
 | 
			
		||||
                 CARD32 row,
 | 
			
		||||
                 CARD32 offset, int mode, CARD32 *size, void *closure)
 | 
			
		||||
{
 | 
			
		||||
    KdScreenPriv(pScreen);
 | 
			
		||||
    FakePriv *priv = pScreenPriv->card->driver;
 | 
			
		||||
 | 
			
		||||
    if (!pScreenPriv->enabled)
 | 
			
		||||
        return 0;
 | 
			
		||||
    *size = priv->bytes_per_line;
 | 
			
		||||
    return priv->base + row * priv->bytes_per_line;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeMapFramebuffer(KdScreenInfo * screen)
 | 
			
		||||
{
 | 
			
		||||
    FakeScrPriv *scrpriv = screen->driver;
 | 
			
		||||
    KdPointerMatrix m;
 | 
			
		||||
    FakePriv *priv = screen->card->driver;
 | 
			
		||||
 | 
			
		||||
    if (scrpriv->randr != RR_Rotate_0)
 | 
			
		||||
        scrpriv->shadow = TRUE;
 | 
			
		||||
    else
 | 
			
		||||
        scrpriv->shadow = FALSE;
 | 
			
		||||
 | 
			
		||||
    KdComputePointerMatrix(&m, scrpriv->randr, screen->width, screen->height);
 | 
			
		||||
 | 
			
		||||
    KdSetPointerMatrix(&m);
 | 
			
		||||
 | 
			
		||||
    priv->bytes_per_line =
 | 
			
		||||
        ((screen->width * screen->fb.bitsPerPixel + 31) >> 5) << 2;
 | 
			
		||||
    free(priv->base);
 | 
			
		||||
    priv->base = xallocarray(priv->bytes_per_line, screen->height);
 | 
			
		||||
 | 
			
		||||
    if (scrpriv->shadow) {
 | 
			
		||||
        if (!KdShadowFbAlloc
 | 
			
		||||
            (screen, scrpriv->randr & (RR_Rotate_90 | RR_Rotate_270)))
 | 
			
		||||
            return FALSE;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        screen->fb.byteStride = priv->bytes_per_line;
 | 
			
		||||
        screen->fb.pixelStride = (priv->bytes_per_line * 8 /
 | 
			
		||||
                                  screen->fb.bitsPerPixel);
 | 
			
		||||
        screen->fb.frameBuffer = (CARD8 *) (priv->base);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakeSetScreenSizes(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    KdScreenPriv(pScreen);
 | 
			
		||||
    KdScreenInfo *screen = pScreenPriv->screen;
 | 
			
		||||
    FakeScrPriv *scrpriv = screen->driver;
 | 
			
		||||
 | 
			
		||||
    if (scrpriv->randr & (RR_Rotate_0 | RR_Rotate_180)) {
 | 
			
		||||
        pScreen->width = screen->width;
 | 
			
		||||
        pScreen->height = screen->height;
 | 
			
		||||
        pScreen->mmWidth = screen->width_mm;
 | 
			
		||||
        pScreen->mmHeight = screen->height_mm;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        pScreen->width = screen->width;
 | 
			
		||||
        pScreen->height = screen->height;
 | 
			
		||||
        pScreen->mmWidth = screen->height_mm;
 | 
			
		||||
        pScreen->mmHeight = screen->width_mm;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeUnmapFramebuffer(KdScreenInfo * screen)
 | 
			
		||||
{
 | 
			
		||||
    FakePriv *priv = screen->card->driver;
 | 
			
		||||
 | 
			
		||||
    KdShadowFbFree(screen);
 | 
			
		||||
    free(priv->base);
 | 
			
		||||
    priv->base = NULL;
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeSetShadow(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    KdScreenPriv(pScreen);
 | 
			
		||||
    KdScreenInfo *screen = pScreenPriv->screen;
 | 
			
		||||
    FakeScrPriv *scrpriv = screen->driver;
 | 
			
		||||
    ShadowUpdateProc update;
 | 
			
		||||
    ShadowWindowProc window;
 | 
			
		||||
 | 
			
		||||
    window = fakeWindowLinear;
 | 
			
		||||
    update = 0;
 | 
			
		||||
    if (scrpriv->randr)
 | 
			
		||||
        update = shadowUpdateRotatePacked;
 | 
			
		||||
    else
 | 
			
		||||
        update = shadowUpdatePacked;
 | 
			
		||||
    return KdShadowSet(pScreen, scrpriv->randr, update, window);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef RANDR
 | 
			
		||||
Bool
 | 
			
		||||
fakeRandRGetInfo(ScreenPtr pScreen, Rotation * rotations)
 | 
			
		||||
{
 | 
			
		||||
    KdScreenPriv(pScreen);
 | 
			
		||||
    KdScreenInfo *screen = pScreenPriv->screen;
 | 
			
		||||
    FakeScrPriv *scrpriv = screen->driver;
 | 
			
		||||
    RRScreenSizePtr pSize;
 | 
			
		||||
    Rotation randr;
 | 
			
		||||
    int n;
 | 
			
		||||
 | 
			
		||||
    *rotations = RR_Rotate_All | RR_Reflect_All;
 | 
			
		||||
 | 
			
		||||
    for (n = 0; n < pScreen->numDepths; n++)
 | 
			
		||||
        if (pScreen->allowedDepths[n].numVids)
 | 
			
		||||
            break;
 | 
			
		||||
    if (n == pScreen->numDepths)
 | 
			
		||||
        return FALSE;
 | 
			
		||||
 | 
			
		||||
    pSize = RRRegisterSize(pScreen,
 | 
			
		||||
                           screen->width,
 | 
			
		||||
                           screen->height, screen->width_mm, screen->height_mm);
 | 
			
		||||
 | 
			
		||||
    randr = KdSubRotation(scrpriv->randr, screen->randr);
 | 
			
		||||
 | 
			
		||||
    RRSetCurrentConfig(pScreen, randr, 0, pSize);
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeRandRSetConfig(ScreenPtr pScreen,
 | 
			
		||||
                   Rotation randr, int rate, RRScreenSizePtr pSize)
 | 
			
		||||
{
 | 
			
		||||
    KdScreenPriv(pScreen);
 | 
			
		||||
    KdScreenInfo *screen = pScreenPriv->screen;
 | 
			
		||||
    FakeScrPriv *scrpriv = screen->driver;
 | 
			
		||||
    Bool wasEnabled = pScreenPriv->enabled;
 | 
			
		||||
    FakeScrPriv oldscr;
 | 
			
		||||
    int oldwidth;
 | 
			
		||||
    int oldheight;
 | 
			
		||||
    int oldmmwidth;
 | 
			
		||||
    int oldmmheight;
 | 
			
		||||
    int newwidth, newheight;
 | 
			
		||||
 | 
			
		||||
    if (screen->randr & (RR_Rotate_0 | RR_Rotate_180)) {
 | 
			
		||||
        newwidth = pSize->width;
 | 
			
		||||
        newheight = pSize->height;
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
        newwidth = pSize->height;
 | 
			
		||||
        newheight = pSize->width;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (wasEnabled)
 | 
			
		||||
        KdDisableScreen(pScreen);
 | 
			
		||||
 | 
			
		||||
    oldscr = *scrpriv;
 | 
			
		||||
 | 
			
		||||
    oldwidth = screen->width;
 | 
			
		||||
    oldheight = screen->height;
 | 
			
		||||
    oldmmwidth = pScreen->mmWidth;
 | 
			
		||||
    oldmmheight = pScreen->mmHeight;
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * Set new configuration
 | 
			
		||||
     */
 | 
			
		||||
 | 
			
		||||
    scrpriv->randr = KdAddRotation(screen->randr, randr);
 | 
			
		||||
 | 
			
		||||
    fakeUnmapFramebuffer(screen);
 | 
			
		||||
 | 
			
		||||
    if (!fakeMapFramebuffer(screen))
 | 
			
		||||
        goto bail4;
 | 
			
		||||
 | 
			
		||||
    KdShadowUnset(screen->pScreen);
 | 
			
		||||
 | 
			
		||||
    if (!fakeSetShadow(screen->pScreen))
 | 
			
		||||
        goto bail4;
 | 
			
		||||
 | 
			
		||||
    fakeSetScreenSizes(screen->pScreen);
 | 
			
		||||
 | 
			
		||||
    /*
 | 
			
		||||
     * Set frame buffer mapping
 | 
			
		||||
     */
 | 
			
		||||
    (*pScreen->ModifyPixmapHeader) (fbGetScreenPixmap(pScreen),
 | 
			
		||||
                                    pScreen->width,
 | 
			
		||||
                                    pScreen->height,
 | 
			
		||||
                                    screen->fb.depth,
 | 
			
		||||
                                    screen->fb.bitsPerPixel,
 | 
			
		||||
                                    screen->fb.byteStride,
 | 
			
		||||
                                    screen->fb.frameBuffer);
 | 
			
		||||
 | 
			
		||||
    /* set the subpixel order */
 | 
			
		||||
 | 
			
		||||
    KdSetSubpixelOrder(pScreen, scrpriv->randr);
 | 
			
		||||
    if (wasEnabled)
 | 
			
		||||
        KdEnableScreen(pScreen);
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
 | 
			
		||||
 bail4:
 | 
			
		||||
    fakeUnmapFramebuffer(screen);
 | 
			
		||||
    *scrpriv = oldscr;
 | 
			
		||||
    (void) fakeMapFramebuffer(screen);
 | 
			
		||||
    pScreen->width = oldwidth;
 | 
			
		||||
    pScreen->height = oldheight;
 | 
			
		||||
    pScreen->mmWidth = oldmmwidth;
 | 
			
		||||
    pScreen->mmHeight = oldmmheight;
 | 
			
		||||
 | 
			
		||||
    if (wasEnabled)
 | 
			
		||||
        KdEnableScreen(pScreen);
 | 
			
		||||
    return FALSE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeRandRInit(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    rrScrPrivPtr pScrPriv;
 | 
			
		||||
 | 
			
		||||
    if (!RRScreenInit(pScreen))
 | 
			
		||||
        return FALSE;
 | 
			
		||||
 | 
			
		||||
    pScrPriv = rrGetScrPriv(pScreen);
 | 
			
		||||
    pScrPriv->rrGetInfo = fakeRandRGetInfo;
 | 
			
		||||
    pScrPriv->rrSetConfig = fakeRandRSetConfig;
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeCreateColormap(ColormapPtr pmap)
 | 
			
		||||
{
 | 
			
		||||
    return fbInitializeColormap(pmap);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeInitScreen(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    pScreen->CreateColormap = fakeCreateColormap;
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeFinishInitScreen(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    if (!shadowSetup(pScreen))
 | 
			
		||||
        return FALSE;
 | 
			
		||||
 | 
			
		||||
#ifdef RANDR
 | 
			
		||||
    if (!fakeRandRInit(pScreen))
 | 
			
		||||
        return FALSE;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeCreateResources(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    return fakeSetShadow(pScreen);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakePreserve(KdCardInfo * card)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeEnable(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
fakeDPMS(ScreenPtr pScreen, int mode)
 | 
			
		||||
{
 | 
			
		||||
    return TRUE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakeDisable(ScreenPtr pScreen)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakeRestore(KdCardInfo * card)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakeScreenFini(KdScreenInfo * screen)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakeCardFini(KdCardInfo * card)
 | 
			
		||||
{
 | 
			
		||||
    FakePriv *priv = card->driver;
 | 
			
		||||
 | 
			
		||||
    free(priv->base);
 | 
			
		||||
    free(priv);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakeGetColors(ScreenPtr pScreen, int n, xColorItem * pdefs)
 | 
			
		||||
{
 | 
			
		||||
    while (n--) {
 | 
			
		||||
        pdefs->red = 0;
 | 
			
		||||
        pdefs->green = 0;
 | 
			
		||||
        pdefs->blue = 0;
 | 
			
		||||
        pdefs++;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
fakePutColors(ScreenPtr pScreen, int n, xColorItem * pdefs)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,131 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright © 2004 Keith Packard
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of Keith Packard not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission.  Keith Packard makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL KEITH PACKARD BE LIABLE 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifndef _FBDEV_H_
 | 
			
		||||
#define _FBDEV_H_
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include "kdrive.h"
 | 
			
		||||
 | 
			
		||||
#ifdef RANDR
 | 
			
		||||
#include "randrstr.h"
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
typedef struct _fakePriv {
 | 
			
		||||
    CARD8 *base;
 | 
			
		||||
    int bytes_per_line;
 | 
			
		||||
} FakePriv;
 | 
			
		||||
 | 
			
		||||
typedef struct _fakeScrPriv {
 | 
			
		||||
    Rotation randr;
 | 
			
		||||
    Bool shadow;
 | 
			
		||||
} FakeScrPriv;
 | 
			
		||||
 | 
			
		||||
extern KdCardFuncs fakeFuncs;
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeInitialize(KdCardInfo * card, FakePriv * priv);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeCardInit(KdCardInfo * card);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeScreenInit(KdScreenInfo * screen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeScreenInitialize(KdScreenInfo * screen, FakeScrPriv * scrpriv);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeInitScreen(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeFinishInitScreen(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeCreateResources(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakePreserve(KdCardInfo * card);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeEnable(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeDPMS(ScreenPtr pScreen, int mode);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakeDisable(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakeRestore(KdCardInfo * card);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakeScreenFini(KdScreenInfo * screen);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakeCardFini(KdCardInfo * card);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakeGetColors(ScreenPtr pScreen, int n, xColorItem * pdefs);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakePutColors(ScreenPtr pScreen, int n, xColorItem * pdefs);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeMapFramebuffer(KdScreenInfo * screen);
 | 
			
		||||
 | 
			
		||||
void *fakeWindowLinear(ScreenPtr pScreen,
 | 
			
		||||
                       CARD32 row,
 | 
			
		||||
                       CARD32 offset, int mode, CARD32 *size, void *closure);
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
 fakeSetScreenSizes(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeUnmapFramebuffer(KdScreenInfo * screen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeSetShadow(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 fakeCreateColormap(ColormapPtr pmap);
 | 
			
		||||
 | 
			
		||||
#ifdef RANDR
 | 
			
		||||
Bool
 | 
			
		||||
 fakeRandRGetInfo(ScreenPtr pScreen, Rotation * rotations);
 | 
			
		||||
 | 
			
		||||
Bool
 | 
			
		||||
 | 
			
		||||
fakeRandRSetConfig(ScreenPtr pScreen,
 | 
			
		||||
                   Rotation randr, int rate, RRScreenSizePtr pSize);
 | 
			
		||||
Bool
 | 
			
		||||
 fakeRandRInit(ScreenPtr pScreen);
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
extern KdPointerDriver FakePointerDriver;
 | 
			
		||||
 | 
			
		||||
extern KdKeyboardDriver FakeKeyboardDriver;
 | 
			
		||||
 | 
			
		||||
extern KdOsFuncs FakeOsFuncs;
 | 
			
		||||
 | 
			
		||||
#endif                          /* _FBDEV_H_ */
 | 
			
		||||
| 
						 | 
				
			
			@ -1,119 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright © 2004 Keith Packard
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of Keith Packard not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission.  Keith Packard makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL KEITH PACKARD BE LIABLE 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "fake.h"
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
InitCard(char *name)
 | 
			
		||||
{
 | 
			
		||||
    KdCardInfoAdd(&fakeFuncs, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
    KdInitOutput(pScreenInfo, argc, argv);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
InitInput(int argc, char **argv)
 | 
			
		||||
{
 | 
			
		||||
    KdPointerInfo *pi;
 | 
			
		||||
    KdKeyboardInfo *ki;
 | 
			
		||||
 | 
			
		||||
    pi = KdNewPointer();
 | 
			
		||||
    if (!pi)
 | 
			
		||||
        return;
 | 
			
		||||
    pi->driver = &FakePointerDriver;
 | 
			
		||||
    KdAddPointer(pi);
 | 
			
		||||
 | 
			
		||||
    ki = KdNewKeyboard();
 | 
			
		||||
    if (!ki)
 | 
			
		||||
        return;
 | 
			
		||||
    ki->driver = &FakeKeyboardDriver;
 | 
			
		||||
    KdAddKeyboard(ki);
 | 
			
		||||
 | 
			
		||||
    KdInitInput();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
CloseInput(void)
 | 
			
		||||
{
 | 
			
		||||
    KdCloseInput();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#ifdef DDXBEFORERESET
 | 
			
		||||
void
 | 
			
		||||
ddxBeforeReset(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
ddxUseMsg(void)
 | 
			
		||||
{
 | 
			
		||||
    KdUseMsg();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int
 | 
			
		||||
ddxProcessArgument(int argc, char **argv, int i)
 | 
			
		||||
{
 | 
			
		||||
    return KdProcessArgument(argc, argv, i);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
OsVendorInit(void)
 | 
			
		||||
{
 | 
			
		||||
    KdOsInit(&FakeOsFuncs);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
KdCardFuncs fakeFuncs = {
 | 
			
		||||
    fakeCardInit,               /* cardinit */
 | 
			
		||||
    fakeScreenInit,             /* scrinit */
 | 
			
		||||
    fakeInitScreen,             /* initScreen */
 | 
			
		||||
    fakeFinishInitScreen,       /* finishInitScreen */
 | 
			
		||||
    fakeCreateResources,        /* createRes */
 | 
			
		||||
    fakePreserve,               /* preserve */
 | 
			
		||||
    fakeEnable,                 /* enable */
 | 
			
		||||
    fakeDPMS,                   /* dpms */
 | 
			
		||||
    fakeDisable,                /* disable */
 | 
			
		||||
    fakeRestore,                /* restore */
 | 
			
		||||
    fakeScreenFini,             /* scrfini */
 | 
			
		||||
    fakeCardFini,               /* cardfini */
 | 
			
		||||
 | 
			
		||||
    0,                          /* initCursor */
 | 
			
		||||
    0,                          /* enableCursor */
 | 
			
		||||
    0,                          /* disableCursor */
 | 
			
		||||
    0,                          /* finiCursor */
 | 
			
		||||
    0,                          /* recolorCursor */
 | 
			
		||||
 | 
			
		||||
    0,                          /* initAccel */
 | 
			
		||||
    0,                          /* enableAccel */
 | 
			
		||||
    0,                          /* disableAccel */
 | 
			
		||||
    0,                          /* finiAccel */
 | 
			
		||||
 | 
			
		||||
    fakeGetColors,              /* getColors */
 | 
			
		||||
    fakePutColors,              /* putColors */
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,75 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright © 1999 Keith Packard
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of Keith Packard not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission.  Keith Packard makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL KEITH PACKARD BE LIABLE 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "fake.h"
 | 
			
		||||
#include <X11/keysym.h>
 | 
			
		||||
 | 
			
		||||
#define FAKE_WIDTH  2
 | 
			
		||||
 | 
			
		||||
static Status
 | 
			
		||||
FakeKeyboardInit(KdKeyboardInfo * ki)
 | 
			
		||||
{
 | 
			
		||||
    ki->minScanCode = 8;
 | 
			
		||||
    ki->maxScanCode = 255;
 | 
			
		||||
    return Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Status
 | 
			
		||||
FakeKeyboardEnable(KdKeyboardInfo * ki)
 | 
			
		||||
{
 | 
			
		||||
    return Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeKeyboardDisable(KdKeyboardInfo * ki)
 | 
			
		||||
{
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeKeyboardFini(KdKeyboardInfo * ki)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeKeyboardLeds(KdKeyboardInfo * ki, int leds)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeKeyboardBell(KdKeyboardInfo * ki, int volume, int frequency, int duration)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
KdKeyboardDriver FakeKeyboardDriver = {
 | 
			
		||||
    "fake",
 | 
			
		||||
    FakeKeyboardInit,
 | 
			
		||||
    FakeKeyboardEnable,
 | 
			
		||||
    FakeKeyboardLeds,
 | 
			
		||||
    FakeKeyboardBell,
 | 
			
		||||
    FakeKeyboardDisable,
 | 
			
		||||
    FakeKeyboardFini,
 | 
			
		||||
    NULL,
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,64 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright © 2004 Keith Packard
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of Keith Packard not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission.  Keith Packard makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL KEITH PACKARD BE LIABLE 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <termios.h>
 | 
			
		||||
#include <X11/X.h>
 | 
			
		||||
#include <X11/Xproto.h>
 | 
			
		||||
#include "inputstr.h"
 | 
			
		||||
#include "scrnintstr.h"
 | 
			
		||||
#include "kdrive.h"
 | 
			
		||||
 | 
			
		||||
static Status
 | 
			
		||||
MouseInit(KdPointerInfo * pi)
 | 
			
		||||
{
 | 
			
		||||
    return Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Status
 | 
			
		||||
MouseEnable(KdPointerInfo * pi)
 | 
			
		||||
{
 | 
			
		||||
    return Success;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
MouseDisable(KdPointerInfo * pi)
 | 
			
		||||
{
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
MouseFini(KdPointerInfo * pi)
 | 
			
		||||
{
 | 
			
		||||
    return;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
KdPointerDriver FakePointerDriver = {
 | 
			
		||||
    "fake",
 | 
			
		||||
    MouseInit,
 | 
			
		||||
    MouseEnable,
 | 
			
		||||
    MouseDisable,
 | 
			
		||||
    MouseFini,
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			@ -1,62 +0,0 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright © 2004 Keith Packard
 | 
			
		||||
 *
 | 
			
		||||
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
			
		||||
 * documentation for any purpose is hereby granted without fee, provided that
 | 
			
		||||
 * the above copyright notice appear in all copies and that both that
 | 
			
		||||
 * copyright notice and this permission notice appear in supporting
 | 
			
		||||
 * documentation, and that the name of Keith Packard not be used in
 | 
			
		||||
 * advertising or publicity pertaining to distribution of the software without
 | 
			
		||||
 * specific, written prior permission.  Keith Packard makes no
 | 
			
		||||
 * representations about the suitability of this software for any purpose.  It
 | 
			
		||||
 * is provided "as is" without express or implied warranty.
 | 
			
		||||
 *
 | 
			
		||||
 * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 | 
			
		||||
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 | 
			
		||||
 * EVENT SHALL KEITH PACKARD BE LIABLE 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.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
#include <kdrive-config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "fake.h"
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
FakeInit(void)
 | 
			
		||||
{
 | 
			
		||||
    return 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeEnable(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static Bool
 | 
			
		||||
FakeSpecialKey(KeySym sym)
 | 
			
		||||
{
 | 
			
		||||
    return FALSE;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeDisable(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
FakeFini(void)
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
KdOsFuncs FakeOsFuncs = {
 | 
			
		||||
    FakeInit,
 | 
			
		||||
    FakeEnable,
 | 
			
		||||
    FakeSpecialKey,
 | 
			
		||||
    FakeDisable,
 | 
			
		||||
    FakeFini,
 | 
			
		||||
    0
 | 
			
		||||
};
 | 
			
		||||
		Loading…
	
		Reference in New Issue