[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