xorg driver, randr
This commit is contained in:
parent
5c581ff5a5
commit
47dddfed0c
@ -69,8 +69,29 @@ Bool
|
|||||||
rdpRRSetConfig(ScreenPtr pScreen, Rotation rotateKind, int rate,
|
rdpRRSetConfig(ScreenPtr pScreen, Rotation rotateKind, int rate,
|
||||||
RRScreenSizePtr pSize)
|
RRScreenSizePtr pSize)
|
||||||
{
|
{
|
||||||
|
ScrnInfoPtr pScrn;
|
||||||
|
rdpPtr dev;
|
||||||
|
rrScrPrivPtr pRRScrPriv;
|
||||||
|
Bool rv;
|
||||||
|
|
||||||
LLOGLN(0, ("rdpRRSetConfig:"));
|
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;
|
int height;
|
||||||
ScrnInfoPtr pScrn;
|
ScrnInfoPtr pScrn;
|
||||||
rdpPtr dev;
|
rdpPtr dev;
|
||||||
|
rrScrPrivPtr pRRScrPriv;
|
||||||
|
Bool rv;
|
||||||
|
|
||||||
LLOGLN(0, ("rdpRRGetInfo:"));
|
LLOGLN(0, ("rdpRRGetInfo:"));
|
||||||
|
rv = TRUE;
|
||||||
pScrn = xf86Screens[pScreen->myNum];
|
pScrn = xf86Screens[pScreen->myNum];
|
||||||
dev = XRDPPTR(pScrn);
|
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;
|
*pRotations = RR_Rotate_0;
|
||||||
width = dev->width;
|
width = dev->width;
|
||||||
height = dev->height;
|
height = dev->height;
|
||||||
rdpRRRegisterSize(pScreen, width, 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);
|
ResizeChildrenWinSize(root, 0, 0, 0, 0);
|
||||||
RRGetInfo(pScreen, 1);
|
RRGetInfo(pScreen, 1);
|
||||||
LLOGLN(0, (" screen resized to %dx%d", pScreen->width, pScreen->height));
|
LLOGLN(0, (" screen resized to %dx%d", pScreen->width, pScreen->height));
|
||||||
xf86EnableDisableFBAccess(pScreen->myNum, 0);
|
RRScreenSizeNotify(pScreen);
|
||||||
xf86EnableDisableFBAccess(pScreen->myNum, 1);
|
xf86EnableDisableFBAccess(pScreen->myNum, FALSE);
|
||||||
|
xf86EnableDisableFBAccess(pScreen->myNum, TRUE);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -171,20 +210,20 @@ rdpRRCrtcSetGamma(ScreenPtr pScreen, RRCrtcPtr crtc)
|
|||||||
Bool
|
Bool
|
||||||
rdpRRCrtcGetGamma(ScreenPtr pScreen, RRCrtcPtr crtc)
|
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->gammaBlue, crtc->gammaGreen));
|
||||||
crtc->gammaSize = 1;
|
crtc->gammaSize = 1;
|
||||||
if (crtc->gammaRed == NULL)
|
if (crtc->gammaRed == NULL)
|
||||||
{
|
{
|
||||||
crtc->gammaRed = xnfcalloc(2, 16);
|
crtc->gammaRed = g_malloc(32, 1);
|
||||||
}
|
}
|
||||||
if (crtc->gammaBlue == NULL)
|
if (crtc->gammaBlue == NULL)
|
||||||
{
|
{
|
||||||
crtc->gammaBlue = xnfcalloc(2, 16);
|
crtc->gammaBlue = g_malloc(32, 1);
|
||||||
}
|
}
|
||||||
if (crtc->gammaGreen == NULL)
|
if (crtc->gammaGreen == NULL)
|
||||||
{
|
{
|
||||||
crtc->gammaGreen = xnfcalloc(2, 16);
|
crtc->gammaGreen = g_malloc(32, 1);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
@ -230,7 +269,7 @@ rdpRRGetPanning(ScreenPtr pScreen, RRCrtcPtr crtc, BoxPtr totalArea,
|
|||||||
ScrnInfoPtr pScrn;
|
ScrnInfoPtr pScrn;
|
||||||
rdpPtr dev;
|
rdpPtr dev;
|
||||||
|
|
||||||
LLOGLN(0, ("rdpRRGetPanning:"));
|
LLOGLN(0, ("rdpRRGetPanning: %p", crtc));
|
||||||
pScrn = xf86Screens[pScreen->myNum];
|
pScrn = xf86Screens[pScreen->myNum];
|
||||||
dev = XRDPPTR(pScrn);
|
dev = XRDPPTR(pScrn);
|
||||||
|
|
||||||
@ -257,7 +296,6 @@ rdpRRGetPanning(ScreenPtr pScreen, RRCrtcPtr crtc, BoxPtr totalArea,
|
|||||||
border[2] = 0;
|
border[2] = 0;
|
||||||
border[3] = 0;
|
border[3] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -345,6 +345,19 @@ rdpDeferredRandR(OsTimerPtr timer, CARD32 now, pointer arg)
|
|||||||
dev->rrGetPanning = pRRScrPriv->rrGetPanning;
|
dev->rrGetPanning = pRRScrPriv->rrGetPanning;
|
||||||
dev->rrSetPanning = pRRScrPriv->rrSetPanning;
|
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->rrSetConfig = rdpRRSetConfig;
|
||||||
pRRScrPriv->rrGetInfo = rdpRRGetInfo;
|
pRRScrPriv->rrGetInfo = rdpRRGetInfo;
|
||||||
pRRScrPriv->rrScreenSetSize = rdpRRScreenSetSize;
|
pRRScrPriv->rrScreenSetSize = rdpRRScreenSetSize;
|
||||||
|
@ -43,6 +43,9 @@ xrdp keyboard module
|
|||||||
|
|
||||||
#include "rdp.h"
|
#include "rdp.h"
|
||||||
|
|
||||||
|
/* if 1, a keystroke is done every minute, down, then up */
|
||||||
|
#define XRDPKB_TEST 0
|
||||||
|
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
#define LOG_LEVEL 1
|
#define LOG_LEVEL 1
|
||||||
#define LLOGLN(_level, _args) \
|
#define LLOGLN(_level, _args) \
|
||||||
@ -207,15 +210,17 @@ rdpEnqueueKey(int type, int scancode)
|
|||||||
{
|
{
|
||||||
if (type == KeyPress)
|
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
|
else
|
||||||
{
|
{
|
||||||
xf86PostKeyboardEvent(g_keyboard, scancode, 0);
|
xf86PostKeyboardEvent(g_keyboard, scancode, FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 1
|
#if XRDPKB_TEST
|
||||||
/******************************************************************************/
|
/******************************************************************************/
|
||||||
static CARD32
|
static CARD32
|
||||||
rdpDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
|
rdpDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
|
||||||
@ -225,9 +230,6 @@ rdpDeferredUpdateCallback(OsTimerPtr timer, CARD32 now, pointer arg)
|
|||||||
rdpEnqueueKey(KeyPress, 115);
|
rdpEnqueueKey(KeyPress, 115);
|
||||||
rdpEnqueueKey(KeyRelease, 115);
|
rdpEnqueueKey(KeyRelease, 115);
|
||||||
|
|
||||||
//xf86PostKeyboardEvent(g_keyboard, 115, 1);
|
|
||||||
//xf86PostKeyboardEvent(g_keyboard, 115, 0);
|
|
||||||
|
|
||||||
g_timer = TimerSet(g_timer, 0, 1000, rdpDeferredUpdateCallback, 0);
|
g_timer = TimerSet(g_timer, 0, 1000, rdpDeferredUpdateCallback, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -337,7 +339,9 @@ rdpkeybControl(DeviceIntPtr device, int what)
|
|||||||
InitKeyboardDeviceStruct(device, &set, rdpkeybBell,
|
InitKeyboardDeviceStruct(device, &set, rdpkeybBell,
|
||||||
rdpkeybChangeKeyboardControl);
|
rdpkeybChangeKeyboardControl);
|
||||||
g_keyboard = device;
|
g_keyboard = device;
|
||||||
|
#if XRDPKB_TEST
|
||||||
g_timer = TimerSet(g_timer, 0, 1000, rdpDeferredUpdateCallback, 0);
|
g_timer = TimerSet(g_timer, 0, 1000, rdpDeferredUpdateCallback, 0);
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
case DEVICE_ON:
|
case DEVICE_ON:
|
||||||
pDev->on = 1;
|
pDev->on = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user