Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include "Gamepad.h"
- #include <windows.h>
- #include <stdio.h>
- static bool verbose = true;
- bool onButtonDown(void * sender, const char * eventID, void * eventData, void * context) {
- struct Gamepad_buttonEvent * event;
- event = (Gamepad_buttonEvent *) eventData;
- if (verbose) {
- printf("Button %u down (%d) on device %u at %f\n", event->buttonID, (int) event->down, event->device->deviceID, event->timestamp);
- }
- return true;
- }
- bool onButtonUp(void * sender, const char * eventID, void * eventData, void * context) {
- struct Gamepad_buttonEvent * event;
- event = (Gamepad_buttonEvent *) eventData;
- if (verbose) {
- printf("Button %u up (%d) on device %u at %f\n", event->buttonID, (int) event->down, event->device->deviceID, event->timestamp);
- }
- return true;
- }
- bool onAxisMoved(void * sender, const char * eventID, void * eventData, void * context) {
- struct Gamepad_axisEvent * event;
- event = (Gamepad_axisEvent *) eventData;
- if (verbose) {
- printf("Axis %u moved to %f on device %u at %f\n", event->axisID, event->value, event->device->deviceID, event->timestamp);
- }
- return true;
- }
- bool onDeviceAttached(void * sender, const char * eventID, void * eventData, void * context) {
- struct Gamepad_device * device;
- printf("ATTACHED!");
- device = eventData;
- if (verbose) {
- printf("Device ID %u attached (vendor = 0x%X; product = 0x%X)\n", device->deviceID, device->vendorID, device->productID);
- }
- device->eventDispatcher->registerForEvent(device->eventDispatcher, GAMEPAD_EVENT_BUTTON_DOWN, onButtonDown, device);
- device->eventDispatcher->registerForEvent(device->eventDispatcher, GAMEPAD_EVENT_BUTTON_UP, onButtonUp, device);
- device->eventDispatcher->registerForEvent(device->eventDispatcher, GAMEPAD_EVENT_AXIS_MOVED, onAxisMoved, device);
- return true;
- }
- bool onDeviceRemoved(void * sender, const char * eventID, void * eventData, void * context) {
- struct Gamepad_device * device;
- device = eventData;
- if (verbose) {
- printf("Device ID %u removed\n", device->deviceID);
- }
- return true;
- }
- int main()
- {
- Gamepad_eventDispatcher()->registerForEvent(Gamepad_eventDispatcher(), GAMEPAD_EVENT_DEVICE_ATTACHED, onDeviceAttached, NULL);
- Gamepad_eventDispatcher()->registerForEvent(Gamepad_eventDispatcher(), GAMEPAD_EVENT_DEVICE_REMOVED, onDeviceRemoved, NULL);
- Gamepad_init();
- Gamepad_detectDevices();
- while (1) {
- Gamepad_processEvents();
- Sleep(1000/30);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement