Libpointing
An open-source cross-platform library to get raw events from pointing devices and master transfer functions.
USB.h
1 /* -*- mode: c++ -*-
2  *
3  * pointing/input/windows/USB.cpp --
4  *
5  * Initial software
6  * Authors: Damien Marchal, Izzat Mukhanov
7  * Copyright © Inria
8  *
9  * http://libpointing.org/
10  *
11  * This software may be used and distributed according to the terms of
12  * the GNU General Public License version 2 or any later version.
13  *
14  */
15 
16 #ifndef USB_H
17 #define USB_H
18 
19 #include <string>
20 #include <windows.h>
21 #include <iostream>
22 #include <stdexcept>
23 
24 // Dirty HACK. These defines are missing on my QT- installation... is this the case
25 // for other guy ? Maybe FIXME.
26 #ifndef WM_INPUT_DEVICE_CHANGE
27 #define WM_INPUT_DEVICE_CHANGE 0x00FE
28 #define GIDC_ARRIVAL 1
29 #define GIDC_REMOVAL 2
30 #define RIDEV_DEVNOTIFY 0x00002000
31 #define RIDEV_EXINPUTSINK 0x00001000
32 #endif //
33 
34 namespace pointing {
35 
43  void FindHIDDevice(unsigned int vid, unsigned int pid, std::string &vendor, std::string &product);
44 
54  bool getMouseNameFromDevice(HANDLE h, std::string &vendor, std::string &product, int *vendorID=0, int *productID=0);
55 
56 }
57 
58 #endif
Definition: DummyPointingDevice.cpp:23