Hello, The attached patch should fix it?
Samuel
Index: BrailleDrivers/Papenmeier/Makefile.in =================================================================== --- BrailleDrivers/Papenmeier/Makefile.in (révision 3908) +++ BrailleDrivers/Papenmeier/Makefile.in (copie de travail) @@ -29,7 +29,7 @@ braille.$O: $(CC) $(BRL_CFLAGS) $(YACC_CFLAGS) -c $(SRC_DIR)/braille.c -READ_CONFIG_OBJECTS = read_config.$O $(BLD_TOP)$(PGM_DIR)/cmd.$O $(BLD_TOP)$(PGM_DIR)/charset.$O $(BLD_TOP)$(PGM_DIR)/lock.$O $(BLD_TOP)$(PGM_DIR)/host_misc.$O $(BLD_TOP)$(PGM_DIR)/host_io_misc.$O $(BLD_TOP)$(PGM_DIR)/host_queue.$O $(BLD_TOP)$(PGM_DIR)/host_async.$O $(BLD_TOP)$(PGM_DIR)/host_keyboard.$O $(BLD_TOP)$(PGM_DIR)/host_$(SYSTEM_OBJECT) +READ_CONFIG_OBJECTS = read_config.$O $(BLD_TOP)$(PGM_DIR)/cmd.$O $(BLD_TOP)$(PGM_DIR)/ttb_translate.$O $(BLD_TOP)$(PGM_DIR)/charset.$O $(BLD_TOP)$(PGM_DIR)/lock.$O $(BLD_TOP)$(PGM_DIR)/host_misc.$O $(BLD_TOP)$(PGM_DIR)/host_io_misc.$O $(BLD_TOP)$(PGM_DIR)/host_queue.$O $(BLD_TOP)$(PGM_DIR)/host_async.$O $(BLD_TOP)$(PGM_DIR)/host_keyboard.$O $(BLD_TOP)$(PGM_DIR)/host_$(SYSTEM_OBJECT) read_config$X: $(READ_CONFIG_OBJECTS) $(HOSTCC) $(HOSTLDFLAGS) -o $@ $(READ_CONFIG_OBJECTS) $(LDLIBS) Index: Programs/cmd.c =================================================================== --- Programs/cmd.c (révision 3908) +++ Programs/cmd.c (copie de travail) @@ -24,6 +24,7 @@ #include "misc.h" #include "brldefs.h" #include "cmd.h" +#include "ttb.h" #include "charset.h" @@ -215,21 +216,27 @@ } } +static brlapi_keyCode_t +cmdWCharToBrlapi(wchar_t wc) { + if (iswLatin1(wc)) { + /* latin1 character */ + return BRLAPI_KEY_TYPE_SYM | wc; + } else { + /* unicode character */ + return BRLAPI_KEY_TYPE_SYM | BRLAPI_KEY_SYM_UNICODE | wc; + } +} + brlapi_keyCode_t cmdBrlttyToBrlapi (int command) { brlapi_keyCode_t code; switch (command & BRL_MSK_BLK) { - case BRL_BLK_PASSCHAR: { - wchar_t wc = convertCharToWchar(command & BRL_MSK_ARG); - if (iswLatin1(wc)) { - /* latin1 character */ - code = wc; - } else { - /* unicode character */ - code = BRLAPI_KEY_SYM_UNICODE | wc; - } + case BRL_BLK_PASSCHAR: + code = cmdWCharToBrlapi(convertCharToWchar(command & BRL_MSK_ARG)); break; - } + case BRL_BLK_PASSDOTS: + code = cmdWCharToBrlapi(convertDotsToCharacter(textTable, command & BRL_MSK_ARG)); + break; case BRL_BLK_PASSKEY: switch (command & BRL_MSK_ARG) { case BRL_KEY_ENTER: code = BRLAPI_KEY_SYM_LINEFEED; break; @@ -261,7 +268,8 @@ | (command & BRL_FLG_LINE_TOLEFT ? BRLAPI_KEY_FLG_LINE_TOLEFT : 0) ; if ((command & BRL_MSK_BLK) == BRL_BLK_PASSCHAR - || (command & BRL_MSK_BLK) == BRL_BLK_PASSKEY) + || (command & BRL_MSK_BLK) == BRL_BLK_PASSKEY + || (command & BRL_MSK_BLK) == BRL_BLK_PASSDOTS) code = code | (command & BRL_FLG_CHAR_CONTROL ? BRLAPI_KEY_FLG_CONTROL : 0) | (command & BRL_FLG_CHAR_META ? BRLAPI_KEY_FLG_META : 0)
_______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: BRLTTY@mielke.cc For general information, go to: http://mielke.cc/mailman/listinfo/brltty