コード例 #1
0
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;
コード例 #2
0
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);