Note: The information which follows is intended for professional programmers only. If you are not a professional programmer, please retain one to build the dll for you.
The DLL must export the following functions...
typedef void* HPEDALS; // typedef unsigned short uint16_t; #define ESPEDALS_RIGHT uint16_t(0x0001) #define ESPEDALS_LEFT uint16_t(0x0002) #define ESPEDALS_MID uint16_t(0x0004) // Note: If supporting 2 pedals only use ESPEDALS_RIGHT and ESPEDALS_LEFT // Note: If support 1 pedal only use ESPEDALS_LEFT extern "C" HPEDALS ExpressScribePedalsOpen(); // This is used to initialize data and connect to the pedals // Should return NULL if pedals are not available or it fails. // Returns an opaque 'handle'. Express Scribe just passes the same // 'handle' value back to Scan and Close (below). extern "C" uint16_t ExpressScribePedalsScan(HPEDALS hPedals); // Returns the or'd state of the pedals with the ESPEDALS_ constants above. // Returns 0 on failure (or if no pedals pushed) extern "C" void ExpressScribePedalsClose(HPEDALS hPedals); // This is used to close the connection to the pedals. // Must not crash if NULL value is passed in hPedals.You need to write your own installer to distribute the dll (with your pedals) and to install it in the Windows/System32 folder.