Index: SDL_fbevents.c =================================================================== --- SDL_fbevents.c (revision 2338) +++ SDL_fbevents.c (working copy) @@ -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 @@ } 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);