Compare commits
2 Commits
xlibre-xse
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
d403cbd25c | ||
|
a46fd9f16e |
|
@ -370,6 +370,23 @@ ddxProcessArgument(int argc, char **argv, int i)
|
|||
return KdProcessArgument(argc, argv, i);
|
||||
}
|
||||
|
||||
static int
|
||||
EphyrInit(void)
|
||||
{
|
||||
/*
|
||||
* make sure at least one screen
|
||||
* has been added to the system.
|
||||
*/
|
||||
if (!KdCardInfoLast()) {
|
||||
processScreenArg("640x480", NULL);
|
||||
}
|
||||
return hostx_init();
|
||||
}
|
||||
|
||||
KdOsFuncs EphyrOsFuncs = {
|
||||
.Init = EphyrInit,
|
||||
};
|
||||
|
||||
void
|
||||
OsVendorInit(void)
|
||||
{
|
||||
|
@ -381,12 +398,7 @@ OsVendorInit(void)
|
|||
if (hostx_want_host_cursor())
|
||||
ephyrFuncs.initCursor = &ephyrCursorInit;
|
||||
|
||||
if (serverGeneration == 1) {
|
||||
if (!KdCardInfoLast()) {
|
||||
processScreenArg("640x480", NULL);
|
||||
}
|
||||
hostx_init();
|
||||
}
|
||||
KdOsInit(&EphyrOsFuncs);
|
||||
}
|
||||
|
||||
KdCardFuncs ephyrFuncs = {
|
||||
|
|
|
@ -91,6 +91,14 @@ const char *kdGlobalXkbLayout = NULL;
|
|||
const char *kdGlobalXkbVariant = NULL;
|
||||
const char *kdGlobalXkbOptions = NULL;
|
||||
|
||||
|
||||
/*
|
||||
* Carry arguments from InitOutput through driver initialization
|
||||
* to KdScreenInit
|
||||
*/
|
||||
|
||||
KdOsFuncs *kdOsFuncs = NULL;
|
||||
|
||||
void
|
||||
KdDisableScreen(ScreenPtr pScreen)
|
||||
{
|
||||
|
@ -517,6 +525,19 @@ KdProcessArgument(int argc, char **argv, int i)
|
|||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
KdOsInit(KdOsFuncs * pOsFuncs)
|
||||
{
|
||||
kdOsFuncs = pOsFuncs;
|
||||
if (pOsFuncs) {
|
||||
if (serverGeneration == 1) {
|
||||
KdDoSwitchCmd("start");
|
||||
if (pOsFuncs->Init)
|
||||
(*pOsFuncs->Init) ();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static Bool
|
||||
KdAllocatePrivates(ScreenPtr pScreen)
|
||||
{
|
||||
|
|
|
@ -278,6 +278,16 @@ int KdAddConfigKeyboard(char *pointer);
|
|||
int KdAddKeyboard(KdKeyboardInfo * ki);
|
||||
void KdRemoveKeyboard(KdKeyboardInfo * ki);
|
||||
|
||||
typedef struct _KdOsFuncs {
|
||||
int (*Init) (void); /* Only called when the X server is started, when serverGeneration == 1 */
|
||||
void (*Enable) (void);
|
||||
Bool (*SpecialKey) (KeySym);
|
||||
void (*Disable) (void);
|
||||
void (*Fini) (void);
|
||||
void (*pollEvents) (void);
|
||||
void (*Bell) (int, int, int);
|
||||
} KdOsFuncs;
|
||||
|
||||
typedef struct _KdPointerMatrix {
|
||||
int matrix[2][3];
|
||||
} KdPointerMatrix;
|
||||
|
@ -289,6 +299,8 @@ extern DevPrivateKeyRec kdScreenPrivateKeyRec;
|
|||
extern Bool kdEmulateMiddleButton;
|
||||
extern Bool kdDisableZaphod;
|
||||
|
||||
extern KdOsFuncs *kdOsFuncs;
|
||||
|
||||
#define KdGetScreenPriv(pScreen) ((KdPrivScreenPtr) \
|
||||
dixLookupPrivate(&(pScreen)->devPrivates, kdScreenPrivateKey))
|
||||
#define KdSetScreenPriv(pScreen,v) \
|
||||
|
@ -345,6 +357,9 @@ void
|
|||
int
|
||||
KdProcessArgument(int argc, char **argv, int i);
|
||||
|
||||
void
|
||||
KdOsInit(KdOsFuncs * pOsFuncs);
|
||||
|
||||
void
|
||||
KdOsAddInputDrivers(void);
|
||||
|
||||
|
|
Loading…
Reference in New Issue