Hi,

First, I am moving the discussion to ports@.

I updated misc/brltty port to latest version (6.5 from June 9, 2022). I have 
mostly redone the port (lot of things changed since 2004), so I provide both a 
diff and a tarball.

But I don't have the hardware to test that it is working as expected. Martin, 
would you be able to test it ? it means applying the diff (or using the 
tarball) 
on ports tree, compiling and installing the port, and next use it with your 
hardware to effectively test it at runtime.

Regarding the use without screen session, I can't really comment. It seems to 
have some support for serial (via termios) and usb. But I can't say nothing 
about usage or configuration.

If someone could test it at runtime, I would be more confident in the update. I 
don't want to break such sensible port.

The port doesn't include manual as it needs 'linuxdoc' tool we don't have.

Comments or OK ?
-- 
Sebastien Marie

On Fri, May 19, 2023 at 11:28:41PM +0200, Odd Martin Baanrud wrote:
> Hello,
> 
> I’m blind, and therefor I’m using a refreshable braille display.
> In Linux, support is provided by the BRLTTY daemon.
> It doesn’t work under *BSD, and as far as I understand, it has to do with the 
> way the console driver is providing data.
> However, it could run within a screen session.
> In fact, OpenBSD has a port of BRLTTY for that purpose, but it’s a very old 
> version, which wouldn’t work with todays hardware.
> 
> My question is, can someone take a look at BRLTTY, and see if it’s possible 
> to get it work natively with *BSD?
> Perhaps things has changed in the last couple of years, so it is possible to 
> get it working without having to use screen.
> 
> If it’s possible, it would be nice if it could be integrated into the OpenBSD 
> base system, and made available in the installer as well.
> That way, a braille user can install OpenBSD without sighted help.
> 
> Just to keep things clear, a braille user can of course access a OpenBSD 
> system using braille, either via a serial console or ssh, from a linux 
> machine.
> 
> The homepage for BRLTTY is:
> http://www.brltty.com
> 
> Thanks!
> 
> Regards, Martin
> 
diff /home/semarie/repos/openbsd/ports
commit - 89d1b5b47fedce5d08047c32f13d4a4f0a8b3501
path + /home/semarie/repos/openbsd/ports
blob - 9c8ca8b046614aaa9c2a4eb6acaadd0674d65ec7
file + misc/brltty/Makefile
--- misc/brltty/Makefile
+++ misc/brltty/Makefile
@@ -1,45 +1,78 @@
-COMMENT=       access software for a blind person using a braille terminal
+COMMENT =      access software for a blind person using a braille terminal
 
-DISTNAME=      brltty-3.6
-REVISION=      6
-CATEGORIES=    misc
-HOMEPAGE=      http://mielke.cc/brltty
-MASTER_SITES=  ${HOMEPAGE}/releases/
+DISTNAME =     brltty-6.5
 
-# GPLv2
-PERMIT_PACKAGE=        Yes
+CATEGORIES =   misc
 
-COMPILER=      base-clang ports-gcc
-COMPILER_LANGS=        c
+HOMEPAGE =     https://brltty.app/
 
-WANTLIB=               c curses pthread sndio
+# LGPLv2.1
+PERMIT_PACKAGE =       Yes
 
-RUN_DEPENDS=   screen-*-shm:misc/screen-shm
-USE_GMAKE=     Yes
-CONFIGURE_STYLE=gnu
-CONFIGURE_ARGS=        --with-install-root=${WRKINST} \
-               --with-data-directory=${LOCALBASE}/share/brltty \
-               --without-flite --without-x
-MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/aux
+WANTLIB += X11 Xaw Xfixes Xt atspi c curses dbus-1 espeak-ng execinfo
+WANTLIB += expat flite flite_cmu_us_kal flite_cmulex flite_usenglish
+WANTLIB += glib-2.0 icudata icuuc intl louis m pcre2-32 pthread
+WANTLIB += sndio speechd
 
-NO_TEST=       Yes
-SEPARATE_BUILD=        Yes
+MASTER_SITES =         https://brltty.app/archive/
 
+BUILD_DEPENDS +=       devel/gettext,-tools
+
+LIB_DEPENDS +=         audio/espeak \
+                       audio/flite \
+                       audio/speech-dispatcher \
+                       devel/gettext,-runtime \
+                       devel/glib2 \
+                       devel/liblouis \
+                       devel/pcre2 \
+                       textproc/icu4c,-main \
+                       x11/dbus,-main \
+                       x11/gnome/at-spi2-core
+
+RUN_DEPENDS +=         screen-*-shm:misc/screen-shm
+
+SEPARATE_BUILD =       Yes
+USE_GMAKE =            Yes
+
+CONFIGURE_STYLE =      gnu
+CONFIGURE_ARGS =       \
+       --with-install-root="${WRKINST}" \
+       --with-manpage-directory="${PREFIX}/man" \
+       --sysconfdir="${PREFIX}/share/examples/brltty" \
+       --with-tables-directory="${PREFIX}/share/brltty" \
+       --disable-api \
+       --with-api-socket-path="${LOCALSTATEDIR}/BrlAPI" \
+       --enable-liblouis \
+       --disable-gpm \
+       --disable-polkit \
+       --disable-emacs-bindings \
+       --disable-java-bindings \
+       --disable-lisp-bindings \
+       --disable-lua-bindings \
+       --disable-ocaml-bindings \
+       --disable-python-bindings \
+       --disable-tcl-bindings \
+       --with-espeak_ng="${LOCALBASE}" \
+       --without-espeak \
+       --without-mikropuhe \
+       --without-swift \
+       --without-theta
+
+DEBUG_CONFIGURE_ARGS = --disable-stripping
+DEBUG_PACKAGES =       ${BUILD_PACKAGES}
+
+AUTOCONF_VERSION =     2.64
+AUTOMAKE_VERSION =     1.9
+
+NO_TEST =              Yes
+
 post-extract:
-       @cp ${FILESDIR}/sys_pcm_sndio.h  ${WRKSRC}/Programs
+       mv ${WRKSRC}/Programs/pcm_audio.c ${WRKSRC}/Programs/pcm_audio.c-old
+       cp ${FILESDIR}/pcm_audio.c ${WRKSRC}/Programs
 
 post-install:
-       rm -f ${PREFIX}/bin/brltty-install
        ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/brltty
        ${INSTALL_DATA} ${WRKBUILD}/Documents/brltty.conf \
                ${PREFIX}/share/doc/brltty
-       ${INSTALL_DATA} ${WRKSRC}/Documents/README \
-               ${WRKSRC}/Documents/Manual.txt \
-               ${WRKSRC}/Documents/Manual-HTML/Manual.html \
-               ${PREFIX}/share/doc/brltty
-.for chapter in 1 2 3 4 5 6 7 8 9
-       ${INSTALL_DATA} ${WRKSRC}/Documents/Manual-HTML/Manual-${chapter}.html \
-               ${PREFIX}/share/doc/brltty
-.endfor
 
 .include <bsd.port.mk>
