Advertisement
Guest User

Untitled

a guest
Feb 27th, 2013
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.49 KB | None | 0 0
  1. #include <iostream>
  2. #include "Gamepad.h"
  3. #include <windows.h>
  4. #include <stdio.h>
  5.  
  6.  
  7. static bool verbose = true;
  8.  
  9. bool onButtonDown(void * sender, const char * eventID, void * eventData, void * context) {
  10.     struct Gamepad_buttonEvent * event;
  11.  
  12.     event = (Gamepad_buttonEvent *) eventData;
  13.     if (verbose) {
  14.         printf("Button %u down (%d) on device %u at %f\n", event->buttonID, (int) event->down, event->device->deviceID, event->timestamp);
  15.     }
  16.     return true;
  17. }
  18.  
  19. bool onButtonUp(void * sender, const char * eventID, void * eventData, void * context) {
  20.     struct Gamepad_buttonEvent * event;
  21.  
  22.     event = (Gamepad_buttonEvent *) eventData;
  23.     if (verbose) {
  24.         printf("Button %u up (%d) on device %u at %f\n", event->buttonID, (int) event->down, event->device->deviceID, event->timestamp);
  25.     }
  26.     return true;
  27. }
  28.  
  29. bool onAxisMoved(void * sender, const char * eventID, void * eventData, void * context) {
  30.     struct Gamepad_axisEvent * event;
  31.  
  32.     event = (Gamepad_axisEvent *) eventData;
  33.     if (verbose) {
  34.         printf("Axis %u moved to %f on device %u at %f\n", event->axisID, event->value, event->device->deviceID, event->timestamp);
  35.     }
  36.     return true;
  37. }
  38.  
  39.  
  40. bool onDeviceAttached(void * sender, const char * eventID, void * eventData, void * context) {
  41.     struct Gamepad_device * device;
  42.  
  43.     printf("ATTACHED!");
  44.     device = eventData;
  45.     if (verbose) {
  46.         printf("Device ID %u attached (vendor = 0x%X; product = 0x%X)\n", device->deviceID, device->vendorID, device->productID);
  47.     }
  48.     device->eventDispatcher->registerForEvent(device->eventDispatcher, GAMEPAD_EVENT_BUTTON_DOWN, onButtonDown, device);
  49.     device->eventDispatcher->registerForEvent(device->eventDispatcher, GAMEPAD_EVENT_BUTTON_UP, onButtonUp, device);
  50.     device->eventDispatcher->registerForEvent(device->eventDispatcher, GAMEPAD_EVENT_AXIS_MOVED, onAxisMoved, device);
  51.     return true;
  52. }
  53.  
  54. bool onDeviceRemoved(void * sender, const char * eventID, void * eventData, void * context) {
  55.     struct Gamepad_device * device;
  56.  
  57.     device = eventData;
  58.     if (verbose) {
  59.         printf("Device ID %u removed\n", device->deviceID);
  60.     }
  61.     return true;
  62. }
  63.  
  64.  
  65.  
  66. int main()
  67. {
  68.     Gamepad_eventDispatcher()->registerForEvent(Gamepad_eventDispatcher(), GAMEPAD_EVENT_DEVICE_ATTACHED, onDeviceAttached, NULL);
  69.     Gamepad_eventDispatcher()->registerForEvent(Gamepad_eventDispatcher(), GAMEPAD_EVENT_DEVICE_REMOVED, onDeviceRemoved, NULL);
  70.  
  71.     Gamepad_init();
  72.     Gamepad_detectDevices();
  73.  
  74.     while (1) {
  75.         Gamepad_processEvents();
  76.         Sleep(1000/30);
  77.     }
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement