[BRLTTY] Bindings

Samuel Thibault samuel.thibault at ens-lyon.org
Sun Aug 17 17:42:57 EDT 2008


Hello,

The attached patch should fix it?

Samuel
-------------- next part --------------
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)


More information about the BRLTTY mailing list