int WSCONS_InitKeyboard(_THIS) { struct termios tty; if (ioctl(private->fd, WSKBDIO_GTYPE, &private->kbdType) == -1) { WSCONS_ReportError("cannot get keyboard type: %s", strerror(errno)); return -1; } if (tcgetattr(private->fd, &private->saved_tty) == -1) { WSCONS_ReportError("cannot get terminal attributes: %s", strerror(errno)); return -1; } private->did_save_tty = 1;
int WSCONS_VideoInit(_THIS, SDL_PixelFormat *vformat) { char devnamebuf[30]; char *devname; char *rotation; int wstype; int wsmode = WSDISPLAYIO_MODE_DUMBFB; size_t len, mapsize; int pagemask; int width, height; devname = SDL_getenv("SDL_WSCONSDEV"); if (devname == NULL) { int activeVT; if (ioctl(STDIN_FILENO, VT_GETACTIVE, &activeVT) == -1) { WSCONS_ReportError("Unable to determine active terminal: %s", strerror(errno)); return -1; } SDL_snprintf(devnamebuf, sizeof(devnamebuf), WSCONSDEV_FORMAT, activeVT - 1); devname = devnamebuf; } private->fd = open(devname, O_RDWR | O_NONBLOCK, 0);