blob - 0eaca6c445c647ee5fe5a003119c5ec60722db80
file + misc/brltty/distinfo
--- misc/brltty/distinfo
+++ misc/brltty/distinfo
@@ -1,2 +1,2 @@
-SHA256 (brltty-3.6.tar.gz) = 8Q91+YBgudigp7yzosDKL5uWYwoTE4WyzH02f697mRY=
-SIZE (brltty-3.6.tar.gz) = 1060457
+SHA256 (brltty-6.5.tar.gz) = /9x39eXLI5C5MJ3mPre+aNn+Yx6Jj02mwEqBWdrvwsA=
+SIZE (brltty-6.5.tar.gz) = 6121716
blob - /dev/null
file + misc/brltty/files/pcm_audio.c (mode 640)
--- /dev/null
+++ misc/brltty/files/pcm_audio.c
@@ -0,0 +1,140 @@
+/*
+ * BRLTTY - A background process providing access to the Linux console (when in
+ *          text mode) for a blind person using a refreshable braille display.
+ *
+ * Copyright (C) 1995-2004 by The BRLTTY Team. All rights reserved.
+ *
+ * BRLTTY comes with ABSOLUTELY NO WARRANTY.
+ *
+ * This is free software, placed under the terms of the
+ * GNU General Public License, as published by the Free Software
+ * Foundation.  Please see the file COPYING for details.
+ *
+ * Web Page: http://mielke.cc/brltty/
+ *
+ * This software is maintained by Dave Mielke <[email protected]>.
+ */
+
+#include "prologue.h"
+
+#include <sndio.h>
+
+#include "log.h"
+#include "pcm.h"
+
+struct PcmDeviceStruct {
+  struct sio_hdl *hdl;
+  struct sio_par par;
+};
+
+PcmDevice *
+openPcmDevice (int errorLevel, const char *device) {
+  PcmDevice *pcm;
+
+  if (!device)
+    device = SIO_DEVANY;
+  pcm = malloc(sizeof(*pcm));
+  if (pcm == NULL) {
+    logSystemError("PCM device allocation");
+    return NULL;
+  }
+  pcm->hdl = sio_open(device, SIO_PLAY, 0);
+  if (pcm->hdl == NULL) {
+      logMessage(errorLevel, "Cannot open PCM device: %s", device);
+      goto bad_free;
+  }
+  sio_initpar(&pcm->par);
+  pcm->par.bits = 16;
+  pcm->par.le = SIO_LE_NATIVE;
+  pcm->par.pchan = 1;
+  pcm->par.rate = 16000;
+  pcm->par.sig = 1;
+  if (!sio_setpar(pcm->hdl, &pcm->par) || !sio_getpar(pcm->hdl, &pcm->par)) {
+    logMessage(errorLevel, "Cannot set PCM device parameters");
+    goto bad_free;
+  }
+  if (pcm->par.bits != 16 || pcm->par.le != SIO_LE_NATIVE ||
+      pcm->par.pchan != 1 || pcm->par.rate != 16000) {
+    logMessage(errorLevel, "Unsupported PCM device parameters");
+    goto bad_free;
+  }
+  if (!sio_start(pcm->hdl)) {
+    logMessage(errorLevel, "Cannot start PCM device");
+    goto bad_free;
+  }
+  return pcm;
+bad_free:
+  free(pcm);
+  return NULL;
+}
+
+void
+closePcmDevice (PcmDevice *pcm) {
+  sio_close(pcm->hdl);
+  free(pcm);
+}
+
+int
+writePcmData (PcmDevice *pcm, const unsigned char *buffer, int count) {
+  return sio_write(pcm->hdl, buffer, count);
+}
+
+int
+getPcmBlockSize (PcmDevice *pcm) {
+  return pcm->par.appbufsz;
+}
+
+int
+getPcmSampleRate (PcmDevice *pcm) {
+  return pcm->par.rate;
+}
+
+int
+setPcmSampleRate (PcmDevice *pcm, int rate) {
+  return getPcmSampleRate(pcm);
+}
+
+int
+getPcmChannelCount (PcmDevice *pcm) {
+  return pcm->par.pchan;
+}
+
+int
+setPcmChannelCount (PcmDevice *pcm, int channels) {
+  return getPcmChannelCount(pcm);
+}
+
+PcmAmplitudeFormat
+getPcmAmplitudeFormat (PcmDevice *pcm) {
+  switch (pcm->par.bits) {
+  case 8:
+    return (pcm->par.sig) ? PCM_FMT_S8 : PCM_FMT_U8;
+    break;
+  case 16:
+    if (pcm->par.le) {
+      return (pcm->par.sig) ? PCM_FMT_S16L : PCM_FMT_U16L;
+    } else {
+      return (pcm->par.sig) ? PCM_FMT_S16B : PCM_FMT_U16B;
+    }
+    break;
+  default:
+    return PCM_FMT_UNKNOWN;
+  }
+}
+
+PcmAmplitudeFormat
+setPcmAmplitudeFormat (PcmDevice *pcm, PcmAmplitudeFormat format) {
+  return getPcmAmplitudeFormat(pcm);
+}
+
+void
+pushPcmOutput (PcmDevice *pcm) {
+}
+
+void
+awaitPcmOutput (PcmDevice *pcm) {
+}
+
+void
+cancelPcmOutput (PcmDevice *pcm) {
+}
blob - ee0ef7e8b28076341947bc3caf44bb463bd8937c
file + /dev/null
--- misc/brltty/files/sys_pcm_sndio.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * BRLTTY - A background process providing access to the Linux console (when in
- *          text mode) for a blind person using a refreshable braille display.
- *
- * Copyright (C) 1995-2004 by The BRLTTY Team. All rights reserved.
- *
- * BRLTTY comes with ABSOLUTELY NO WARRANTY.
- *
- * This is free software, placed under the terms of the
- * GNU General Public License, as published by the Free Software
- * Foundation.  Please see the file COPYING for details.
- *
- * Web Page: http://mielke.cc/brltty/
- *
- * This software is maintained by Dave Mielke <[email protected]>.
- */
-
-#include "iomisc.h"
-#include <sndio.h>
-
-struct PcmDeviceStruct {
-  struct sio_hdl *hdl;
-  struct sio_par par;
-};
-
-PcmDevice *
-openPcmDevice (int errorLevel, const char *device) {
-  PcmDevice *pcm;
-
-  if (!device)
-    device = SIO_DEVANY;
-  pcm = malloc(sizeof(*pcm));
-  if (pcm == NULL) {
-    LogError("PCM device allocation");
-    return NULL;
-  }
-  pcm->hdl = sio_open(device, SIO_PLAY, 0);
-  if (pcm->hdl == NULL) {
-      LogPrint(errorLevel, "Cannot open PCM device: %s", device);
-      goto bad_free;
-  }
-  sio_initpar(&pcm->par);
-  pcm->par.bits = 16;
-  pcm->par.le = SIO_LE_NATIVE;
-  pcm->par.pchan = 1;
-  pcm->par.rate = 16000;
-  pcm->par.sig = 1;
-  if (!sio_setpar(pcm->hdl, &pcm->par) || !sio_getpar(pcm->hdl, &pcm->par)) {
-    LogPrint(errorLevel, "Cannot set PCM device parameters");
-    goto bad_free;
-  }
-  if (pcm->par.bits != 16 || pcm->par.le != SIO_LE_NATIVE ||
-      pcm->par.pchan != 1 || pcm->par.rate != 16000) {
-    LogPrint(errorLevel, "Unsupported PCM device parameters");
-    goto bad_free;
-  }
-  if (!sio_start(pcm->hdl)) {
-    LogPrint(errorLevel, "Cannot start PCM device");
-    goto bad_free;
-  }
-  return pcm;
-bad_free:
-  free(pcm);
-  return NULL;
-}
-
-void
-closePcmDevice (PcmDevice *pcm) {
-  sio_close(pcm->hdl);
-  free(pcm);
-}
-
-int
-writePcmData (PcmDevice *pcm, const unsigned char *buffer, int count) {
-  return sio_write(pcm->hdl, buffer, count);
-}
-
-int
-getPcmBlockSize (PcmDevice *pcm) {
-  return pcm->par.appbufsz;
-}
-
-int
-getPcmSampleRate (PcmDevice *pcm) {
-  return pcm->par.rate;
-}
-
-int
-setPcmSampleRate (PcmDevice *pcm, int rate) {
-  return getPcmSampleRate(pcm);
-}
-
-int
-getPcmChannelCount (PcmDevice *pcm) {
-  return pcm->par.pchan;
-}
-
-int
-setPcmChannelCount (PcmDevice *pcm, int channels) {
-  return getPcmChannelCount(pcm);
-}
-
-PcmAmplitudeFormat
-getPcmAmplitudeFormat (PcmDevice *pcm) {
-  switch (pcm->par.bits) {
-  case 8:
-    return (pcm->par.sig) ? PCM_FMT_S8 : PCM_FMT_U8;
-    break;
-  case 16:
-    if (pcm->par.le) {
-      return (pcm->par.sig) ? PCM_FMT_S16L : PCM_FMT_U16L;
-    } else {
-      return (pcm->par.sig) ? PCM_FMT_S16B : PCM_FMT_U16B;
-    }
-    break;
-  default:
-    return PCM_FMT_UNKNOWN;
-  }
-}
-
-PcmAmplitudeFormat
-setPcmAmplitudeFormat (PcmDevice *pcm, PcmAmplitudeFormat format) {
-  return getPcmAmplitudeFormat(pcm);
-}
-
-void
-forcePcmOutput (PcmDevice *pcm) {
-}
-
-void
-awaitPcmOutput (PcmDevice *pcm) {
-}
-
-void
-cancelPcmOutput (PcmDevice *pcm) {
-}
blob - /dev/null
file + misc/brltty/patches/patch-Drivers_Screen_AtSpi2_Makefile_in (mode 640)
--- /dev/null
+++ misc/brltty/patches/patch-Drivers_Screen_AtSpi2_Makefile_in
@@ -0,0 +1,14 @@
+Properly pass compiler flags detected at configure-time
+
+Index: Drivers/Screen/AtSpi2/Makefile.in
+--- Drivers/Screen/AtSpi2/Makefile.in.orig
++++ Drivers/Screen/AtSpi2/Makefile.in
+@@ -32,7 +32,7 @@ screen.$O: $(OBJ_FILES)
+       $(MKREL) $@ $(OBJ_FILES)
+ 
+ xsel.$O: $(SRC_TOP)$(PGM_DIR)/xsel.c
+-      $(CC) $(SCR_CFLAGS) -c $<
++      $(CC) $(SCR_CFLAGS) $(X11_INCLUDES) -c $<
+ 
+ a2_screen.$O:
+       $(CC) $(SCR_CFLAGS) $(ATSPI2_INCLUDES) $(DBUS_INCLUDES) 
$(GLIB2_INCLUDES) -c $(SRC_DIR)/a2_screen.c
blob - /dev/null
file + misc/brltty/patches/patch-Programs_Makefile_in (mode 640)
--- /dev/null
+++ misc/brltty/patches/patch-Programs_Makefile_in
@@ -0,0 +1,60 @@
+- Properly pass compiler flags detected at configure-time
+- Pass -lsndio
+
+Index: Programs/Makefile.in
+--- Programs/Makefile.in.orig
++++ Programs/Makefile.in
+@@ -585,7 +585,7 @@ ctb_translate.$O:
+       $(CC) $(LIBCFLAGS) $(ICU_INCLUDES) -c $(SRC_DIR)/ctb_translate.c
+ 
+ ctb_native.$O:
+-      $(CC) $(LIBCFLAGS) -c $(SRC_DIR)/ctb_native.c
++      $(CC) $(LIBCFLAGS) $(ICU_INCLUDES) -c $(SRC_DIR)/ctb_native.c
+ 
+ ctb_external.$O:
+       $(CC) $(LIBCFLAGS) -c $(SRC_DIR)/ctb_external.c
+@@ -765,7 +765,7 @@ cldr.$O:
+ 
###############################################################################
+ 
+ rgx.$O:
+-      $(CC) $(LIBCFLAGS) -c $(SRC_DIR)/rgx.c
++      $(CC) $(LIBCFLAGS) $(RGX_INCLUDES) -c $(SRC_DIR)/rgx.c
+ 
+ $(RGX_OBJECT).$O:
+       $(CC) $(LIBCFLAGS) $(RGX_INCLUDES) -c $(SRC_DIR)/$(RGX_OBJECT).c
+@@ -877,7 +877,7 @@ learn.$O:
+ 
###############################################################################
+ 
+ BRLTTY_OBJECTS = brltty.$O $(CORE_OBJECTS)
+-BRLTTY_LIBRARIES = $(BRAILLE_DRIVER_LIBRARIES) $(SPEECH_DRIVER_LIBRARIES) 
$(SCREEN_DRIVER_LIBRARIES) $(SERVICE_LIBS) $(PCM_LIBS) $(MIDI_LIBS) $(USB_LIBS) 
$(BLUETOOTH_LIBS) $(HID_LIBS) $(LOUIS_LIBS) $(EXPAT_LIBS) $(RGX_LIBS) 
$(POLKIT_LIBS) $(LDLIBS)
++BRLTTY_LIBRARIES = $(BRAILLE_DRIVER_LIBRARIES) $(SPEECH_DRIVER_LIBRARIES) 
$(SCREEN_DRIVER_LIBRARIES) $(SERVICE_LIBS) $(PCM_LIBS) $(MIDI_LIBS) $(USB_LIBS) 
$(BLUETOOTH_LIBS) $(HID_LIBS) $(LOUIS_LIBS) $(EXPAT_LIBS) $(RGX_LIBS) 
$(POLKIT_LIBS) $(LDLIBS) -lsndio
+ 
+ brltty$X: $(BRLTTY_OBJECTS)
+       $(CC) $(LDFLAGS) -o $@ $(BRLTTY_OBJECTS) $(BRLTTY_LIBRARIES)
+@@ -978,7 +978,7 @@ scrtest.$O:
+ BRLTTY_TUNE_OBJECTS = brltty-tune.$O tune_utils.$O tune_build.$O 
$(PROGRAM_OBJECTS) $(PREFS_OBJECTS) $(TUNE_OBJECTS) io_misc.$O
+ 
+ brltty-tune$X: $(BRLTTY_TUNE_OBJECTS)
+-      $(CC) $(LDFLAGS) -o $@ $(BRLTTY_TUNE_OBJECTS) $(PCM_LIBS) $(MIDI_LIBS) 
$(LDLIBS)
++      $(CC) $(LDFLAGS) -o $@ $(BRLTTY_TUNE_OBJECTS) $(PCM_LIBS) $(MIDI_LIBS) 
$(LDLIBS) -lsndio
+ 
+ brltty-tune.$O:
+       $(CC) $(CFLAGS) -c $(SRC_DIR)/brltty-tune.c
+@@ -994,7 +994,7 @@ tune_build.$O:
+ BRLTTY_MORSE_OBJECTS = brltty-morse.$O morse.$O tune_utils.$O 
$(PROGRAM_OBJECTS) $(PREFS_OBJECTS) $(TUNE_OBJECTS) io_misc.$O
+ 
+ brltty-morse$X: $(BRLTTY_MORSE_OBJECTS)
+-      $(CC) $(LDFLAGS) -o $@ $(BRLTTY_MORSE_OBJECTS) $(PCM_LIBS) $(MIDI_LIBS) 
$(LDLIBS)
++      $(CC) $(LDFLAGS) -o $@ $(BRLTTY_MORSE_OBJECTS) $(PCM_LIBS) $(MIDI_LIBS) 
$(LDLIBS) -lsndio
+ 
+ brltty-morse.$O:
+       $(CC) $(CFLAGS) -c $(SRC_DIR)/brltty-morse.c
+@@ -1070,7 +1070,7 @@ xbrlapi.$O:
+       $(CC) $(CFLAGS) $(X11_INCLUDES) -c $(SRC_DIR)/xbrlapi.c
+ 
+ xsel.$O:
+-      $(CC) $(LIBCFLAGS) -c $(SRC_DIR)/xsel.c
++      $(CC) $(LIBCFLAGS) $(X11_INCLUDES) -c $(SRC_DIR)/xsel.c
+ 
+ 
###############################################################################
+ 
blob - 5ba4d0efd6a8f7e4b7e5fe4f205aa61f8bc7e632
file + /dev/null
--- misc/brltty/patches/patch-Programs_api_common_h
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: Programs/api_common.h
---- Programs/api_common.h.orig
-+++ Programs/api_common.h
-@@ -40,11 +40,11 @@ ssize_t brlapi_readFile(int fd, unsigned char *buf, si
- 
- /* brlapi_libcerrno */
- /* saves the libc errno */
--int brlapi_libcerrno;
-+extern int brlapi_libcerrno;
- 
- /* brlapi_liberrfun */
- /* saves the libc function which generated an error */
--const char *brlapi_libcerrfun;
-+extern const char *brlapi_libcerrfun;
- 
- /* brlapi_splitHost */
- /* splits host into hostname & port, returns address family to use */
blob - /dev/null
file + misc/brltty/patches/patch-Programs_auth_c (mode 640)
--- /dev/null
+++ misc/brltty/patches/patch-Programs_auth_c
@@ -0,0 +1,17 @@
+SO_PEERCRED is using `struct sockpeercred`
+
+Index: Programs/auth.c
+--- Programs/auth.c.orig
++++ Programs/auth.c
+@@ -180,7 +180,11 @@ checkPeerGroup (PeerCredentials *credentials, const Me
+ #elif defined(SO_PEERCRED)
+ #define CAN_CHECK_CREDENTIALS
+ 
++#ifdef __OpenBSD__
++typedef struct sockpeercred PeerCredentials;
++#else
+ typedef struct ucred PeerCredentials;
++#endif
+ 
+ static int
+ retrievePeerCredentials (PeerCredentials *credentials, int fd) {
blob - /dev/null
file + misc/brltty/patches/patch-Programs_beep_wskbd_c (mode 640)
--- /dev/null
+++ misc/brltty/patches/patch-Programs_beep_wskbd_c
@@ -0,0 +1,15 @@
+- dev/wscons/wsconsio.h needs sys/time.h to be present.
+- ioctl(2) needs sys/ioctl.h
+
+Index: Programs/beep_wskbd.c
+--- Programs/beep_wskbd.c.orig
++++ Programs/beep_wskbd.c
+@@ -18,6 +18,8 @@
+ 
+ #include "prologue.h"
+ 
++#include <sys/ioctl.h>
++#include <sys/time.h>
+ #include <dev/wscons/wsconsio.h>
+ 
+ #include "log.h"
blob - e645276d9312a46f49daf63f4a7e60da6ccefe3a
file + /dev/null
--- misc/brltty/patches/patch-Programs_cmd_c
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: Programs/cmd.c
---- Programs/cmd.c.orig
-+++ Programs/cmd.c
-@@ -87,8 +87,9 @@ describeCommand (int command, char *buffer, int size) 
-              candidate->name, number, candidate->description);
-   } else {
-     int offset;
--    snprintf(buffer, size, "%s: %n%s",
--             candidate->name, &offset, candidate->description);
-+    offset = strlen(candidate->name) + 2;
-+    snprintf(buffer, size, "%s: %s",
-+             candidate->name, candidate->description);
- 
-     if ((blk == 0) && (command & BRL_FLG_TOGGLE_MASK)) {
-       char *description = buffer + offset;
blob - 133d52e89f6934903224bb88ba736df798a3cdcf
file + /dev/null
--- misc/brltty/patches/patch-Programs_ctbtest_c
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: Programs/ctbtest.c
---- Programs/ctbtest.c.orig
-+++ Programs/ctbtest.c
-@@ -44,6 +44,7 @@ END_OPTION_TABLE
- 
- TranslationTable textTable;
- TranslationTable untextTable;
-+#define contractionTable staticContractionTable
- static void *contractionTable;
- 
- static void
blob - 8a02ca51418babe206149b862a76eaa7262249eb
file + /dev/null
--- misc/brltty/patches/patch-Programs_cut_h
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: Programs/cut.h
---- Programs/cut.h.orig
-+++ Programs/cut.h
-@@ -22,7 +22,7 @@
- extern "C" {
- #endif /* __cplusplus */
- 
--unsigned char *cut_buffer; /* for CMD_NXSEARCH */
-+extern unsigned char *cut_buffer; /* for CMD_NXSEARCH */
- extern void cut_begin (int column, int row);
- extern void cut_append (int column, int row);
- extern int cut_rectangle (int column, int row);
blob - 4beb4e99dc5b7dff95e2fce026d2e81d9ce74cc3
file + /dev/null
--- misc/brltty/patches/patch-Programs_serial_c
+++ /dev/null
@@ -1,21 +0,0 @@
-Index: Programs/serial.c
---- Programs/serial.c.orig
-+++ Programs/serial.c
-@@ -192,6 +192,17 @@ serialInitializeAttributes (struct termios *attributes
- #ifdef IEXTEN
-   attributes->c_lflag = IEXTEN;
- #endif /* IEXTEN */
-+
-+#ifdef _POSIX_VDISABLE
-+  if (_POSIX_VDISABLE) {
-+    int i;
-+    for (i=0; i<NCCS; ++i) {
-+      if (i == VTIME) continue;
-+      if (i == VMIN) continue;
-+      attributes->c_cc[i] = _POSIX_VDISABLE;
-+    }
-+  }
-+#endif /* _POSIX_VDISABLE */
- }
- 
- static int
blob - afbc7efb261aee34b2a3ea84af62290195098b6b
file + /dev/null
--- misc/brltty/patches/patch-Programs_sys_openbsd_c
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: Programs/sys_openbsd.c
---- Programs/sys_openbsd.c.orig
-+++ Programs/sys_openbsd.c
-@@ -40,7 +40,7 @@
- 
- #ifdef ENABLE_PCM_SUPPORT
- #define PCM_AUDIO_DEVICE_PATH "/dev/audio"
--#include "sys_pcm_audio.h"
-+#include "sys_pcm_sndio.h"
- #endif /* ENABLE_PCM_SUPPORT */
- 
- #ifdef ENABLE_MIDI_SUPPORT
blob - 1f5f671b3d78e90146805b459e2b69800c211a51
file + /dev/null
--- misc/brltty/patches/patch-configure
+++ /dev/null
@@ -1,11 +0,0 @@
-Index: configure
---- configure.orig
-+++ configure
-@@ -7790,6 +7790,7 @@ _ACEOF
-       ;;
-    openbsd*)
-       system_object="openbsd"
-+      LIBS="-lsndio ${LIBS}"
-       ;;
-    freebsd*)
-       system_object="freebsd"
blob - bc39649705ac15cf0b5230e697e2564c0b8becfb
file + misc/brltty/pkg/PLIST
--- misc/brltty/pkg/PLIST
+++ misc/brltty/pkg/PLIST
@@ -1,169 +1,719 @@
 @bin bin/brltty
-bin/brltty-config
+@bin bin/brltty-atb
+@bin bin/brltty-cldr
+bin/brltty-config.sh
+@bin bin/brltty-ctb
+bin/brltty-genkey
+@bin bin/brltty-hid
+@bin bin/brltty-ktb
+@bin bin/brltty-lscmds
+@bin bin/brltty-lsinc
+bin/brltty-mkuser
+@bin bin/brltty-morse
+bin/brltty-prologue.bash
+bin/brltty-prologue.lua
+bin/brltty-prologue.sh
+bin/brltty-prologue.tcl
+bin/brltty-setcaps
+@bin bin/brltty-trtxt
+@bin bin/brltty-ttb
+bin/brltty-ttysize
+@bin bin/brltty-tune
 include/brltty/
-include/brltty/api.h
-include/brltty/api_protocol.h
-include/brltty/brldefs.h
+include/brltty/addresses.h
+include/brltty/alert.h
+include/brltty/ascii.h
+include/brltty/async_alarm.h
+include/brltty/async_event.h
+include/brltty/async_handle.h
+include/brltty/async_io.h
+include/brltty/async_signal.h
+include/brltty/async_task.h
+include/brltty/async_types_alarm.h
+include/brltty/async_types_event.h
+include/brltty/async_types_handle.h
+include/brltty/async_types_io.h
+include/brltty/async_types_task.h
+include/brltty/async_types_wait.h
+include/brltty/async_wait.h
+include/brltty/atb.h
+include/brltty/auth.h
+include/brltty/beep.h
+include/brltty/bell.h
+include/brltty/bitfield.h
+include/brltty/bitmask.h
+include/brltty/brl_base.h
+include/brltty/brl_cmds.h
+include/brltty/brl_custom.h
+include/brltty/brl_dots.h
+include/brltty/brl_driver.h
+include/brltty/brl_types.h
+include/brltty/brl_utils.h
+include/brltty/charset.h
+include/brltty/cldr.h
+include/brltty/clipboard.h
+include/brltty/cmd.h
+include/brltty/cmd_enqueue.h
+include/brltty/cmd_types.h
+include/brltty/common_java.h
+include/brltty/config.h
+include/brltty/crc.h
+include/brltty/crc_algorithms.h
+include/brltty/crc_definitions.h
+include/brltty/crc_generate.h
+include/brltty/crc_properties.h
+include/brltty/crc_verify.h
+include/brltty/ctb.h
+include/brltty/ctb_types.h
+include/brltty/dataarea.h
+include/brltty/datafile.h
+include/brltty/device.h
+include/brltty/driver.h
+include/brltty/drivers.h
+include/brltty/dynld.h
+include/brltty/embed.h
+include/brltty/ezusb.h
+include/brltty/file.h
+include/brltty/fm.h
+include/brltty/fm_adlib.h
+include/brltty/forbuild.h
+include/brltty/get_curses.h
+include/brltty/get_select.h
+include/brltty/get_sockets.h
+include/brltty/get_thread.h
+include/brltty/gettime.h
+include/brltty/gio_types.h
+include/brltty/hid_braille.h
+include/brltty/hid_defs.h
+include/brltty/hid_inspect.h
+include/brltty/hid_items.h
+include/brltty/hid_tables.h
+include/brltty/hid_types.h
+include/brltty/hostcmd.h
+include/brltty/ihex.h
+include/brltty/ihex_types.h
+include/brltty/io_bluetooth.h
+include/brltty/io_generic.h
+include/brltty/io_hid.h
+include/brltty/io_misc.h
+include/brltty/io_serial.h
+include/brltty/io_usb.h
+include/brltty/kbd_keycodes.h
+include/brltty/ktb.h
+include/brltty/ktb_types.h
+include/brltty/leds.h
+include/brltty/lock.h
+include/brltty/log.h
+include/brltty/log_history.h
+include/brltty/menu.h
+include/brltty/message.h
+include/brltty/messages.h
+include/brltty/midi.h
+include/brltty/mntfs.h
+include/brltty/mntpt.h
+include/brltty/morse.h
+include/brltty/note_types.h
+include/brltty/notes.h
+include/brltty/options.h
+include/brltty/params.h
+include/brltty/parse.h
+include/brltty/pcm.h
+include/brltty/pgmpath.h
+include/brltty/pgmprivs.h
+include/brltty/pid.h
+include/brltty/ports.h
+include/brltty/prefs.h
+include/brltty/program.h
+include/brltty/prologue.h
+include/brltty/queue.h
+include/brltty/revision.h
+include/brltty/rgx.h
+include/brltty/scr_base.h
+include/brltty/scr_driver.h
+include/brltty/scr_gpm.h
+include/brltty/scr_main.h
+include/brltty/scr_real.h
+include/brltty/scr_types.h
+include/brltty/scr_utils.h
+include/brltty/serial_types.h
+include/brltty/service.h
+include/brltty/spk.h
+include/brltty/spk_base.h
+include/brltty/spk_driver.h
+include/brltty/spk_types.h
+include/brltty/status_types.h
+include/brltty/stdiox.h
+include/brltty/strfmt.h
+include/brltty/strfmth.h
+include/brltty/system.h
+include/brltty/system_darwin.h
+include/brltty/system_java.h
+include/brltty/system_linux.h
+include/brltty/system_msdos.h
+include/brltty/system_windows.h
+include/brltty/thread.h
+include/brltty/timing.h
+include/brltty/timing_types.h
+include/brltty/ttb.h
+include/brltty/tune.h
+include/brltty/tune_build.h
+include/brltty/tune_types.h
+include/brltty/tune_utils.h
+include/brltty/unicode.h
+include/brltty/usb_hid.h
+include/brltty/usb_types.h
+include/brltty/utf8.h
+include/brltty/variables.h
+include/brltty/win_errno.h
+include/brltty/win_pthread.h
+include/brltty/xsel.h
 lib/brltty/
-lib/brltty/brltty-brl.lst
-lib/brltty/brltty-spk.lst
 @so lib/brltty/libbrlttybal.so
 @so lib/brltty/libbrlttybat.so
+@so lib/brltty/libbrlttybbc.so
+@so lib/brltty/libbrlttybbd.so
 @so lib/brltty/libbrlttybbl.so
+@so lib/brltty/libbrlttybbm.so
 @so lib/brltty/libbrlttybbn.so
 @so lib/brltty/libbrlttybcb.so
+@so lib/brltty/libbrlttybce.so
+@so lib/brltty/libbrlttybcn.so
 @so lib/brltty/libbrlttybec.so
 @so lib/brltty/libbrlttybeu.so
+@so lib/brltty/libbrlttybfa.so
 @so lib/brltty/libbrlttybfs.so
+@so lib/brltty/libbrlttybhd.so
+@so lib/brltty/libbrlttybhm.so
 @so lib/brltty/libbrlttybht.so
+@so lib/brltty/libbrlttybhw.so
+@so lib/brltty/libbrlttybic.so
+@so lib/brltty/libbrlttybir.so
 @so lib/brltty/libbrlttyblt.so
 @so lib/brltty/libbrlttybmb.so
 @so lib/brltty/libbrlttybmd.so
+@so lib/brltty/libbrlttybmm.so
 @so lib/brltty/libbrlttybmn.so
+@so lib/brltty/libbrlttybmt.so
+@so lib/brltty/libbrlttybnp.so
+@so lib/brltty/libbrlttybpg.so
 @so lib/brltty/libbrlttybpm.so
+@so lib/brltty/libbrlttybsk.so
+@so lib/brltty/libbrlttybtn.so
 @so lib/brltty/libbrlttybts.so
 @so lib/brltty/libbrlttybtt.so
-@so lib/brltty/libbrlttybva.so
 @so lib/brltty/libbrlttybvd.so
-@so lib/brltty/libbrlttybvh.so
 @so lib/brltty/libbrlttybvo.so
 @so lib/brltty/libbrlttybvr.so
 @so lib/brltty/libbrlttybvs.so
+@so lib/brltty/libbrlttybxw.so
 @so lib/brltty/libbrlttysal.so
 @so lib/brltty/libbrlttysbl.so
 @so lib/brltty/libbrlttyscb.so
-@so lib/brltty/libbrlttyses.so
+@so lib/brltty/libbrlttysen.so
+@so lib/brltty/libbrlttysfl.so
 @so lib/brltty/libbrlttysfv.so
 @so lib/brltty/libbrlttysgs.so
-@static-lib lib/libbrlapi.a
-@so lib/libbrlapi.so
-@bin lib/libbrlapi.so.0.3.0
+@so lib/brltty/libbrlttyssd.so
+@so lib/brltty/libbrlttysxs.so
+@so lib/brltty/libbrlttyxa2.so
+@so lib/brltty/libbrlttyxsc.so
+lib/pkgconfig/brltty.pc
 @man man/man1/brltty.1
-@man man/man3/brlapi_closeConnection.3
-@man man/man3/brlapi_connection.3
-@man man/man3/brlapi_errlist.3
-@man man/man3/brlapi_errno.3
-@man man/man3/brlapi_errno_location.3
-@man man/man3/brlapi_error.3
-@man man/man3/brlapi_extWriteBrl.3
-@man man/man3/brlapi_extWriteStruct.3
-@man man/man3/brlapi_fd_mutex.3
-@man man/man3/brlapi_getDisplaySize.3
-@man man/man3/brlapi_getDriverId.3
-@man man/man3/brlapi_getDriverName.3
-@man man/man3/brlapi_getRaw.3
-@man man/man3/brlapi_getTty.3
-@man man/man3/brlapi_ignoreKeyRange.3
-@man man/man3/brlapi_ignoreKeySet.3
-@man man/man3/brlapi_info.3
-@man man/man3/brlapi_initializeConnection.3
-@man man/man3/brlapi_keys.3
-@man man/man3/brlapi_leaveRaw.3
-@man man/man3/brlapi_leaveTty.3
-@man man/man3/brlapi_loadAuthKey.3
-@man man/man3/brlapi_nerr.3
-@man man/man3/brlapi_perror.3
-@man man/man3/brlapi_protocol.3
-@man man/man3/brlapi_raw.3
-@man man/man3/brlapi_readCommand.3
-@man man/man3/brlapi_readKey.3
-@man man/man3/brlapi_readPacket.3
-@man man/man3/brlapi_recvRaw.3
-@man man/man3/brlapi_sendRaw.3
-@man man/man3/brlapi_settings_t.3
-@man man/man3/brlapi_strerror.3
-@man man/man3/brlapi_tty.3
-@man man/man3/brlapi_unignoreKeyRange.3
-@man man/man3/brlapi_unignoreKeySet.3
-@man man/man3/brlapi_write.3
-@man man/man3/brlapi_writeBrl.3
-@man man/man3/brlapi_writeBrlDots.3
-@man man/man3/brlapi_writePacket.3
 share/brltty/
-share/brltty/allchars.cti
-share/brltty/attrib.tbl
-share/brltty/attributes.tbl
-share/brltty/big5.ctb
-share/brltty/brltty-al.hlp
-share/brltty/brltty-at.hlp
-share/brltty/brltty-bl.hlp
-share/brltty/brltty-bn.hlp
-share/brltty/brltty-cb.hlp
-share/brltty/brltty-ec.hlp
-share/brltty/brltty-eu.hlp
-share/brltty/brltty-fs.hlp
-share/brltty/brltty-ht.hlp
-share/brltty/brltty-lt.hlp
-share/brltty/brltty-mb.hlp
-share/brltty/brltty-md.hlp
-share/brltty/brltty-mn.hlp
-share/brltty/brltty-pm-2d_l.hlp
-share/brltty/brltty-pm-2d_s.hlp
-share/brltty/brltty-pm-c.hlp
-share/brltty/brltty-pm-c_486.hlp
-share/brltty/brltty-pm-el_2d_40.hlp
-share/brltty/brltty-pm-el_2d_66.hlp
-share/brltty/brltty-pm-el_2d_80.hlp
-share/brltty/brltty-pm-el_40_p.hlp
-share/brltty/brltty-pm-el_40_s.hlp
-share/brltty/brltty-pm-el_66_s.hlp
-share/brltty/brltty-pm-el_80.hlp
-share/brltty/brltty-pm-el_80_s.hlp
-share/brltty/brltty-pm-elba_20.hlp
-share/brltty/brltty-pm-elba_32.hlp
-share/brltty/brltty-pm-ib_80.hlp
-share/brltty/brltty-pm.conf
-share/brltty/brltty-pm.hlp
-share/brltty/brltty-ts.hlp
-share/brltty/brltty-tt.hlp
-share/brltty/brltty-va.hlp
-share/brltty/brltty-vd.hlp
-share/brltty/brltty-vh.hlp
-share/brltty/brltty-vo.hlp
-share/brltty/brltty-vr.hlp
-share/brltty/brltty-vs.hlp
-share/brltty/compress.ctb
-share/brltty/countries.cti
-share/brltty/en-us-g2.ctb
-share/brltty/fr-abrege.ctb
-share/brltty/fr-integral.ctb
-share/brltty/text.brf.tbl
-share/brltty/text.cz.tbl
-share/brltty/text.da-1252.tbl
-share/brltty/text.da-lt.tbl
-share/brltty/text.da.tbl
-share/brltty/text.de.tbl
-share/brltty/text.es.tbl
-share/brltty/text.fi1.tbl
-share/brltty/text.fi2.tbl
-share/brltty/text.fr-cbifs.tbl
-share/brltty/text.fr-iso01.tbl
-share/brltty/text.fr.tbl
-share/brltty/text.identity.tbl
-share/brltty/text.it.tbl
-share/brltty/text.nabcc.tbl
-share/brltty/text.no-h.tbl
-share/brltty/text.no-p.tbl
-share/brltty/text.pl.tbl
-share/brltty/text.ru.tbl
-share/brltty/text.se1.tbl
-share/brltty/text.se2.tbl
-share/brltty/text.simple.tbl
-share/brltty/text.uk.tbl
-share/brltty/text.us.tbl
-share/brltty/text.visiob.tbl
-share/brltty/text.vni.tbl
+share/brltty/Attributes/
+share/brltty/Attributes/invleft_right.atb
+share/brltty/Attributes/left_right.atb
+share/brltty/Attributes/upper_lower.atb
+share/brltty/Contraction/
+share/brltty/Contraction/af.ctb
+share/brltty/Contraction/am.ctb
+share/brltty/Contraction/countries.cti
+share/brltty/Contraction/de-1998.ctb
+share/brltty/Contraction/de-2015.ctb
+share/brltty/Contraction/de-g0.ctb
+share/brltty/Contraction/de-g1.ctb
+share/brltty/Contraction/de-g2.ctb
+share/brltty/Contraction/de-wort.cti
+share/brltty/Contraction/de.ctb
+share/brltty/Contraction/en-ueb-g2.ctb
+share/brltty/Contraction/en-us-g2.ctb
+share/brltty/Contraction/en.ctb
+share/brltty/Contraction/en_US.ctb
+share/brltty/Contraction/es.ctb
+share/brltty/Contraction/fr-g1.ctb
+share/brltty/Contraction/fr-g2.ctb
+share/brltty/Contraction/fr.ctb
+share/brltty/Contraction/ha.ctb
+share/brltty/Contraction/id.ctb
+share/brltty/Contraction/ipa.ctb
+share/brltty/Contraction/ja.ctb
+share/brltty/Contraction/ko-g0.ctb
+share/brltty/Contraction/ko-g1.ctb
+share/brltty/Contraction/ko-g2.ctb
+share/brltty/Contraction/ko.ctb
+share/brltty/Contraction/latex-access.ctb
+share/brltty/Contraction/letters-latin.cti
+share/brltty/Contraction/lt.ctb
+share/brltty/Contraction/mg.ctb
+share/brltty/Contraction/mun.ctb
+share/brltty/Contraction/nabcc.cti
+share/brltty/Contraction/nl.ctb
+share/brltty/Contraction/none.ctb
+share/brltty/Contraction/ny.ctb
+share/brltty/Contraction/pt.ctb
+share/brltty/Contraction/ru.ctb
+share/brltty/Contraction/si.ctb
+share/brltty/Contraction/spaces.cti
+share/brltty/Contraction/sw.ctb
+share/brltty/Contraction/th.ctb
+share/brltty/Contraction/zh-tw.ctb
+share/brltty/Contraction/zh-tw.cti
+share/brltty/Contraction/zh_TW.ctb
+share/brltty/Contraction/zu.ctb
+share/brltty/Input/
+share/brltty/Input/al/
+share/brltty/Input/al/abt_basic.kti
+share/brltty/Input/al/abt_extra.kti
+share/brltty/Input/al/abt_large.ktb
+share/brltty/Input/al/abt_small.ktb
+share/brltty/Input/al/bc-etouch.kti
+share/brltty/Input/al/bc-smartpad.kti
+share/brltty/Input/al/bc-thumb.kti
+share/brltty/Input/al/bc.kti
+share/brltty/Input/al/bc640.ktb
+share/brltty/Input/al/bc680.ktb
+share/brltty/Input/al/el.ktb
+share/brltty/Input/al/sat_common.kti
+share/brltty/Input/al/sat_large.ktb
+share/brltty/Input/al/sat_nav.kti
+share/brltty/Input/al/sat_small.ktb
+share/brltty/Input/al/sat_speech.kti
+share/brltty/Input/al/sat_tumblers.kti
+share/brltty/Input/al/voyager.ktb
+share/brltty/Input/android-chords.kti
+share/brltty/Input/at/
+share/brltty/Input/at/all.ktb
+share/brltty/Input/ba/
+share/brltty/Input/ba/all.txt
+share/brltty/Input/bd/
+share/brltty/Input/bd/all.txt
+share/brltty/Input/bg/
+share/brltty/Input/bg/all.ktb
+share/brltty/Input/bl/
+share/brltty/Input/bl/18.txt
+share/brltty/Input/bl/40_m20_m40.txt
+share/brltty/Input/bm/
+share/brltty/Input/bm/NLS_Zoomax.ktb
+share/brltty/Input/bm/b2g.ktb
+share/brltty/Input/bm/b9b10.kti
+share/brltty/Input/bm/b9b11b10.kti
+share/brltty/Input/bm/command.kti
+share/brltty/Input/bm/connect.ktb
+share/brltty/Input/bm/conny.ktb
+share/brltty/Input/bm/d6.kti
+share/brltty/Input/bm/default.ktb
+share/brltty/Input/bm/display6.kti
+share/brltty/Input/bm/display7.kti
+share/brltty/Input/bm/dm80p.ktb
+share/brltty/Input/bm/emulate6.kti
+share/brltty/Input/bm/front10.kti
+share/brltty/Input/bm/front6.kti
+share/brltty/Input/bm/horizontal.kti
+share/brltty/Input/bm/inka.ktb
+share/brltty/Input/bm/joystick.kti
+share/brltty/Input/bm/keyboard.kti
+share/brltty/Input/bm/navpad.kti
+share/brltty/Input/bm/orbit.ktb
+share/brltty/Input/bm/pro.ktb
+share/brltty/Input/bm/pronto.ktb
+share/brltty/Input/bm/pv.ktb
+share/brltty/Input/bm/rb.ktb
+share/brltty/Input/bm/routing.kti
+share/brltty/Input/bm/routing6.kti
+share/brltty/Input/bm/routing7.kti
+share/brltty/Input/bm/status.kti
+share/brltty/Input/bm/sv.ktb
+share/brltty/Input/bm/ultra.ktb
+share/brltty/Input/bm/v40.ktb
+share/brltty/Input/bm/v80.ktb
+share/brltty/Input/bm/vertical.kti
+share/brltty/Input/bm/vk.ktb
+share/brltty/Input/bm/wheels.kti
+share/brltty/Input/bn/
+share/brltty/Input/bn/all.ktb
+share/brltty/Input/bn/input.kti
+share/brltty/Input/bp/
+share/brltty/Input/bp/all.kti
+share/brltty/Input/cb/
+share/brltty/Input/cb/all.ktb
+share/brltty/Input/ce/
+share/brltty/Input/ce/all.ktb
+share/brltty/Input/ce/novem.ktb
+share/brltty/Input/chords.kti
+share/brltty/Input/cn/
+share/brltty/Input/cn/all.ktb
+share/brltty/Input/ec/
+share/brltty/Input/ec/all.txt
+share/brltty/Input/ec/spanish.txt
+share/brltty/Input/eu/
+share/brltty/Input/eu/all.txt
+share/brltty/Input/eu/braille.kti
+share/brltty/Input/eu/clio.ktb
+share/brltty/Input/eu/common.kti
+share/brltty/Input/eu/esys_large.ktb
+share/brltty/Input/eu/esys_medium.ktb
+share/brltty/Input/eu/esys_small.ktb
+share/brltty/Input/eu/esytime.ktb
+share/brltty/Input/eu/iris.ktb
+share/brltty/Input/eu/joysticks.kti
+share/brltty/Input/eu/routing.kti
+share/brltty/Input/eu/sw12.kti
+share/brltty/Input/eu/sw34.kti
+share/brltty/Input/eu/sw56.kti
+share/brltty/Input/fa/
+share/brltty/Input/fa/all.ktb
+share/brltty/Input/fs/
+share/brltty/Input/fs/bumpers.kti
+share/brltty/Input/fs/common.kti
+share/brltty/Input/fs/focus.kti
+share/brltty/Input/fs/focus1.ktb
+share/brltty/Input/fs/focus14.ktb
+share/brltty/Input/fs/focus40.ktb
+share/brltty/Input/fs/focus80.ktb
+share/brltty/Input/fs/keyboard.kti
+share/brltty/Input/fs/pacmate.ktb
+share/brltty/Input/fs/rockers.kti
+share/brltty/Input/fs/speech.kti
+share/brltty/Input/hd/
+share/brltty/Input/hd/mbl.ktb
+share/brltty/Input/hd/pfl.ktb
+share/brltty/Input/hm/
+share/brltty/Input/hm/beetle.ktb
+share/brltty/Input/hm/braille.kti
+share/brltty/Input/hm/common.kti
+share/brltty/Input/hm/contexts.kti
+share/brltty/Input/hm/edge.ktb
+share/brltty/Input/hm/f14.kti
+share/brltty/Input/hm/f18.kti
+share/brltty/Input/hm/fnkey.kti
+share/brltty/Input/hm/left.kti
+share/brltty/Input/hm/letters.kti
+share/brltty/Input/hm/pan.ktb
+share/brltty/Input/hm/pan.kti
+share/brltty/Input/hm/qwerty.ktb
+share/brltty/Input/hm/qwerty.kti
+share/brltty/Input/hm/right.kti
+share/brltty/Input/hm/scroll.ktb
+share/brltty/Input/hm/scroll.kti
+share/brltty/Input/hm/sync.ktb
+share/brltty/Input/ht/
+share/brltty/Input/ht/ab.ktb
+share/brltty/Input/ht/ab.kti
+share/brltty/Input/ht/ab_s.ktb
+share/brltty/Input/ht/ac4.ktb
+share/brltty/Input/ht/alo.ktb
+share/brltty/Input/ht/as40.ktb
+share/brltty/Input/ht/bb.ktb
+share/brltty/Input/ht/bbp.ktb
+share/brltty/Input/ht/bkwm.ktb
+share/brltty/Input/ht/brln.ktb
+share/brltty/Input/ht/bs.kti
+share/brltty/Input/ht/bs40.ktb
+share/brltty/Input/ht/bs80.ktb
+share/brltty/Input/ht/cb40.ktb
+share/brltty/Input/ht/dots.kti
+share/brltty/Input/ht/easy.ktb
+share/brltty/Input/ht/input.kti
+share/brltty/Input/ht/joystick.kti
+share/brltty/Input/ht/keypad.kti
+share/brltty/Input/ht/mc88.ktb
+share/brltty/Input/ht/mdlr.ktb
+share/brltty/Input/ht/me.kti
+share/brltty/Input/ht/me64.ktb
+share/brltty/Input/ht/me88.ktb
+share/brltty/Input/ht/rockers.kti
+share/brltty/Input/ht/wave.ktb
+share/brltty/Input/hw/
+share/brltty/Input/hw/B80.ktb
+share/brltty/Input/hw/BI14.ktb
+share/brltty/Input/hw/BI20X.ktb
+share/brltty/Input/hw/BI32.ktb
+share/brltty/Input/hw/BI40.ktb
+share/brltty/Input/hw/BI40X.ktb
+share/brltty/Input/hw/C20.ktb
+share/brltty/Input/hw/M40.ktb
+share/brltty/Input/hw/NLS.ktb
+share/brltty/Input/hw/braille.kti
+share/brltty/Input/hw/command.kti
+share/brltty/Input/hw/joystick.kti
+share/brltty/Input/hw/one.ktb
+share/brltty/Input/hw/routing.kti
+share/brltty/Input/hw/thumb.kti
+share/brltty/Input/hw/thumb_legacy.kti
+share/brltty/Input/hw/touch.ktb
+share/brltty/Input/ic/
+share/brltty/Input/ic/bb.ktb
+share/brltty/Input/ic/chords.kti
+share/brltty/Input/ic/common.kti
+share/brltty/Input/ic/nvda.ktb
+share/brltty/Input/ic/route.kti
+share/brltty/Input/ic/toggle.kti
+share/brltty/Input/ir/
+share/brltty/Input/ir/all.kti
+share/brltty/Input/ir/brl.ktb
+share/brltty/Input/ir/pc.ktb
+share/brltty/Input/lb/
+share/brltty/Input/lb/all.txt
+share/brltty/Input/lt/
+share/brltty/Input/lt/all.txt
+share/brltty/Input/mb/
+share/brltty/Input/mb/all.txt
+share/brltty/Input/md/
+share/brltty/Input/md/common.kti
+share/brltty/Input/md/default.ktb
+share/brltty/Input/md/fk.ktb
+share/brltty/Input/md/fk_s.ktb
+share/brltty/Input/md/fkeys.kti
+share/brltty/Input/md/kbd.ktb
+share/brltty/Input/md/keyboard.kti
+share/brltty/Input/md/status.kti
+share/brltty/Input/menu.kti
+share/brltty/Input/mm/
+share/brltty/Input/mm/common.kti
+share/brltty/Input/mm/pocket.ktb
+share/brltty/Input/mm/smart.ktb
+share/brltty/Input/mn/
+share/brltty/Input/mn/all.txt
+share/brltty/Input/mt/
+share/brltty/Input/mt/bd1_3.ktb
+share/brltty/Input/mt/bd1_3.kti
+share/brltty/Input/mt/bd1_3s.ktb
+share/brltty/Input/mt/bd1_6.ktb
+share/brltty/Input/mt/bd1_6.kti
+share/brltty/Input/mt/bd1_6s.ktb
+share/brltty/Input/mt/bd2.ktb
+share/brltty/Input/mt/status.kti
+share/brltty/Input/nav.kti
+share/brltty/Input/no/
+share/brltty/Input/no/all.txt
+share/brltty/Input/np/
+share/brltty/Input/np/all.ktb
+share/brltty/Input/pg/
+share/brltty/Input/pg/all.ktb
+share/brltty/Input/pm/
+share/brltty/Input/pm/2d_l.ktb
+share/brltty/Input/pm/2d_s.ktb
+share/brltty/Input/pm/bar.kti
+share/brltty/Input/pm/c.ktb
+share/brltty/Input/pm/c_486.ktb
+share/brltty/Input/pm/el2d_80s.ktb
+share/brltty/Input/pm/el40c.ktb
+share/brltty/Input/pm/el40s.ktb
+share/brltty/Input/pm/el60c.ktb
+share/brltty/Input/pm/el66s.ktb
+share/brltty/Input/pm/el70s.ktb
+share/brltty/Input/pm/el80_ii.ktb
+share/brltty/Input/pm/el80c.ktb
+share/brltty/Input/pm/el80s.ktb
+share/brltty/Input/pm/el_2d_40.ktb
+share/brltty/Input/pm/el_2d_66.ktb
+share/brltty/Input/pm/el_2d_80.ktb
+share/brltty/Input/pm/el_40_p.ktb
+share/brltty/Input/pm/el_80.ktb
+share/brltty/Input/pm/elb_tr_20.ktb
+share/brltty/Input/pm/elb_tr_32.ktb
+share/brltty/Input/pm/elba_20.ktb
+share/brltty/Input/pm/elba_32.ktb
+share/brltty/Input/pm/front13.kti
+share/brltty/Input/pm/front9.kti
+share/brltty/Input/pm/ib_80.ktb
+share/brltty/Input/pm/keyboard.kti
+share/brltty/Input/pm/keys.kti
+share/brltty/Input/pm/live.ktb
+share/brltty/Input/pm/routing.kti
+share/brltty/Input/pm/status0.kti
+share/brltty/Input/pm/status13.kti
+share/brltty/Input/pm/status2.kti
+share/brltty/Input/pm/status20.kti
+share/brltty/Input/pm/status22.kti
+share/brltty/Input/pm/status4.kti
+share/brltty/Input/pm/switches.kti
+share/brltty/Input/pm/trio.ktb
+share/brltty/Input/sk/
+share/brltty/Input/sk/bdp.ktb
+share/brltty/Input/sk/ntk.ktb
+share/brltty/Input/speech.kti
+share/brltty/Input/tn/
+share/brltty/Input/tn/all.txt
+share/brltty/Input/toggle.kti
+share/brltty/Input/ts/
+share/brltty/Input/ts/nav.kti
+share/brltty/Input/ts/nav20.ktb
+share/brltty/Input/ts/nav40.ktb
+share/brltty/Input/ts/nav80.ktb
+share/brltty/Input/ts/nav_large.kti
+share/brltty/Input/ts/nav_small.kti
+share/brltty/Input/ts/pb.kti
+share/brltty/Input/ts/pb40.ktb
+share/brltty/Input/ts/pb65.ktb
+share/brltty/Input/ts/pb80.ktb
+share/brltty/Input/ts/pb_large.kti
+share/brltty/Input/ts/pb_small.kti
+share/brltty/Input/ts/routing.kti
+share/brltty/Input/tt/
+share/brltty/Input/tt/all.txt
+share/brltty/Input/vd/
+share/brltty/Input/vd/all.txt
+share/brltty/Input/vo/
+share/brltty/Input/vo/all.ktb
+share/brltty/Input/vo/all.kti
+share/brltty/Input/vo/bp.ktb
+share/brltty/Input/vr/
+share/brltty/Input/vr/all.txt
+share/brltty/Input/vs/
+share/brltty/Input/vs/all.txt
+share/brltty/Input/xw/
+share/brltty/Input/xw/all.txt
+share/brltty/Keyboard/
+share/brltty/Keyboard/braille.ktb
+share/brltty/Keyboard/braille.kti
+share/brltty/Keyboard/desktop.ktb
+share/brltty/Keyboard/desktop.kti
+share/brltty/Keyboard/keypad.ktb
+share/brltty/Keyboard/kp_say.kti
+share/brltty/Keyboard/kp_speak.kti
+share/brltty/Keyboard/laptop.ktb
+share/brltty/Keyboard/sun_type6.ktb
+share/brltty/Text/
+share/brltty/Text/alias.tti
+share/brltty/Text/ar.ttb
+share/brltty/Text/as.ttb
+share/brltty/Text/ascii-basic.tti
+share/brltty/Text/awa.ttb
+share/brltty/Text/bengali.tti
+share/brltty/Text/bg.ttb
+share/brltty/Text/bh.ttb
+share/brltty/Text/blocks.tti
+share/brltty/Text/bn.ttb
+share/brltty/Text/bo.ttb
+share/brltty/Text/boxes.tti
+share/brltty/Text/bra.ttb
+share/brltty/Text/brf.ttb
+share/brltty/Text/common.tti
+share/brltty/Text/cs.ttb
+share/brltty/Text/ctl-latin.tti
+share/brltty/Text/cy.ttb
+share/brltty/Text/da-1252.ttb
+share/brltty/Text/da-lt.ttb
+share/brltty/Text/da.ttb
+share/brltty/Text/de-chess.tti
+share/brltty/Text/de.ttb
+share/brltty/Text/devanagari.tti
+share/brltty/Text/dra.ttb
+share/brltty/Text/el.ttb
+share/brltty/Text/en-chess.tti
+share/brltty/Text/en-na-ascii.tti
+share/brltty/Text/en-nabcc.ttb
+share/brltty/Text/en.ttb
+share/brltty/Text/en_CA.ttb
+share/brltty/Text/en_GB.ttb
+share/brltty/Text/en_US.ttb
+share/brltty/Text/eo.ttb
+share/brltty/Text/es.ttb
+share/brltty/Text/et.ttb
+share/brltty/Text/fi.ttb
+share/brltty/Text/fr-2007.ttb
+share/brltty/Text/fr-cbifs.ttb
+share/brltty/Text/fr-vs.ttb
+share/brltty/Text/fr.ttb
+share/brltty/Text/fr_CA.ttb
+share/brltty/Text/fr_FR.ttb
+share/brltty/Text/ga.ttb
+share/brltty/Text/gd.ttb
+share/brltty/Text/gon.ttb
+share/brltty/Text/greek.tti
+share/brltty/Text/gu.ttb
+share/brltty/Text/gujarati.tti
+share/brltty/Text/gurmukhi.tti
+share/brltty/Text/he.ttb
+share/brltty/Text/hi.ttb
+share/brltty/Text/hr.ttb
+share/brltty/Text/hu.ttb
+share/brltty/Text/hy.ttb
+share/brltty/Text/is.ttb
+share/brltty/Text/it.ttb
+share/brltty/Text/kannada.tti
+share/brltty/Text/kha.ttb
+share/brltty/Text/kn.ttb
+share/brltty/Text/kok.ttb
+share/brltty/Text/kru.ttb
+share/brltty/Text/lt.ttb
+share/brltty/Text/ltr-alias.tti
+share/brltty/Text/ltr-cyrillic.tti
+share/brltty/Text/ltr-dot8.tti
+share/brltty/Text/ltr-latin.tti
+share/brltty/Text/ltr-tibetan.tti
+share/brltty/Text/lv.ttb
+share/brltty/Text/malayalam.tti
+share/brltty/Text/mg.ttb
+share/brltty/Text/mi.ttb
+share/brltty/Text/ml.ttb
+share/brltty/Text/mni.ttb
+share/brltty/Text/mr.ttb
+share/brltty/Text/mt.ttb
+share/brltty/Text/mun.ttb
+share/brltty/Text/mwr.ttb
+share/brltty/Text/ne.ttb
+share/brltty/Text/new.ttb
+share/brltty/Text/nl.ttb
+share/brltty/Text/nl_BE.ttb
+share/brltty/Text/nl_NL.ttb
+share/brltty/Text/no-generic.ttb
+share/brltty/Text/no-oup.ttb
+share/brltty/Text/no.ttb
+share/brltty/Text/num-alias.tti
+share/brltty/Text/num-dot6.tti
+share/brltty/Text/num-dot8.tti
+share/brltty/Text/num-french.tti
+share/brltty/Text/num-nemd8.tti
+share/brltty/Text/num-nemeth.tti
+share/brltty/Text/nwc.ttb
+share/brltty/Text/or.ttb
+share/brltty/Text/oriya.tti
+share/brltty/Text/pa.ttb
+share/brltty/Text/pi.ttb
+share/brltty/Text/pl.ttb
+share/brltty/Text/pt.ttb
+share/brltty/Text/punc-alternate.tti
+share/brltty/Text/punc-basic.tti
+share/brltty/Text/punc-tibetan.tti
+share/brltty/Text/ro.ttb
+share/brltty/Text/ru.ttb
+share/brltty/Text/sa.ttb
+share/brltty/Text/sat.ttb
+share/brltty/Text/sd.ttb
+share/brltty/Text/se.ttb
+share/brltty/Text/sk.ttb
+share/brltty/Text/sl.ttb
+share/brltty/Text/sv-1989.ttb
+share/brltty/Text/sv-1996.ttb
+share/brltty/Text/sv.ttb
+share/brltty/Text/sw.ttb
+share/brltty/Text/ta.ttb
+share/brltty/Text/tamil.tti
+share/brltty/Text/te.ttb
+share/brltty/Text/telugu.tti
+share/brltty/Text/tr.ttb
+share/brltty/Text/uk.ttb
+share/brltty/Text/vi.ttb
+share/brltty/Text/win-1252.tti
 share/doc/brltty/
-share/doc/brltty/Manual-1.html
-share/doc/brltty/Manual-2.html
-share/doc/brltty/Manual-3.html
-share/doc/brltty/Manual-4.html
-share/doc/brltty/Manual-5.html
-share/doc/brltty/Manual-6.html
-share/doc/brltty/Manual-7.html
-share/doc/brltty/Manual-8.html
-share/doc/brltty/Manual-9.html
-share/doc/brltty/Manual.html
-share/doc/brltty/Manual.txt
-share/doc/brltty/README
 share/doc/brltty/brltty.conf
+share/locale/ar/LC_MESSAGES/brltty.mo
+share/locale/de/LC_MESSAGES/brltty.mo
+share/locale/fr/LC_MESSAGES/brltty.mo
+share/locale/it/LC_MESSAGES/brltty.mo
+share/locale/ru/LC_MESSAGES/brltty.mo
+share/locale/zh/
+share/locale/zh/LC_MESSAGES/
+share/locale/zh/LC_MESSAGES/brltty.mo

Attachment: brltty.tgz
Description: application/tar-gz

Reply via email to