Add vtxx option to kdrive servers

This commit is contained in:
Keith Packard 2002-10-08 21:28:05 +00:00
parent f214cab20b
commit b5d1c53862
3 changed files with 22 additions and 9 deletions

View File

@ -75,6 +75,10 @@ LinuxInit ()
FatalError("LinuxInit: Server must be suid root\n"); FatalError("LinuxInit: Server must be suid root\n");
} }
if (kdVirtualTerminal >= 0)
vtno = kdVirtualTerminal;
else
{
if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0)
{ {
FatalError( FatalError(
@ -86,6 +90,7 @@ LinuxInit ()
{ {
FatalError("xf86OpenConsole: Cannot find a free VT\n"); FatalError("xf86OpenConsole: Cannot find a free VT\n");
} }
}
close(fd); close(fd);
sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */ sprintf(vtname,"/dev/tty%d",vtno); /* /dev/tty1-64 */

View File

@ -53,6 +53,7 @@ Bool kdEmulateMiddleButton;
Bool kdDisableZaphod; Bool kdDisableZaphod;
Bool kdEnabled; Bool kdEnabled;
int kdSubpixelOrder; int kdSubpixelOrder;
int kdVirtualTerminal = -1;
Bool kdSwitchPending; Bool kdSwitchPending;
DDXPointRec kdOrigin; DDXPointRec kdOrigin;
@ -342,6 +343,7 @@ ddxUseMsg()
ErrorF("-videoTest Start the server, pause momentarily and exit\n"); ErrorF("-videoTest Start the server, pause momentarily and exit\n");
ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n"); ErrorF("-origin X,Y Locates the next screen in the the virtual screen (Xinerama)\n");
ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n"); ErrorF("-mouse path[,n] Filename of mouse device, n is number of buttons\n");
ErrorF("vtxx Use virtual terminal xx instead of the next available\n");
ErrorF("\n"); ErrorF("\n");
} }
@ -738,6 +740,11 @@ KdProcessArgument (int argc, char **argv, int i)
UseMsg (); UseMsg ();
return 2; return 2;
} }
if (!strncmp (argv[i], "vt", 2) &&
sscanf (argv[i], "vt%2d", &kdVirtualTerminal) == 1)
{
return 1;
}
#ifdef PSEUDO8 #ifdef PSEUDO8
return p8ProcessArgument (argc, argv, i); return p8ProcessArgument (argc, argv, i);
#else #else

View File

@ -309,6 +309,7 @@ extern Bool kdEnabled;
extern Bool kdSwitchPending; extern Bool kdSwitchPending;
extern Bool kdEmulateMiddleButton; extern Bool kdEmulateMiddleButton;
extern Bool kdDisableZaphod; extern Bool kdDisableZaphod;
extern int kdVirtualTerminal;
extern KdOsFuncs *kdOsFuncs; extern KdOsFuncs *kdOsFuncs;
#define KdGetScreenPriv(pScreen) ((KdPrivScreenPtr) \ #define KdGetScreenPriv(pScreen) ((KdPrivScreenPtr) \