xorg driver, randr

ulab-next
Jay Sorg 12 years ago
parent 5c581ff5a5
commit 47dddfed0c

@ -69,8 +69,29 @@ Bool
rdpRRSetConfig(ScreenPtr pScreen, Rotation rotateKind, int rate,
RRScreenSizePtr pSize)
{
ScrnInfoPtr pScrn;
rdpPtr dev;
rrScrPrivPtr pRRScrPriv;
Bool rv;
LLOGLN(0, ("rdpRRSetConfig:"));
return TRUE;
rv = TRUE;
pScrn = xf86Screens[pScreen->myNum];
dev = XRDPPTR(pScrn);
#if 0
pRRScrPriv = rrGetScrPriv(pScreen);
if (pRRScrPriv != 0)
{
if (dev->rrSetConfig != 0)
{
LLOGLN(0, ("rdpRRSetConfig: here"));
pRRScrPriv->rrSetConfig = dev->rrSetConfig;
rv = pRRScrPriv->rrSetConfig(pScreen, rotateKind, rate, pSize);
pRRScrPriv->rrSetConfig = rdpRRSetConfig;
}
}
#endif
return rv;
}
/******************************************************************************/
@ -81,15 +102,32 @@ rdpRRGetInfo(ScreenPtr pScreen, Rotation *pRotations)
int height;
ScrnInfoPtr pScrn;
rdpPtr dev;
rrScrPrivPtr pRRScrPriv;
Bool rv;
LLOGLN(0, ("rdpRRGetInfo:"));
rv = TRUE;
pScrn = xf86Screens[pScreen->myNum];
dev = XRDPPTR(pScrn);
#if 0
pRRScrPriv = rrGetScrPriv(pScreen);
if (pRRScrPriv != 0)
{
if (dev->rrGetInfo != 0)
{
LLOGLN(0, ("rdpRRGetInfo: here"));
pRRScrPriv->rrGetInfo = dev->rrGetInfo;
rv = pRRScrPriv->rrGetInfo(pScreen, pRotations);
pRRScrPriv->rrGetInfo = rdpRRGetInfo;
}
}
#else
*pRotations = RR_Rotate_0;
width = dev->width;
height = dev->height;
rdpRRRegisterSize(pScreen, width, height);
return TRUE;
#endif
return rv;
}
/******************************************************************************/
@ -144,8 +182,9 @@ rdpRRScreenSetSize(ScreenPtr pScreen, CARD16 width, CARD16 height,
ResizeChildrenWinSize(root, 0, 0, 0, 0);
RRGetInfo(pScreen, 1);
LLOGLN(0, (" screen resized to %dx%d", pScreen->width, pScreen->height));
xf86EnableDisableFBAccess(pScreen->myNum, 0);
xf86EnableDisableFBAccess(pScreen->myNum, 1);
RRScreenSizeNotify(pScreen);
xf86EnableDisableFBAccess(pScreen->myNum, FALSE);
xf86EnableDisableFBAccess(pScreen->myNum, TRUE);
return TRUE;
}
@ -171,20 +210,20 @@ rdpRRCrtcSetGamma(ScreenPtr pScreen, RRCrtcPtr crtc)
Bool
rdpRRCrtcGetGamma(ScreenPtr pScreen, RRCrtcPtr crtc)
{
LLOGLN(0, ("rdpRRCrtcGetGamma: %p %p %p", crtc->gammaRed,
LLOGLN(0, ("rdpRRCrtcGetGamma: %p %p %p %p", crtc, crtc->gammaRed,
crtc->gammaBlue, crtc->gammaGreen));
crtc->gammaSize = 1;
if (crtc->gammaRed == NULL)
{
crtc->gammaRed = xnfcalloc(2, 16);
crtc->gammaRed = g_malloc(32, 1);
}
if (crtc->gammaBlue == NULL)
{
crtc->gammaBlue = xnfcalloc(2, 16);
crtc->gammaBlue = g_malloc(32, 1);
}
if (crtc->gammaGreen == NULL)
{
crtc->gammaGreen = xnfcalloc(2, 16);
crtc->gammaGreen = g_malloc(32, 1);
}
return TRUE;
}
@ -230,7 +269,7 @@ rdpRRGetPanning(ScreenPtr pScreen, RRCrtcPtr crtc, BoxPtr totalArea,
ScrnInfoPtr pScrn;
rdpPtr dev;
LLOGLN(0, ("rdpRRGetPanning:"));
LLOGLN(0, ("rdpRRGetPanning: %p", crtc));
pScrn = xf86Screens[pScreen->myNum];
dev = XRDPPTR(pScrn);
@ -257,7 +296,6 @@ rdpRRGetPanning(ScreenPtr pScreen, RRCrtcPtr crtc, BoxPtr totalArea,
border[2] = 0;
border[3] = 0;
}
return TRUE;
}

@ -345,6 +345,19 @@ rdpDeferredRandR(OsTimerPtr timer, CARD32 now, pointer arg)
dev->rrGetPanning = pRRScrPriv->rrGetPanning;
dev->rrSetPanning = pRRScrPriv->rrSetPanning;
LLOGLN(10, (" rrSetConfig = %p", dev->rrSetConfig));
LLOGLN(10, (" rrGetInfo = %p", dev->rrGetInfo));
LLOGLN(10, (" rrScreenSetSize = %p", dev->rrScreenSetSize));
LLOGLN(10, (" rrCrtcSet = %p", dev->rrCrtcSet));
LLOGLN(10, (" rrCrtcSetGamma = %p", dev->rrCrtcSetGamma));
LLOGLN(10, (" rrCrtcGetGamma = %p", dev->rrCrtcGetGamma));
LLOGLN(10, (" rrOutputSetProperty = %p", dev->rrOutputSetProperty));
LLOGLN(10, (" rrOutputValidateMode = %p", dev->rrOutputValidateMode));
LLOGLN(10, (" rrModeDestroy = %p", dev->rrModeDestroy));
LLOGLN(10, (" rrOutputGetProperty = %p", dev->rrOutputGetProperty));
LLOGLN(10, (" rrGetPanning = %p", dev->rrGetPanning));
LLOGLN(10, (" rrSetPanning = %p", dev->rrSetPanning));
pRRScrPriv->rrSetConfig = rdpRRSetConfig;
pRRScrPriv->rrGetInfo = rdpRRGetInfo;
pRRScrPriv->rrScreenSetSize = rdpRRScreenSetSize;

@ -43,6 +43,9 @@ xrdp keyboard module
#include "rdp.h"
/* if 1, a keystroke is done every minute, down, then up */
#define XRDPKB_TEST 0
/******************************************************************************/
#define LOG_LEVEL 1
#define LLOGLN(_level, _args) \
@ -207,15 +210,17 @@ rdpEnqueueKey(int type, int scancode)
{
if (type == KeyPress)
{
xf86PostKeyboardEvent(g_keyboard, scancode, 1);
/* need this cause rdp and X11 repeats are different */
xf86PostKeyboardEvent(g_keyboard, scancode, FALSE);
xf86PostKeyboardEvent(g_keyboard, scancode, TRUE);
}
else
{
xf86PostKeyboardEvent(g_keyboard, scancode, 0);
xf86PostKeyboardEvent(g_keyboard, scancode, FALSE);
}
}
#if 1
#if XRDPKB_TEST
/******************************************************************************/
static CARD32
rdpDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
@ -225,9 +230,6 @@ rdpDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
rdpEnqueueKey(KeyPress, 115);
rdpEnqueueKey(KeyRelease, 115);
//xf86PostKeyboardEvent(g_keyboard, 115, 1);
//xf86PostKeyboardEvent(g_keyboard, 115, 0);
g_timer = TimerSet(g_timer, 0, 1000, rdpDeferredUpdateCallback, 0);
return 0;
}
@ -337,7 +339,9 @@ rdpkeybControl(DeviceIntPtr device, int what)
InitKeyboardDeviceStruct(device, &set, rdpkeybBell,
rdpkeybChangeKeyboardControl);
g_keyboard = device;
#if XRDPKB_TEST
g_timer = TimerSet(g_timer, 0, 1000, rdpDeferredUpdateCallback, 0);
#endif
break;
case DEVICE_ON:
pDev->on = 1;

Loading…
Cancel
Save