[BRLTTY] Bindings

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


Jean-Philippe MENGUAL, le Mon 18 Aug 2008 00:31:21 +0200, a écrit :
> Unfortunately I'm sorry but I can't test because the patch seems to have 
> problems to apply on 3.8 release.

Ah, right, here is a 3.8 version (not even compiled though).

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)
 
--- Programs/cmd.c.orig	2008-08-17 23:36:28.000000000 +0100
+++ Programs/cmd.c	2008-08-17 23:41:47.000000000 +0100
@@ -23,6 +23,7 @@
 #include "misc.h"
 #include "brldefs.h"
 #include "cmd.h"
+#include "brl.h"
 
 #include "Programs/charset.h"
 
@@ -214,20 +215,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 (wc < 0x100)
-      /* 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(untextTable[command & BRL_MSK_ARG]);
     break;
-  }
   case BRL_BLK_PASSKEY:
     switch (command & BRL_MSK_ARG) {
     case BRL_KEY_ENTER:		code = BRLAPI_KEY_SYM_LINEFEED;	 break;


More information about the BRLTTY mailing list