Example #1
0
void OutBound(void)
{
  WINDOW *w ;
  
  w = WindowCreate("Local", 0, 10, 0, 79) ;
  if (!w)
    return ;
  
  for (;;)
  {
    BYTE8 code ;
    char ascii ;
    
    MtCYield() ;
    
    WindowSelect(w) ;
    
    if (!ScanCodeRdy())
      continue ;
    
    code = GetScanCode() ;
    
    if (code & 0x80)
      continue ;
    
    if (SetsKybdState(code))
      continue ;
    
    ascii = ScanCode2Ascii(code) & 0xFF ;
    if (!isprint(ascii) && !iscntrl(ascii))
      continue ;
    
    WindowPutChar(w, ascii) ;
    
    SerialPut(ascii) ;
    if (ascii == '\r')
    {
      WindowPutChar(w, '\n') ;
      SerialPut('\n') ;
    }
  }
}
Example #2
0
void Input::Initialize()
{
	for(int i = 0; i < MAX_PLAYERS; ++i)
		playerControllers[i] = 0;

	mousePosition[0] = mousePosition[1] = 0;

#if defined(_WIN32)
	InitializeWindow();

	keyBindings[A] = VK_SPACE;
	keyBindings[B] = 'X';
	keyBindings[X] = 'E';
	keyBindings[Y] = 'R';
	keyBindings[START] = VK_ESCAPE;
	keyBindings[SELECT] = VK_RETURN;
	keyBindings[L_SHOULDER] = VK_OEM_MINUS;
	keyBindings[R_SHOULDER] = VK_OEM_PLUS;
	keyBindings[D_RIGHT] = VK_END;
	keyBindings[D_UP] = VK_PRIOR;
	keyBindings[D_LEFT] = VK_HOME;
	keyBindings[D_DOWN] = VK_NEXT;

	keyBindings[NUM_BUTTONS + L_TRIGGER] = VK_OEM_4;
	keyBindings[NUM_BUTTONS + R_TRIGGER] = VK_OEM_6;
	keyBindings[NUM_BUTTONS + A_RIGHT] = 'D';
	keyBindings[NUM_BUTTONS + A_UP] = 'W';
	keyBindings[NUM_BUTTONS + A_LEFT] = 'A';
	keyBindings[NUM_BUTTONS + A_DOWN] = 'S';

#elif defined(__linux__)
	RegisterMonitor();
#endif

#if defined(X11)
	display = XOpenDisplay(NULL);

	window = DefaultRootWindow(display);

	// create transparent cursor for when mouse is in relative-movement mode
	{
		static char noData[] = { 0 };
		XColor black = { 0 };
		Pixmap blankBitmap = XCreateBitmapFromData(display, window, noData, 1, 1);

		invisibleCursor = XCreatePixmapCursor(display, blankBitmap, blankBitmap,
			&black, &black, 0, 0);
		XFreePixmap(display, blankBitmap);
	}

	keyBindings[A] = GetScanCode(XK_space);
	keyBindings[B] = GetScanCode('X');
	keyBindings[X] = GetScanCode('E');
	keyBindings[Y] = GetScanCode('R');
	keyBindings[START] = GetScanCode(XK_Escape);
	keyBindings[SELECT] = GetScanCode(XK_Return);
	keyBindings[L_SHOULDER] = GetScanCode(XK_minus);
	keyBindings[R_SHOULDER] = GetScanCode(XK_plus);
	keyBindings[D_RIGHT] = GetScanCode(XK_End);
	keyBindings[D_UP] = GetScanCode(XK_Prior);
	keyBindings[D_LEFT] = GetScanCode(XK_Home);
	keyBindings[D_DOWN] = GetScanCode(XK_Next);

	keyBindings[NUM_BUTTONS + L_TRIGGER] = GetScanCode(XK_bracketleft);
	keyBindings[NUM_BUTTONS + R_TRIGGER] = GetScanCode(XK_bracketright);
	keyBindings[NUM_BUTTONS + A_RIGHT] = GetScanCode('D');
	keyBindings[NUM_BUTTONS + A_UP] = GetScanCode('W');
	keyBindings[NUM_BUTTONS + A_LEFT] = GetScanCode('A');
	keyBindings[NUM_BUTTONS + A_DOWN] = GetScanCode('S');
#endif

	DetectControllers();
}