Writing a driver for an unsupported controller
Manufacturers or distributors can enable support for hand-held or foot pedal controllers that aren't otherwise compatible with this application by supplying a dynamically linked library that provides an interface with the hardware.
Note: The information which follows is intended for professional programmers only. If you are not a professional programmer, please retain one to build the library for you.
Note: Custom drivers are currently only supported under Windows.
To develop the custom driver library:
Create a project to build a DLL. Express Dictate v5.12 and later, and Express Scribe v4.36 and later, can be configured to load a DLL with any name, however, for backwards compatibility, it is recommended that the name pedaldrv.dll be used.
Implement the following functions and export them from the DLL:
// Button / pedal bit masks
#define ESPEDALS_RIGHT 0x0001
#define ESPEDALS_LEFT 0x0002
#define ESPEDALS_MID 0x0004
// Note: To support only 2 buttons / pedals, use only ESPEDALS_RIGHT and ESPEDALS_LEFT.
// Note: To support only 1 button / pedal, use only ESPEDALS_LEFT.
// Note: Express Dictate v5.12 and later, and Express Scribe v4.36 and later, support
// up to 16 buttons / pedals. (0x0001 to 0x8000.)
extern "C" HPEDALS CustomPedalsOpen();
// Initialises the controller and opens a connection to it.
// Returns an opaque handle which is passed back to CustomPedalsScan() and CustomPedalsClose().
// Returns NULL on failure.
extern "C" uint16_t CustomPedalsScan(HPEDALS hPedals);
// Returns the bitwise OR of the bit masks of the buttons / pedals which are currently pressed.
// Returns 0 on failure, or if no buttons / pedals are pressed.
extern "C" void CustomPedalsClose(HPEDALS hPedals);
// Closes the connection to the controller.
// Must gracefully handle a value of NULL value being passed in hPedals.
Implement an installer to distribute the DLL. Express Dictate v5.12 and later, and Express Scribe v4.36 and later, can be configured to load the DLL from any folder, however, for backwards compatibility, it is recommended that the DLL is installed into the Windows/System32 folder.
To use the custom driver, refer to the application help on configuring hand-held or foot pedal controllers, and select Custom driver or Custom pedaldrv.dll when selecting the controller type.
Back to Express Scribe Transcription Software Technical Support