Fixed detection of current vt when not running as root.

This commit is contained in:
Sam Lantinga
2006-05-08 05:17:10 +00:00
parent 722aba1781
commit f10aa0bd77

View File

@@ -55,6 +55,7 @@
#define GPM_NODE_FIFO "/dev/gpmdata"
#endif
/*#define DEBUG_KEYBOARD*/
/*#define DEBUG_MOUSE*/
/* The translation tables from a console scancode to a SDL keysym */
@@ -281,8 +282,15 @@ int FB_OpenKeyboard(_THIS)
}
if ( keyboard_fd < 0 ) {
/* Last resort, maybe our tty is a usable VT */
current_vt = 0;
struct vt_stat vtstate;
keyboard_fd = open("/dev/tty", O_RDWR);
if ( ioctl(keyboard_fd, VT_GETSTATE, &vtstate) == 0 ) {
current_vt = vtstate.v_active;
} else {
current_vt = 0;
}
}
#ifdef DEBUG_KEYBOARD
fprintf(stderr, "Current VT: %d\n", current_vt);