main()
{
  char          Characters[1024];
  int           Inc=0;

  memset(Characters, 0, 1024);
  
  printf("Press a load of characters (q=exit)\n");

  SetKeyboard();

  for(Inc = 0; (Characters[Inc] = getchar()) != 'q'; Inc++);
  
  ResetKeyboard();

  printf("You Pressed %s\n", Characters);
}
Exemplo n.º 2
0
LRESULT WINAPI WinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	static POINT ptLastMousePosit;
	static POINT ptCurrentMousePosit;

	DKey = false;

    switch(msg)
    {
		case WM_KEYDOWN:
        {
            switch(wParam)
            {
                case VK_ESCAPE:
					if (DC)
					{
						ServerDisconnect();
						DC = false;
					}
                    break;

				case 'A':
					SetKeyboard(1, true);
					break;

				case 'D':
					SetKeyboard(4, true);
					break;

				case 'S':
					SetKeyboard(19, true);
					break;

				case 'W':
					SetKeyboard(23, true);
					break;
            }
        }
        break;

		case WM_RBUTTONDOWN:
        {
            ptLastMousePosit.x = ptCurrentMousePosit.x = LOWORD(lParam);
            ptLastMousePosit.y = ptCurrentMousePosit.y = HIWORD(lParam);
            SetMouseClick(1, true);
        }
        break;

        case WM_RBUTTONUP:
        {
            SetMouseClick(1, false);
        }
        break;

		case WM_LBUTTONDOWN:
        {
			SetMouseClick(0, true);
        }
        break;

        case WM_LBUTTONUP:
        {
			SetMouseClick(0, false);
        }
        break;

		case WM_MOUSEMOVE:			//Remember that it only works if the mouse is moved
        {
            ptCurrentMousePosit.x = LOWORD(lParam);
            ptCurrentMousePosit.y = HIWORD(lParam);

            ChangeX = (ptCurrentMousePosit.x - ptLastMousePosit.x);
            ChangeY = (ptCurrentMousePosit.y - ptLastMousePosit.y);

			SetMouseChange(ChangeX, ChangeY);

            ptLastMousePosit.x = ptCurrentMousePosit.x;
            ptLastMousePosit.y = ptCurrentMousePosit.y;
        }
        break;

		case WM_MOUSEWHEEL:
		{
			SetMouseWheel(GET_WHEEL_DELTA_WPARAM(wParam));
		}
		break;

		 case WM_DESTROY:
		{
            PostQuitMessage(0);
            return 0;
		}

		case WM_CLOSE:
        {
            PostQuitMessage(0);
			return 0;
        }
    }

	return DefWindowProc( hWnd, msg, wParam, lParam );
}