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");
 | 
						FatalError("LinuxInit: Server must be suid root\n");
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) 
 | 
					    if (kdVirtualTerminal >= 0)
 | 
				
			||||||
 | 
						vtno = kdVirtualTerminal;
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
	FatalError(
 | 
						if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0) 
 | 
				
			||||||
	    "LinuxInit: Cannot open /dev/tty0 (%s)\n",
 | 
						{
 | 
				
			||||||
	    strerror(errno));
 | 
						    FatalError(
 | 
				
			||||||
    }
 | 
							       "LinuxInit: Cannot open /dev/tty0 (%s)\n",
 | 
				
			||||||
    if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) ||
 | 
							       strerror(errno));
 | 
				
			||||||
	(vtno == -1))
 | 
						}
 | 
				
			||||||
    {
 | 
						if ((ioctl(fd, VT_OPENQRY, &vtno) < 0) ||
 | 
				
			||||||
	FatalError("xf86OpenConsole: Cannot find a free VT\n");
 | 
						    (vtno == -1))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
						    FatalError("xf86OpenConsole: Cannot find a free VT\n");
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    close(fd);
 | 
					    close(fd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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) \
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue