static wchar_t getCharacter (BrailleDisplay *brl) { for (;;) { switch (getByte()) { default: break; case BNI_CHARACTER: return convertDotsToCharacter(textTable, translateInputCell(getByte())); case BNI_SPACE: switch (getByte()) { default: break; case BNC_SPACE: return WC_C(' '); } break; case BNI_BACKSPACE: switch (getByte() & 0X3F) { default: break; case BNC_SPACE: return WC_C('\b'); } break; case BNI_ENTER: switch (getByte()) { default: break; case BNC_SPACE: return WC_C('\r'); } break; } refreshCells(brl); } }
static wchar_t toCharacter_mapped (unsigned char dots) { return convertDotsToCharacter(outputTable, dots); }
static int putMappedCharacter (unsigned char cell, void *data) { fputc(convertDotsToCharacter(textTable, cell), outputStream); return checkOutputStream(data); }