Add vtxx option to kdrive servers
This commit is contained in:
		
							parent
							
								
									f214cab20b
								
							
						
					
					
						commit
						b5d1c53862
					
				| 
						 | 
				
			
			@ -75,16 +75,21 @@ LinuxInit ()
 | 
			
		|||
	FatalError("LinuxInit: Server must be suid root\n");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) 
 | 
			
		||||
    if (kdVirtualTerminal >= 0)
 | 
			
		||||
	vtno = kdVirtualTerminal;
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
	FatalError(
 | 
			
		||||
	    "LinuxInit: Cannot open /dev/tty0 (%s)\n",
 | 
			
		||||
	    strerror(errno));
 | 
			
		||||
    }
 | 
			
		||||
    if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) ||
 | 
			
		||||
	(vtno == -1))
 | 
			
		||||
    {
 | 
			
		||||
	FatalError("xf86OpenConsole: Cannot find a free VT\n");
 | 
			
		||||
	if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) 
 | 
			
		||||
	{
 | 
			
		||||
	    FatalError(
 | 
			
		||||
		       "LinuxInit: Cannot open /dev/tty0 (%s)\n",
 | 
			
		||||
		       strerror(errno));
 | 
			
		||||
	}
 | 
			
		||||
	if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) ||
 | 
			
		||||
	    (vtno == -1))
 | 
			
		||||
	{
 | 
			
		||||
	    FatalError("xf86OpenConsole: Cannot find a free VT\n");
 | 
			
		||||
	}
 | 
			
		||||
    }
 | 
			
		||||
    close(fd);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -53,6 +53,7 @@ Bool		    kdEmulateMiddleButton;
 | 
			
		|||
Bool		    kdDisableZaphod;
 | 
			
		||||
Bool		    kdEnabled;
 | 
			
		||||
int		    kdSubpixelOrder;
 | 
			
		||||
int		    kdVirtualTerminal = -1;
 | 
			
		||||
Bool		    kdSwitchPending;
 | 
			
		||||
DDXPointRec	    kdOrigin;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -342,6 +343,7 @@ ddxUseMsg()
 | 
			
		|||
  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("-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");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -738,6 +740,11 @@ KdProcessArgument (int argc, char **argv, int i)
 | 
			
		|||
	    UseMsg ();
 | 
			
		||||
	return 2;
 | 
			
		||||
    }
 | 
			
		||||
    if (!strncmp (argv[i], "vt", 2) &&
 | 
			
		||||
	sscanf (argv[i], "vt%2d", &kdVirtualTerminal) == 1)
 | 
			
		||||
    {
 | 
			
		||||
	return 1;
 | 
			
		||||
    }
 | 
			
		||||
#ifdef PSEUDO8
 | 
			
		||||
    return p8ProcessArgument (argc, argv, i);
 | 
			
		||||
#else
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -309,6 +309,7 @@ extern Bool		kdEnabled;
 | 
			
		|||
extern Bool		kdSwitchPending;
 | 
			
		||||
extern Bool		kdEmulateMiddleButton;
 | 
			
		||||
extern Bool		kdDisableZaphod;
 | 
			
		||||
extern int		kdVirtualTerminal;
 | 
			
		||||
extern KdOsFuncs	*kdOsFuncs;
 | 
			
		||||
 | 
			
		||||
#define KdGetScreenPriv(pScreen) ((KdPrivScreenPtr) \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue