int BRLAPI_STDCALL brlapi_enterRawMode (const char *driver)
int BRLAPI_STDCALL brlapi__enterRawMode (brlapi_handle_t *handle, const char *driver)
int BRLAPI_STDCALL brlapi_leaveRawMode (void)
int BRLAPI_STDCALL brlapi__leaveRawMode (brlapi_handle_t *handle)
ssize_t BRLAPI_STDCALL brlapi_sendRaw (const void *buffer, size_t size)
ssize_t BRLAPI_STDCALL brlapi__sendRaw (brlapi_handle_t *handle, const void *buffer, size_t size)
ssize_t BRLAPI_STDCALL brlapi_recvRaw (void *buffer, size_t size)
ssize_t BRLAPI_STDCALL brlapi__recvRaw (brlapi_handle_t *handle, void *buffer, size_t size)
int BRLAPI_STDCALL brlapi_suspendDriver (const char *driver)
int BRLAPI_STDCALL brlapi__suspendDriver (brlapi_handle_t *handle, const char *driver)
int BRLAPI_STDCALL brlapi_resumeDriver (void)
int BRLAPI_STDCALL brlapi__resumeDriver (brlapi_handle_t *handle)
If the application wants to directly talk to the braille terminal, it should use Raw Mode. In this special mode, the driver gives the whole control of the terminal to it: brltty doesnt work any more.
For this, it simply has to call brlapi_enterRawMode(), then brlapi_sendRaw() and brlapi_recvRaw(), and finally give control back thanks to brlapi_leaveRawMode().
Special care of the terminal should be taken, since one might completely trash the terminals data, or even lock it! The application should always check for terminals type thanks to brlapi_getDriverName().
The client can also make brltty close the driver by using brlapi_suspendDriver(), and resume it again with brlapi_resumeDriver(). This should not be used if possible: raw mode should be sufficient for any use. If not, please ask for features :)
Switch to Raw mode
Leave Raw mode
Get Raw data
Resume braille driver
Send Raw data
Suspend braille driver