Re: [BRLTTY] brltty 6.6 under windows not working?

2024-05-21 Thread Mario Lang
Hi.

None of our active devs really use Windows on a regular basis.
I wonder if it was a good idea to port to that platform, since that
raises expectations on the user side.


Simon Eigeldinger  writes:

> Hi,
>
> Have redone that with admin privileges.
> Forgot about that. :-)
> Seems we have the same errors.
> attached is the file.
> Greetings,
> Simon
>
>
> Am 20.05.2024 um 01:18 schrieb Jason J.G. White:
>> On 19/5/24 16:02, Simon Eigeldinger wrote:
>>> I tried brltty versions 6.3, 6.4, 6.5 and 6.6.
>>>
>>> Attached is the brltty.log of brltty 6.6.
>> There appear to be Windows USB errors. Did you run it with
>> administrative privilege? I suspect this isn't the issue, but we
>> might as well check.
>> I'm not running Windows, so that's the limit of my ability to help.
>> ___
>> This message was sent via the BRLTTY mailing list.
>> To post a message, send an e-mail to: BRLTTY@brltty.app
>> For general information, go to: http://brltty.app/mailman/listinfo/brltty
>
>
> ___
> This message was sent via the BRLTTY mailing list.
> To post a message, send an e-mail to: BRLTTY@brltty.app
> For general information, go to: http://brltty.app/mailman/listinfo/brltty
>

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Braille display unable to type or navigate screen in Ubuntu 22.04

2024-05-08 Thread Mario Lang
Harry Bell  writes:


[...]

> How can I get my newly set up Ubuntu 24.04 laptop to accept my focus Blue 14
> 5th Gen Braille display as an input device for typing and giving commands to
> navigate the screen? 
> I have installed Ubuntu 24.4 along with Orca and the MATE desktop. I have
> run BRLTTY and now my focus Blue 14 5th Gen Braille display shows in Braille
> what is on the laptop screen. But when I try typing, nothing happens.

Maybe these key bindings help?

* set braille keyboard enabled: Space+Dots138
* set braille keyboard disabled: Space+Dots137
  
> And i have no idea how to navigate the laptop screen.,

Maybe reading the help page for the Focus 14 will help?
http://brltty.app/doc/KeyBindings/brl-fs-focus14.html

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Very beginner Focus 1 70 cell display installation related question

2024-04-11 Thread Mario Lang
Hammer Attila  writes:

> A close friend of mine only has 64-bit Windows 11 (maybe 2023 h2).
> Do you think it is possible to connect this display with a USB serial
> converter via a serial cable?

Well, I don't know the hardware, but if it still has a serial port, this
is definitely something to try if you want to get it working...

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Very beginner Focus 1 70 cell display installation related question

2024-04-11 Thread Mario Lang
Hammer Attila  writes:

> Hello,
>
> I doed a detailed test (unfortunatelly without success result) to follow
> back what versions of BRLTTY worked right previous this old Focus1 modell.

Do you have current evidence that the device works at all?
In other words, have you successfully initialized it with any other
screen reader?  When was the last time the device worked for you?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Affordable refreshable braille display project

2024-03-19 Thread Mario Lang
"Jason J.G. White"  writes:

> On 18/3/24 14:49, Sébastien Hinderer wrote:
>
>  I confess that the document felt too long for me to try to study it so I
> am just passing the link,, with the hope that it wiill be of interest to
> somebody on the list.
>
> This appeared in social media recently as well. Without commenting on that
> particular proposal (or set of proposals), I can say the following.
>
> There have been many braille display cell technology proposals over the last
> several decades, few of which have ever been developed into products, and
> details of which can be found by searching a patent database. I've learned
> to treat new such proposals with scepticism, at least until there's a
> working prototype demonstrated publicly and a plausible plan to manufacture
> a device.

And rightly so.  The graveyard of failed projects is huge.
And a few years ago, I think I even happened to cross paths with an
outright scam.  Besides marketing and a "demo" unit made of wood which
only demonstrated the size of the planned device, there was never
anything substantial.  After some funding was acquired, the team
suddenly vanished with no trace.  I am deliberately not naming names,
but you know who you are if you read this.

It has become hard to decide if a "this should be cheaper and simpler"
EE-project is worthy of support.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] repairing is necessary

2024-01-18 Thread Mario Lang
Lars Bjørndal  writes:

> I've a Raspberry Pi 3B+ connected to a Handy Tech Active Braille braille
> display. I use it with BRLTTY only, no graphical UI. After switching
> from Raspberry pi OS Bullseye 32-bit to bookworm
> 64-bit, I experience from time to time that I have to use bluetoothctl's
> remove device command, followed by scan, pair and trust to
> reactivate the connections with the display. Is there something I can do
> to prevent this from happening so that I have a more stable solution?

All I can say is that my experience with the Active Star bluetooth
firmware was not very good.  Since the products are somewhat similar
(Active Braille came first, then Active Star) I am suspecting you might
see a firmware problem of the braille device.
In general, BRLTTY makes use of the Linux bluetooth stack.
Things like pairing are more or less out of our control.

Personally, while I've had some pleasant experiences with Bluetooth, all
my devices are wired these days.  It is just that tad bit more stable,
and fewer things to care about/maintain.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Brltty support on OpenBSD

2023-06-26 Thread Mario Lang
Nicolas Pitre  writes:

> On Sun, 25 Jun 2023, Dave Mielke wrote:
>
>> [quoted lines by Crystal Kolipe on 2023/06/25 at 21:17 -0300]
>> 
>> >It's certainly possible to patch OpenBSD to implement a screen
>> readout device that would potentially allow brltty to access the
>> console independently of any particular login session, just like it
>> does on Linux systems.
>> 
>> For the screen driver, we need to know the cursor's coordinates
>> (column, row), the screen's dimensions (columns, rows), and the
>> characters' Unicode values. Two nice extras would be colour
>> information for each character and a way to inject input.

I highly doubt upstream would accept such a kernel change.
They are very security aware, and poking a hole into the console
is likely a trigger for some people.  Besides, we have a nice
user-space solution these days, we should give it a try before
attempting the likely unwanted.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Cursor routing not longer working with kernel 6.3 on Debian testing

2023-06-26 Thread Mario Lang
Nicolas Pitre  writes:

> On Sun, 25 Jun 2023, Dave Mielke wrote:
>
>> [quoted lines by Christian Schoepplein on 2023/06/25 at 20:59 +0200]
>> 
>> >For me it is OK to set 
>> >
>> >dev.tty.legacy_tiocsti=1
>> >
>> >in /etc/sysctlconf as a workaround like Rob suggested, thanks Rob for this 
>> >hint!
>> 
>> I'm wondering if brltty shouldn't just set it automatically?
>
> The brltty package could install a file in /etc/sysctl.d/ to provide 
> that config. This way it is more obvious.

I like that approach.  It is obvious, and easy to change by the user if need be.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] some trouble with handy tech braillestar 80 and the connected keyboard with brltty 6.5

2023-06-13 Thread Mario Lang
Halim Sahin  writes:

> I've connected an usb keyboard with a ps/2 converter to my braillestar
> 80.
>
> This way I can use the display with two different machines.

I recommend getting an USB switch and connecting the Braille Star and
the USB Keyboard to it.  These are cheap, and it should work reliably.
The BrailleStar 80 is a desktop device, so you are unlikely to carry it
around often.  A switch should be fine.

> It works for me most of the time with following issues:
>
> 1. some times brltty doesn't reliable get key releases.
> In that case typing isn't possible when EG. the left alt or right alt
> hangs etc.
> In other cases the last pressed key was repeated until pressing a key
> again.

I think this is a hardware problem, either in the converter or with the
PS/2 port of the Star.  The driver can only pass on whatever it
receives.

> 2. selecting the some keytable in brltty.conf doesn't work here.
> I've tested EG the desktop keytable.

That is likely a limitation of the PASSAT2 support, yes.
I guess this could be fixed though.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Strategies for copy/paste

2023-01-22 Thread Mario Lang
"Dr. Volker Jaenisch"  writes:

> Dear Sébastien!
>
> Am 17.01.23 um 21:05 schrieb Sébastien Hinderer:
>
>  # highlight-braille-window-location: no {no yes}
> highlight-braille-window-location yes
>
> Just to check twice. This settings indicates for sighted users the location of
> the braille window in the terminal? 
>
> I tried this setting, but I see no highligthing in the terminal. 

If I remember correctly, this feature only works on a Linux virtual
console directly.

> This may be due to tmux but the real terminal is 700km away and I cannot look
> upon it.
-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Keyboard support HandyTech braille star 80 in brltty

2023-01-21 Thread Mario Lang
Halim Sahin  writes:

> I've connected a Keyboard to my braillestar and use brltty 6.3.

I am assuing it is a Braille Star 40?

> The display is connected via usb or serial (both tested).
>
> The keyboard works well most of the time but.
>
> 1. sometimes the pc doesn't get keyreleases reliably
>   This results in blocked keyboard or hanging arrowkeys etc.

Can you relate "sometimes" to something?  Maybe high load on the system?
Or anything else?

> 2. Somethimes the braille display freezes completely so it want a
> restart and switching to extern keyboard and back. to work again in
> brltty.
>
> Any ideas?

I am assuing you are seeing a hardware problem.
I am using more or less your exact setup, on a Raspberry Pi 3, with
the original small-size PS/2 keyboard shipped with the Braille Star 40,
and I can not really report keyboard issues.  I have occasional
initialisation issues when turning the display on, but I kind of
attribute this to the somewhat strange USB chip in the Raspberry Pi.
I have other issues like the rpi not booting while my external USB
storage is connected, so I am sort of used to seeing weird things
related to USB.  However, no apparent keyboard issues here.  The
scancode passthrough has actually always worked quite reliably for me,
since it was implemented around 2003 or so...

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Open bad and brltty.

2023-01-03 Thread Mario Lang
Dave Mielke  writes:

>>So i will skip that and look forward to a release of Asahi linux.
>>Its still in beta testing.
>
> What's that?

Asahi Linux is an attempt to build a Linux distribution tailored
especially to run on current Apple hardware (CPU and GPU).

For those long enough in the bussiness, you can think of it as a Yellow
Dog Linux reboot.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] FOcus 80, should it work

2022-11-08 Thread Mario Lang
Jean-Philippe MENGUAL  writes:

> I am trying a FOcus 80 (freedom scientific) I have just fixed.

What exactly do you mean by "I have just fixed".  Was the device broken
and you did send it in for repair?  Or did you do a repair on your own,
or perhaps a friend of yours?  If the device was repaired, do you have
confirmation that the repair actually worked, i.e., did you try the
device with another screen reader?


Your story below sounds like the device has hardware problems, like
sticky keys or perhaps a broken cable?  We recently "repaired" an old
Vario 40 by replacing the serial cable, which had symptoms somewhat
similar to what you describe.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] A Raspberry Pi Zero in a Handy Tech Active Star 40

2022-08-17 Thread Mario Lang
Raphaël POITEVIN  writes:

> I recently had an idea. I would try Alpine Linux. Thi distribution is
> tinny and maybe faster at boot.
>
> Have you ever tested?

No, I haven't tried Alpine Linux yet.  I played a bit with buildroot as
a tool to create a image for a rpi.  It was fun until I realized that
not having gcc available at runtime is a no-go.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Support for braille display alva 570 satellite 80 cells on Android

2022-08-03 Thread Mario Lang
discapacidad5  writes:

> For a long time I have been looking for supports for alba satellite 570 
> braille
> displays. And apparently there are only drivers for very old 32 bits and there
> has been no way to make it work with 64 bits because the drivers are not
> available

I dont know which operating systems you are talking about, but the
ALVA Satellite 570 (and 584) is perfectly supported by BRLTTY.
In fact, I use a Satellite 584 since about 2 years.

> Digging deeper I found that chromevox uses the brltty library so I
> don't understand how Chromevox does braille display can be recognized
> and in brltty no

Are you saying you failed to get a Satellite working with BRLTTY?
On what operating system, Linux?
What parameters did you use?

>  Once I was asking for help to make a brailleBak with USB support to have
> precisely this functionality with the old screens since this screen works by 
> USB
> or by serial port but modern computers do not have the serial port anymore,
> however brltty has evolved so much that It has a version available now on
> Android and perhaps making this briley screen work would be the salvation for
> many poor people who barely get these old screens as donations or auctions

I fail to understand what you are actually asking for.

Perhaps it is USB support for the Satellite 570?
I have to admit I never managed to use a Satellite via USB, but that
is basically because the USB port of my model is dead.

Serial works fine, and USB-to-serial adaptors are cheap.

P.S.: I wish you wouldn't associate blindness with keywords like
"poor" and "salvation".  I don't consider myself poor, but I
still use a ALVA Satellite 584 every day.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[BRLTTY] Emojis and the zen of console

2022-05-22 Thread Mario Lang
Hi.

Since I was recently (more or less humorously) verbally attacked for
being a linux terminal user ("The stuff you are working with is 30 years
old and all outdated"), and just used DESCCHAR to reveal a smirking face
emoji hidden behind a question mark, I wanted to express my amazement
again that we actually have FULL UNICODE SUPPORT via Linux kernel.

Thanks to everyone involed, especially Nico.  vcsu is one of the best
things since sliced bread!!!

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[LAD] [experimental] Simple C++20 JACK Client wrapper

2022-05-22 Thread Mario Lang
Hi.

std::span<>, std::lerp, std::clamp, just to name some, C++
standardisation has been good to audio devs in recent years.

I always wanted to have a concise modern C++ wrapper class for a JACK client.
Here is my latest (very incomplete) attempt:

  https://github.com/mlang/ladxx20

#include 
#include 

using namespace std;

struct null : lad::processor {
  null(): lad::processor("null", 0, 1) {}
  void process(audio_buffers audio) override {
for (auto buffer: audio.out) ranges::fill(buffer, 0.0);
  }
};

int main() {
  null client;

  client.start();

  this_thread::sleep_for(chrono::seconds(5));

  return EXIT_SUCCESS;
}

The idea is to make it as easy as possible to write custom JACK clients.
No callback registration, no port naming, no remembering flags.
Just declare a class and implement a single method.
Buffers are passed to you as spans, so modern for-loop and
all stl algorithms can be used immediately.

This is sort of like a template project for now.
Clone and write your own tool to experiment with DSP.
If you have productive feedback, I am all ears.
I am not looking for language flamewar activity though.
If you are not into C++ for some reason, just go on, there is nothing to see 
here...

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
https://lists.linuxaudio.org/listinfo/linux-audio-dev


Re: [BRLTTY] udev rules

2022-05-16 Thread Mario Lang
Samuel Thibault  writes:

> Mario Lang, le ven. 13 mai 2022 07:12:54 +0200, a ecrit:
>> Samuel Thibault  writes:
>> 
>> > As reported on Ubuntu which happens to install brltty by default in its
>> > latest release, the udev rules for braille devices with generic USB IDs
>> > are hurting people that have hardware that use the same usb-serial chip.
>> 
>> This is a long solved problem.  ``Tools/updusbdevs -nogeneric``.
>
> We'd also need a -genericonly option :)
>
> (I guess that if we install both the nogeneric udev rules file and the
> full udev file, rules for the non-generic devices will get executed
> twice, which we don't want)

All I was trying to say is that if you run

Tools/updusbdevs -nogeneric

at build time, the udev rules will be rewritten such that no generic
devices are included.  This is likely what distributors want.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] udev rules

2022-05-12 Thread Mario Lang
Samuel Thibault  writes:

> As reported on Ubuntu which happens to install brltty by default in its
> latest release, the udev rules for braille devices with generic USB IDs
> are hurting people that have hardware that use the same usb-serial chip.

This is a long solved problem.  ``Tools/updusbdevs -nogeneric``.

mlang@x1:~/Projects/BRLTTY/brltty$ Tools/updusbdevs -h
Usage: updusbdevs [-option ...] [scheme:file ...]
The following options may be specified:
-help   show this usage summary and then exit
-nogeneric  don't include generic USB to serial adapters
-quiet  decrease verbosity
-test   don't update the files
-verboseincrease verbosity

> Dave, could you split the udev rules file in two pieces, one with only
> non-generic IDs and one with only generic IDs? That way, distributions
> can install brltty by default with the udev rules for non-generic IDs,
> and install the udev rules for generic IDs only when requested.

I am not arguing against splitting rules by default, just trying to
mention that running Tools/updusbdevs as part of the package build
process should also do the trick.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[BRLTTY] Upcoming tmux 3.3 fixes the cursor usage in prompts

2022-05-07 Thread Mario Lang
Hi.

Just a quick heads up to tmux users.  As you might have noticed, tmux
does not use the cursor in its prompt (C-b :), which screen always did
as we would like.  Someone must have talked to the tmux maintainers,
because the following changelog entry can be found in tmux git:

CHANGES FROM 3.2a TO 3.3

...

* Try to leave terminal cursor at the right position even when tmux is drawing
  its own cursor or selection (such as at the command prompt and in choose
  mode) for people using screen readers and similar which can make use of it.

And indeed, I built the latest git version and cursor behaviour in the
tmux prompt is now as we would expect.  tmux 3.3 has not been released
yet, but it is great to know that the next release will fix this.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Cursor follows display

2022-05-06 Thread Mario Lang
Dave Mielke  writes:

> [quoted lines by Sebastian Humenda on 2022/05/06 at 10:29 +0200]
>
>>For my purposes, it would be even better if it were a mode, i.e. if the mode
>>is enabled, LNDN == KEY_CURSOR_DOWN and LNUP == KEY_CURSOR_UP, and left/right
>>have the described behaviour. If off, everything is like at the moment. The
>>advantage is that I don't need to remember dedicated navigation keys.
>
> Yes, a mode would be best.
>
>>Does this  exist and if not, could this be implemented?
>
> No, it doesn't, but it should. Too late for 6.5, though, as I don't
> want, at this point, to risk instability. I'll have a look at it after
> 6.5 has been released.

I have a feeling this could be done right now without any code changes
by using keymap contexts.

context follow Cursor follows display
bind \{Up} KEY_CURSOR_UP
bind \{Down} KEY_CURSOR_DOWN
bind \{Unfollow} CONTEXT+default

context default
bind \{Follow} CONTEXT+follow
bind \{Unfollow} CONTEXT+default

Something similar in a .kti file should do the trick:

assign Up Foo
assign Down Bar
assign Follow K1+K2
assign Unfollow K1+K3
include foollow.kti

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] [OT] Braille display recommendation

2022-04-11 Thread Mario Lang
Aura Kelloniemi  writes:

> Hi,
>
> On 2022-04-07 at 21:20 +0200, Mario Lang  wrote:
>  > Aura Kelloniemi  writes:
>  > > So if you have any remarks that might be useful for me (including 
> possible
>  > > deficiencies of the newest Focus Blue), I'm very interested to read.
>
>  > Since the key layout of Active Braille and Active Star are pretty
>  > similar, you already ruled out what I would have wnated to suggest.
>  > I really like my Active Star 40,
>
> I reconsider the Actie Braille 2021, because it has many advantages. But am I
> right that the Active Braille series don't have an SD reader, which means that
> I would need to use a proprietary tool to transfer files to/from the internal
> storage, if I wish to utilize the note taker.

I have no idea about the Active Braille, nor do I use the internal note
taker for anything.  Its a nice toy, but I prefer Linux on a
rasperry pi zero over any sort of internal OS.  The android based
braille displays might have some interesting features, but the
self-written note taker of HelpTech has no future IMO.
Frankly, I am not even sure if HelpTech has any future.
They have layed off quite some tech people over the years,
and have demonstrated a lack of care in their firmware updates
(cf. bluetooth stopping to work).  But I still like the HelpTech
hardware I am using, but I strictly use it as a terminal to work with over
appliances.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] [OT] Braille display recommendation

2022-04-07 Thread Mario Lang
Aura Kelloniemi  writes:

> Active braille's key layout is also not very ergonomic in my opinion,
> as the display has been designed to be used with the ATC mechanism,
> which is not very handy in terminal usage scenarios (and probably not
> available in BRLTTY).

Wrong.  BRLTTY implements ATC since the very first days that HandyTech
started to use the technology (2006).  We updated the autoscroll
impelementation a few years ago, which I tested on my Active Star 40.
I dont use it very often to be honest, but it does work as expected, and
comes quite handy when reading longer texts.

> So if you have any remarks that might be useful for me (including possible
> deficiencies of the newest Focus Blue), I'm very interested to read.

Since the key layout of Active Braille and Active Star are pretty
similar, you already ruled out what I would have wnated to suggest.
I really like my Active Star 40, mostly due to the design decision to
not remove the platform, which makes it easy to place a laptop on top
even when sitting in a train.  The battery time is very nice, and it can
USB charge.  And I like the triple action keys.
You can also connect a small form factor USB keyboard to it, which is
being passed along via Bluetooth HID.  This is basically my product idea
that I gave to HandyTech around 2000 during a casual chat with
management.  Paired via bluetooth, you can use the Active Star (and its
predecessor Braille Star) as a full wireless braille terminal with
keyboard.
These days, laptops are everywhere.  But back in the day, having a big
and loud desktop hidden away in a closet was a pretty nice thing to have.
Sitting on the couch with a braille display and keyboard only was a
glimpse of the future back then :-)


-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] BrlAPI for Haskell

2022-02-11 Thread Mario Lang
Aura Kelloniemi  writes:

> Hello,
>
> On 2022-02-11 at 02:30 +0100, Mario Lang  wrote:
>  > Working on a Haskell binding for BrlAPI.
>
> Excellent!
>
>  > The following example works:
> [--]
>  > main = withConnection "" ":0" $ \c -> do
>  >   dn <- getDriverName c
>  >   mi <- getModelIdentifier c
>  >   (x, _) <- getDisplaySize c
>  >   withTty c (Just 5) False $ \tty -> do
> [--]
>
> I'd make openConnection and enterTtyMode available too, not jsut the
> withSomeHandle-style functions.

They are available.  In fact, withConnection uses
openConnection/closeConnection to do its work.  Same for
withTty, which uses enterTtyMode/leaveTtyMode.  The with-style functions
are just a higher level idiom which made the basic example more concise.

>  > Reading the docs again, I am unsure if I want to mimick the low-level
>  > API as much as I usually would.  I think it would be better to have a
>  > different type of handle for ttyMode operations.  IOW, return some
>  > handle from enterTtyMode and make writeText and friends use that.
>
> There are actually a few modes in which a BrlAPI connection can be. I would
> implement type classes for the common parts of these modes, and have a
> separate handle for each mode (at least basic, tty, raw and tty with raw 
> keycodes).

I think the common operations can still use the initial handle.
Typeclasses are neat, but rather questionable without any underlying laws.

> In addition I would export the low-level C functions from a separate module,
> in case somebody needs them, or the thick binding does not cover 100% of all
> possible API use cases.

Hmm, good point.  The FII is already in a separate module, but I am
currently leaning towards not exporting that.

> I'm very interested in this project. I try to push my Rust bindings to github
> soon, after some clean up. Possibly Rust and Haskell can share some ddesign
> decisions.

While Rust and Haskell seem to be compared a lot lately, I personally
dont see the commonalities.  There is laziness, which can be useful but
also an unexpected beast.  And of course there is purity, which Rust
doesn't really have to care about.  The safety Rust brings you mostly comes
from borrowing.  The functional features of Rust are mostly syntactic sugar to 
me.
True, the iterator API and slightly more expression-oriented syntax
makes it feel like something one might have seen in more functional
languages.  But to me, Rust is still a fancy C with better compile-time 
checking.

> I'm especially interested in how are you planning to handle the
> parameter API in a typesafe way, including the parameter state change
> callbacks.

Frankyl, one step at a time.  I have no full laid out plan on how to do
the complete bindings yet.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[BRLTTY] BrlAPI for Haskell

2022-02-10 Thread Mario Lang
Hi.

Working on a Haskell binding for BrlAPI.

The following example works:

module Main where

import Control.Monad (void)
import BrlAPI

main :: IO ()
main = withConnection "" ":0" $ \c -> do
  dn <- getDriverName c
  mi <- getModelIdentifier c
  (x, _) <- getDisplaySize c
  withTty c (Just 5) False $ \tty -> do
writeText c (show (tty, dn, mi, x))
void $ readKey c

Reading the docs again, I am unsure if I want to mimick the low-level
API as much as I usually would.  I think it would be better to have a
different type of handle for ttyMode operations.  IOW, return some
handle from enterTtyMode and make writeText and friends use that.
This would make the sort of error the docs are talking about impossible,
and that is pretty much the spirit of type-safe FP.

Let me know if you see a big no-no here, otherwise I'll proceed.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Making brltty speak

2021-12-15 Thread Mario Lang
Sébastien Hinderer  writes:

> It seems the cleanest solution is to switch from PulseAudo to PipeWire
> so I'll have to continue experimenting with that.

Whatever you do, switching *away* from PulseAudio is likely the right
solution.
Even no sound is better then trying to use PulseAudio.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Mac OS Questions

2021-11-22 Thread Mario Lang
Hi.

I personally find it easier to just enable remote login on my Mac and
ssh to it from a linux machine.  This gives me the same thing you are
aiming for, BRLTTY for working with a Mac on the command-line, but I
dont have to fiddle with BRLTTY actually running on the Mac.

Zachary Kline  writes:

> Hi all,
>
> I am a newbie to using Brltty on mac, though have some experience
> doing so under Linux. I just wanted to write to see if anyone has any
> tips for doing so. I have built a binary, but am currently struggling
> a bit with getting bluetooth to work. Obviously, I will need to turn
> off VoiceOver, and I gather this will only work in screen. Most of the
> time I’m happy with the braille support provided by Apple, I just
> figured that something to supplement it would be nice on occasion,
> particularly in the terminal.
> Any insights from fellow mac people would be appreciated.
> Thanks much,
> Zack.
>
> Sent from my iPhone
> ___
> This message was sent via the BRLTTY mailing list.
> To post a message, send an e-mail to: BRLTTY@brltty.app
> For general information, go to: http://brltty.app/mailman/listinfo/brltty

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] [OT] Braille displays with firmware support for Unicode

2021-11-10 Thread Mario Lang
Aura Kelloniemi  writes:

> I would like to hear from you, is there any display on the market, which
>
> 1) has an SD card slot for transfering files
>
> 2) supports Unicode braille in text files in its firmware text viewer
>
> 3) supports editing Unicode braille in text files (i.e. typing Unicode braille
> patterns instead of regular text)
>
> 4) allows customizing the braille table used to display text in the firmware
> applications.

I suspect point 2 and 3 are not implemented by any vendors.

> I have taken a look at Focus Blue V, Active braille 2021 and Brailliant BI
> X40. I could not find an up to date manual for Active braille 2021, so I
> cannot know about that. The others at least do not support custom braille
> tables or Unicode braille editing, but I don't know about viewing Unicode 
> braille.


> If there are no devices that support these features, I would like to know, if
> there are other people who would be interested. We could possible make a group
> request for these features and send it to braille display makers.

I have totally given up waiting or requesting features from these
companies.  Frankly, I think you are way better off implementing
your own system based on a real OS and a small computer like a Raspberry
or similar.  I managed to put a Raspberry Pi 0w into my
Active Star a few years ago which would make building your
own note-taker pretty simple.

But dont wait for these manufacturers to support modern stuff like
Unicode Braille.  They are stuck in their own world of catering to the
common deniminator of users.  Supporting experts does not make money, so
they dont care.


-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] TSI braille display protocol

2021-10-06 Thread Mario Lang
deniz sincar  writes:

> what is to and from in the writecells thing?

The TSI protocol supports partial updates.  The `from` and `to` parameters
of the writeCells() function pass the start and end of the cells which
should be updated.

> and translateoutputcell.

translateOutputCells() basically translates the bit patterns used by
BRLTTY internally to that which are being used in TSI models.  Basically,
some manufacturers use different mappings of bits to dots, so BRLTTY has
a way for drivers to declare a dot mapping according to what
the manufacturer uses.  TSI displays actually use the ISO11548-1
mapping, so the bit number directly corresponds to the dot number, and
translateOutputCells() in the TSI driver is effectively a no-op.

> can you explain, do i need to send the dot numbers right afte header?
> and does 1 braille letter with 2 hex numbers?

Lets go through the code in writeCells() and explain what it does:

  static const unsigned char header[] = {
0XFF, 0XFF, 0X04, 0X00, 0X99, 0X00
  };

This defines the header of a write request.  6 bytes in hexadecimal.
It is basically a constant which will be used later to prepare the
outgoing bytes.

  unsigned int length = to - from;

The number of celss which should be written.

  unsigned char packet[sizeof(header) + 2 + (length * 2)];

A memory area for the packet to be constructed in.  sizeof returns the
numbers of bytes in the header, which in this case is 6.  We add 2 to
accomodate for a length and start offset.  Every cell needs 2 bytes in
the TSI protocol, so we also need to carve out memory for that,
multiplying the number of cells (length) by 2.  For a full update of a
40 cell display, packet would be 6 + 2 + 40*2 = 88 bytes.

  unsigned char *byte = packet;

We declare a pointer pointing to the beginning of the memory area we
just defined above.  This is going to be used below.  This is mostly
specific to C.  Some languages would call this an output iterator, I
dont know what your impelemtnation language is, so I cant really
translate the concept into your world.

  unsigned int i;

A loop counter for the loop below.

  byte = mempcpy(byte, header, sizeof(header));

We copy the (constant) header data to the beginning of the packet.

  *byte++ = 2 * length;

We add a byte indicating the length of the packet.  See below.

  *byte++ = from;

This lets the display know where to start the update.  A full update
will always start a 0 (the first cell).

  for (i=0; idata->cells[from + i]);
  }
   
Here we actually do the work and put 2 bytes for each cell into the
packet.
The first byte is always 0, and the second byte contains the dot
pattern.

From here on, all you need to do is send the packet off via the serial
port.

So to write all 8 dots raised to the first cell of the display, your
packet should look like this:

0XFF, 0XFF, 0X04, 0X00, 0X99, 0X00, 0X02, 0X00, 0X00, 0XFF

* Byte 1-6 are just the (constant) header
* Byte 7 (0X02) is the number of cells times 2
* Byte 8 (0X00) is the start offset (cell #1)
* Byte 9 (0X00) is the padding (0-byte) for the cell
* Byte 10 (0XFF) contains the actual dot pattern written to cell #1

Hope this helps.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] TSI braille display protocol

2021-10-04 Thread Mario Lang
Dave Mielke  writes:

> Does iOS no longer support the Baum protocol?
> I'd think that some new Baum model, e.g. the VarioUltra, would be a
> better fit. Then all you'd need is strict pass through.

If the iOS model-detection works the way we assume, yes.
The problem here is that how Apple detects models is pretty opaque to us.

I guess I will at least have to set my bluetooth name such that iOS
believes it is dealing with a display.  Simply opening an RFCOMM channel
is likely not enough.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] TSI braille display protocol

2021-10-04 Thread Mario Lang
deniz sincar  writes:

> Hello. as i don't understand brltty driver code, i want to learn the
> tsi braille display driver serial communication protocol in a human
> understandable language.

I am afraid we dont have exhaustive protocol description in human
readable form.  Use the source is pretty much the way to go.

> for example what is the algorhythm to rase dots 125, 15, 123 and so
> on. how to empty the braille display.

Both of these questions can pretty easily be answered by
reading the function writeCells() from Drivers/Braille/TSI/braille.c

It constructs the raw bytes of a write request.
A header, some length and start offset bytes, and the actual payload
interleaved with NUL bytes.  If you are writing your code in C, you
could likely take this function almost unchanged and replace the
final call to writeBytes with whatever you use to write to the serial
port.

> i very hardly understand the source code. only what i could do is rase
> a very strange dot pattern on the first 2 sells of the display.
> i want to learn the protocol of braille output, and the routing keys
> because i want to connect it to arduino and output some
> information. or maybe i could do some bluetooth emulators, or other
> things.
> please help me on that, thanks in advance.

As said above, we dont have human readable protocol descriptions in most
cases.  The code is really the best reference you will ever find.
Also, I find your question rather vague.  It looks like you are planning to
do a rewrite of the TSI driver from scratch.  Thats fine if you want to
do it as an exercise, but I am rather lost on how to help you through
the process step by step.  Also, is there a particular reason why you
cant use BrlAPI for your Bluetooth emulator?  I dont see why you should
need to reimplement the TSI protocol from scratch.

P.S.: I have my own use case for a serial to bluetooth bridge.
My goal would be to emulate a display which is supported by iOS,
and bridge from a serial display to an iPad.  I have never tried to
emulate a bluetooth device on a PC, that sounds like a fun project.
And it appears it could be useful to others as well.
Maybe BRLTTY should have such a tool by default?
Does anyone know which iOS supported braille device is most
promising/easy to emulate?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Binding a keyboard to a virtual console?

2021-09-26 Thread Mario Lang
Samuel Thibault  writes:

> Hello,
>
> Mario Lang, le ven. 24 sept. 2021 09:47:58 +0200, a ecrit:
>> Does anyone know if there is a way to bind a specific input device to a
>> virtual console?
>
> Apparently, drivers/tty/vt/keyboard.c still doesn't do any input mixing.

Looks like userspace is solving this by grabbing an input device.
Since we already tunnel all the keyboards through BRLTTY anyway, could
we perhaps do key translation for one of them, and insert the resulting
keys directly to the VT the lx screen driver is bound to?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[BRLTTY] Binding a keyboard to a virtual console?

2021-09-24 Thread Mario Lang
Hi.

Does anyone know if there is a way to bind a specific input device to a
virtual console?  I am trying to implement a second "seat" in the sense
of systemd-logind.  Unfortunately, according to the systemd docs, a
separate seat would require a graphical session to work.  However, I am
trying to do this for a virtual console.  The lx:VT screen parameter can
already be used to bind BRLTTY to a specific console.  What is missing
is the keyboard.

I've done something similar about 20 years ago with a very crude kernel
patch.  I was running an instance of Emacspeak on a specific terminal,
and bound an extra USB keyboard to only emit keypresses to that
terminal.  Output was synthetic speech from a soundcard, and input came
from that second keyboard.  In a sense, what I want to do today is very
similar, only that output is now Braille.  The lx:VT screen parameter is
exactly what I need on the braille display side, but the same question
as 20 years ago still stands: Can I bind an input device to a specific VT?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] The braillists forum and an article about reading in braille

2021-09-05 Thread Mario Lang
Sébastien Hinderer  writes:

> Are you in a way saying that it would be helpful also for text
> application to be able to export their structure somehow, as graphical
> ones do?

No, actually not.  The idea of speech-enabled applications goes a little
further.  There is the counterargument of "ghetto-applications" lurking
in the dark corners, but lets just ignore it for a while so that I can
make my point.

In most cases, a screen reader has to do guesswork to figure out how to
pronounce and present content correctly.  Think about dates, times, text with 
mixed
languages, destinguishing between tabs and spaces, mathematical
formulas, musical notation, you name it.  Widgets did help a little to
provide some generic abstractions a screen reader could use as a hint
about the actual content and how to interact with it.  But UI design
isn't stopping, and things presented on-screen are getting increasingly
complicated.  The new big thing in web design for instance is the HTML5
canvas.  Yes, you can now draw arbitrary stuff on a canvas with
JavaScript.  Wonderful for all sorts of things.  But the absolute killer
for any sort of classical screen reading.
Now the question is, which abstractions or annotations do you create?
How do you enrich your abstract widget tree such that the screen reader
can make most sense of a hyper-modern application which, say, is dealing
with math and music?
While the effort to enrich the widgets with more accessibility is
definitely worthwhile, certain applications will likely only work if
they start to build a screen reader into themselves.  The app has all
the context required to do a good job.  This has been tried in the past,
with varying success.  Think about IBM Homepage reader, which was really
quite cool for the time.  But it flopped for the reason given at the
beginning of this mail, it was a ghetto-application.  Built especially
for blind users.  However, what T.V. Raman started with Emacspeak doesnt
have that issue.  Emacspeak is an extension (sort of a plugin) written
for a very extensible editor.  So the screen reader is built into the
application itself.  No need to define external interfaces, no need to
cramp new stuff into vaguely fitting models.  Still much work to
actually make things work smoothly, but now you have full access to
everything.  There is no artificial barrier between the "screen" reader
and the application.  Everything the application "knows" the "screen"
reader can figure out.  No need for weird heuristics anymore.  You have
all the data type and metadata information at your disposal.

Of course, speech-enabling every application manually is a insanely huge
task which will never get done.  But it make sense to look at the
landscape of extensible programs and maybe pick a few which might
benefit from screen-reading built-in.  Emacs is certainly a good
example of a success-story for this.

> I guess the so-called widgets would be a bit different, may there may
> be something to think about there...
>
> But this wouldperhaps be defeated by the fact that text-mode
> applications may be more diverse than graphical ones, in the sense that
> graphical ones use one toolkit among a few, which is not so in
> text-mode...

GUI apps are also quite "diverse" these days.  Custom widgets (which
lack proper accessibility support) are all over the place.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] The braillists forum and an article about reading in braille

2021-09-04 Thread Mario Lang
Sébastien Hinderer  writes:

> Samuel Thibault (2021/08/30 18:56 +0200):
>> Sébastien Hinderer, le lun. 30 août 2021 17:54:29 +0200, a ecrit:
>> > Regarding the counting feature, I find it very clever! But then I'm
>> > wondering, why not ocunting tabs directly?
>> 
>> The screen reader cannot actually "see" the tab characters, it only sees
>> spaces.
>
> Ah yes, this of course makes sense. Sorry.

The editor would need to do that.  However, note that the fight on tabs
vs spaces isn't really being won by any side either.

In fact, if I were to aim for primarily speech based coding, I'd look
into Emacspeak or similar solutions.  You really want structured
information when reading code with speech I think.  Its not just about
identation.  You might want to change voices based on syntax
highlighting, just to name one example.  T.V. Raman really has a point
in saying that the artificial boundary between application and
screenreader, which is the screen, is a hinderance to good screen
reading.  If the screen reader had more direct access to the application
it is presenting, it could do much more with less heuristics.  Which is
what Emacspeak demonstrates.  There is a learning curve yes, but I guess
every sufficiently customizable editor could be used to write a screen
reader plugin for.  It just appears Emacspeak is about the most complete
attempt of that idea.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Intro and a question

2021-05-31 Thread Mario Lang
Jason White  writes:

> I've been on this list for a long time, and the GNU screen-based
> interface to BRLTTY is rarely mentioned. You may be the first person
> to try it in quite a while.

The GNU Screen patch method is pretty much the only way to get things
going on some of the platforms we try to support.  MacOS and OpenBSD come to 
mind.
We wanted to implement bridges to more terminal emulators one day, but
that project never really got off the ground.

Regarding what Ben wrote, I dont think it is a good idea to trick
configure and override the compiler manually.  It would be far more
fruitful to actually investigate what configure is complaining about.

I currently have no working Mac at my disposal, so I can not do this
myself.  Remote access could help, or someone with a Mac and current OS
would need to investigate why building screen apparently fails.

Ben, did the patch actually apply without errors?  Did you check that?

> On 29/5/21 9:02 pm, Ben van Poppel wrote:
>> Hi Mario.
>>
>> Sorry. To put it another way, the only way to successfully run
>> configure is by setting CC=/usr/local/bin/gcc-11. The only way to
>> build the resulting configuration is setting it back to clang. No
>> I’m definitely not running the stock Mac screen binary by mistake,
>> because in testing I included the full path. By “runs fine“ I mean
>> the resulting screen binary runs and seems otherwise to perform
>> normally.
>>
>> cheers.
>> Ben
>>> On 30 May 2021, at 12:45 am, Mario Lang  wrote:
>>>
>>> Ben van Poppel  writes:
>>>
>>>> The only strangeness when building Screen itself is that configure
>>>> fails with Clang and the build fails with duplicate symbols with
>>>> standard GCC. But it seems to build and run fine.
>>> This part of the story is confusing to me.  You seem to indicate that
>>> building screen fails with clang and gcc.  But a sentence later you say
>>> everything is fine.  Could you be a little bit more precise?
>>> How (with which compiler) did you actually successfully build screen?
>>> Are you sure it did actually build and install,
>>> and you aren't using a screen binary already installed on your Mac
>>> for some reason?
>>>
>>> -- AR Mario Lang   Phone: +43 316 873
>>> 6897
>>> Graz University of Technology  Mobile: +43 664 60 873 6897
>>> IT-Services for research and teaching   Email: ml...@tugraz.at
>>> Steyrergasse 30/1, 8010 Graz, Austria   Please 
>>> https://useplaintext.email/
>> ___
>> This message was sent via the BRLTTY mailing list.
>> To post a message, send an e-mail to: BRLTTY@brltty.app
>> For general information, go to: http://brltty.app/mailman/listinfo/brltty
> ___
> This message was sent via the BRLTTY mailing list.
> To post a message, send an e-mail to: BRLTTY@brltty.app
> For general information, go to: http://brltty.app/mailman/listinfo/brltty
>

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Fwd: Problems when using brltty in the terminal

2021-05-10 Thread Mario Lang
Didier Spaier  writes:

> Le 09/05/2021 à 23:09, Samuel Thibault a écrit :
>> Didier Spaier, le dim. 09 mai 2021 23:02:49 +0200, a ecrit:
>>> Still, this could be an issue for audiophiles, but they can use jack.
>> Speech-based screen reading also requires very low latency to get
>> snappy
>> feedback.
>
> OK, then does anyone knows how to measure the latency increase?

Latency in RT audio is mostly driven by buffer size.
These buffer sizes vary greatly, depending on the software and hardware
in use.  JACK with a good soundcard can indeed go down to
a buffer size of 64 frames or even lower.  That makes for a fixed
latency of around 2ms, depending on the sample rate.
On the ohter end of the spectrum, carelessly written audio programs
might go up to buffer sizes of up to 2048.   Now latecy is more around
50ms, which is starting to get noticeable.

However, I suspect there are several latencies adding up in the case of
speech synthesis.  It would indeed be worthwhile to investigate if some
of these can be reduced.  However, I think this would need some
automated testing.

To come back to your question, can you specify a little more clearly
which increase you are refering to?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] betris -- Tetris for Braille users now online

2021-04-09 Thread Mario Lang
Raphaël POITEVIN  writes:

> Grate! Is there a documentation? I dn't understand what to do.

It works like any other tetris clone, but sideways.
So tetriminos "fall" from right to left.  The playing field is 20 dots
wide and 10 dots high.   Moving the falling tetriminos up/down (with the
cursor keys) will also move the viewing area (braille display) so you
can explore the remaining field by moving the tetrimino.
Pressing the return (enter) key will rotate the current tetrimino.
Pressing cursor left will drop the tetrimino.

If you manage to fill a full row, it will automatically vanish and the
score (in brackets) will increase.  Increase score also means increased
speed.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[BRLTTY] betris -- Tetris for Braille users now online

2021-04-09 Thread Mario Lang
Hi.

To avoid building and installing betris altogether, you can now simply
do

ssh bet...@blind.guru

to play the game.  This works on Linux as well as on Windows 10.
Mac OS X tesers welcome.

Happy gaming
-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[elpa] externals/osc 6b6dbb4: Release 0.4

2021-04-07 Thread Mario Lang
branch: externals/osc
commit 6b6dbb4176f45f9ff3a783c816c4556ca2931a22
Author: Mario Lang 
Commit: Mario Lang 

Release 0.4
---
 osc.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/osc.el b/osc.el
index 3c4ef6e..102afae 100644
--- a/osc.el
+++ b/osc.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2014-2021  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang 
-;; Version: 0.3
+;; Version: 0.4
 ;; Keywords: comm, processes, multimedia
 
 ;; This program is free software; you can redistribute it and/or modify



Re: [BRLTTY] Key table definition for Modular Evolution

2021-04-05 Thread Mario Lang
Lars Bjørndal  writes:

> I'm using a Handy Tech Modular Evolution 88 braille display. I noticed
> that B1+B8+Left/Right didn't activate braille input, as expected.

As you say, "as expected".

> I can fix this by creating a local table addition, but maybe it should
> be set in the defaults for convenience.

I am a little torn on this request.  On the one hand, you seem to
understand why input mode is deliberately not available on the ME, but
you still want it to be enabled by default?  This seems contradictory.

If you know how to enable it locally, I'd suggest you proceed and test
the ergonomics for a while.  If, after a few weeks of using this, you
still think it needs to be available by default, I am happy to follow
your advice.  As someone who has used a ME88 for roughly 10 years, I
personally never wanted to use input mode on it, the keys are just too
sturdy to be pretty together repeatedly.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[elpa] externals/osc 257e602: Fix blob encoding

2021-04-03 Thread Mario Lang
branch: externals/osc
commit 257e602e2d7f0c90662822f5eada2e99285de00d
Author: Mario Lang 
Commit: Mario Lang 

Fix blob encoding
---
 osc.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/osc.el b/osc.el
index e54b99a..3c4ef6e 100644
--- a/osc.el
+++ b/osc.el
@@ -54,7 +54,7 @@
 (defun osc-blob (vector)
   (let ((length (length vector)))
 (concat (osc-int32 length)
-   vector
+   (apply #'unibyte-string (append vector nil))
(make-string (% (- 4 (% length 4)) 4) 0
 
 (defun osc-float32 (value)



[elpa] externals/osc dbc5a37: Send signed integers by default

2021-04-02 Thread Mario Lang
branch: externals/osc
commit dbc5a37c3eef0741dde2049927aa8b0f79316923
Author: Mario Lang 
Commit: Mario Lang 

Send signed integers by default
---
 osc.el | 37 -
 1 file changed, 28 insertions(+), 9 deletions(-)

diff --git a/osc.el b/osc.el
index 062f960..e54b99a 100644
--- a/osc.el
+++ b/osc.el
@@ -81,15 +81,32 @@
(lsh (logand f #XFF00) -8)
(logand f #XFF
 
-(defun osc-int32 (value)
-  (let (bytes)
-(dotimes (_ 4)
-  (push (% value 256) bytes)
-  (setq value (/ value 256)))
-(apply 'unibyte-string bytes)))
+(defconst osc-int32-zero (unibyte-string 0 0 0 0))
+(defconst osc-most-negative-signed-int32 (- (ash 1 (1- 32
+(defconst osc-most-positive-signed-int32 (1- (ash 1 (1- 32
+(defconst osc-most-positive-unsigned-int32 (1- (ash 1 32)))
+
+(defun osc-int32 (integer  unsigned)
+  (cl-check-type integer integer)
+  (if (zerop integer)
+  osc-int32-zero
+(if unsigned
+   (unless (and (natnump integer)
+(<= integer osc-most-positive-unsigned-int32))
+ (signal 'overflow-error (list integer)))
+  (unless (and (>= integer osc-most-negative-signed-int32)
+  (<= integer osc-most-positive-signed-int32))
+   (signal 'overflow-error (list integer)))
+  (unless (natnump integer)
+   (setq integer (+ integer (ash 1 32)
+(let (bytes)
+  (dotimes (_ 4)
+   (push (logand integer #xFF) bytes)
+   (setq integer (ash integer -8)))
+  (apply #'unibyte-string bytes
 
 (defconst osc-timetag-now
-  (concat (osc-int32 0) (osc-int32 1)))
+  (concat (osc-int32 0 t) (osc-int32 1 t)))
 
 (defconst osc-ntp-offset
   (round
@@ -101,9 +118,11 @@
   osc-timetag-now
 (pcase (time-convert time 'list)
   (`(,high ,low ,usec ,psec)
-   (concat (osc-int32 (+ (ash high 16) low osc-ntp-offset))
+   (concat (osc-int32 (+ (ash high 16) low osc-ntp-offset)
+ t)
   (osc-int32 (round (* (+ (* usec 1e-06) (* psec 1e-12))
-   (1- (ash 1 32))
+   (1- (ash 1 32
+ t))
 
 ;;;###autoload
 (defun osc-make-client (host port)



[elpa] externals/osc 9b288d5: Handle timetags in bundles

2021-03-31 Thread Mario Lang
branch: externals/osc
commit 9b288d571bc5f461263ca8ce48b462a8aac9118d
Author: Mario Lang 
Commit: Mario Lang 

Handle timetags in bundles
---
 osc.el | 21 -
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/osc.el b/osc.el
index 3c8a38f..062f960 100644
--- a/osc.el
+++ b/osc.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2014-2021  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang 
-;; Version: 0.2
+;; Version: 0.3
 ;; Keywords: comm, processes, multimedia
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -228,8 +228,11 @@ string to a vector if embedding in another OSC message is 
what you want."
 (1+ (/ f (expt 2.0 52
 
 (defun osc-read-timetag ()
-  (time-add (time-convert (- (osc-read-int32) osc-ntp-offset))
-   (time-convert (cons (osc-read-int32) (ash 1 32)
+  (let ((secs (osc-read-int32)) (frac (osc-read-int32)))
+(if (and (zerop secs) (= frac 1))
+   nil ; now
+  (time-add (time-convert (- secs osc-ntp-offset))
+   (time-convert (cons frac (ash 1 32)))
 
 (defun osc-server-set-handler (server path handler)
   "Set HANDLER for PATH on SERVER.
@@ -268,12 +271,12 @@ the generic handler for SERVER."
(?i (osc-read-int32))
(?s (osc-read-string
(string-to-list (substring (osc-read-string) 1))
- (forward-char 8) ;skip 64-bit timetag
- (while (not (eobp))
-   (let ((size (osc-read-int32)))
- (osc-filter proc
- (buffer-substring
-  (point) (progn (forward-char size) (point)))
+ (let ((time (osc-read-timetag)))
+   (while (not (eobp))
+ (let* ((size (osc-read-int32))
+(data (buffer-substring
+   (point) (progn (forward-char size) (point)
+   (run-at-time time nil #'osc-filter proc data)
 
 ;;;###autoload
 (defun osc-make-server (host port default-handler)



[elpa] externals/osc 07783f6: Fix osc-send-bundle

2021-03-31 Thread Mario Lang
branch: externals/osc
commit 07783f6677ec5f0623c99580cbfdd21e1d44f099
Author: Mario Lang 
Commit: Mario Lang 

Fix osc-send-bundle
---
 osc.el | 32 +++-
 1 file changed, 19 insertions(+), 13 deletions(-)

diff --git a/osc.el b/osc.el
index f676554..3c8a38f 100644
--- a/osc.el
+++ b/osc.el
@@ -33,10 +33,6 @@
 ;; * `osc-server-set-handler' can be used to change handlers for particular
 ;;   OSC paths on a server process object on the fly.
 
-;; BUGS/TODO:
-;;
-;; * Timetags are not supported yet.
-
 ;; Usage:
 ;;
 ;; Client: (setq my-client (osc-make-client "127.0.0.1" 7770))
@@ -92,11 +88,22 @@
   (setq value (/ value 256)))
 (apply 'unibyte-string bytes)))
 
-(defun osc-timetag (time)
-  (cl-multiple-value-bind (high low usec psec) (time-convert time 'list)
-(concat (osc-int32 (+ 2208988800 (ash high 16) low))
-   (osc-int32 (round (* (+ (* usec 1e-06) (* psec 1e-12))
-(1- (ash 1 32
+(defconst osc-timetag-now
+  (concat (osc-int32 0) (osc-int32 1)))
+
+(defconst osc-ntp-offset
+  (round
+   (float-time (time-subtract (time-convert 0)
+ (encode-time '(0 0 0 1 1 1900 nil nil t))
+
+(defun osc-timetag ( time)
+  (if (not time)
+  osc-timetag-now
+(pcase (time-convert time 'list)
+  (`(,high ,low ,usec ,psec)
+   (concat (osc-int32 (+ (ash high 16) low osc-ntp-offset))
+  (osc-int32 (round (* (+ (* usec 1e-06) (* psec 1e-12))
+   (1- (ash 1 32))
 
 ;;;###autoload
 (defun osc-make-client (host port)
@@ -141,11 +148,10 @@ string to a vector if embedding in another OSC message is 
what you want."
   (process-send-string process (apply #'osc-make-message path args)))
 
 (defconst osc-bundle-tag (osc-string "#bundle"))
-(defconst osc-timetag-now (concat (osc-int32 0) (osc-int32 1)))
 
 (defun osc-make-bundle (time  messages)
   "Make a bundle with timetag TIME and MESSAGES as payload."
-  (apply #'concat osc-bundle-tag (if time (osc-timetag time) osc-timetag-now)
+  (apply #'concat osc-bundle-tag (osc-timetag time)
 (mapcar (lambda (message)
   (concat (osc-int32 (length message)) message))
 messages)))
@@ -153,7 +159,7 @@ string to a vector if embedding in another OSC message is 
what you want."
 ;;;###autoload
 (defun osc-send-bundle (process time  messages)
   "Send a bundle to PROCESS with timetag TIME and MESSAGES as payload."
-  (process-send-string process (apply #'osc-make-bundle path args)))
+  (process-send-string process (apply #'osc-make-bundle time messages)))
 
 (defun osc-read-string ()
   (let ((pos (point)) string)
@@ -222,7 +228,7 @@ string to a vector if embedding in another OSC message is 
what you want."
 (1+ (/ f (expt 2.0 52
 
 (defun osc-read-timetag ()
-  (time-add (time-convert (- (osc-read-int32) 2208988800))
+  (time-add (time-convert (- (osc-read-int32) osc-ntp-offset))
(time-convert (cons (osc-read-int32) (ash 1 32)
 
 (defun osc-server-set-handler (server path handler)



[elpa] externals/osc 48d043e: Fix precision of osc-read-timetag

2021-03-31 Thread Mario Lang
branch: externals/osc
commit 48d043e96006e3c0d84848ab506e5590ef8e42a3
Author: Mario Lang 
Commit: Mario Lang 

Fix precision of osc-read-timetag
---
 osc.el | 24 ++--
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/osc.el b/osc.el
index daa0421..f676554 100644
--- a/osc.el
+++ b/osc.el
@@ -95,8 +95,7 @@
 (defun osc-timetag (time)
   (cl-multiple-value-bind (high low usec psec) (time-convert time 'list)
 (concat (osc-int32 (+ 2208988800 (ash high 16) low))
-   (osc-int32 (round (* (+ (* usec (expt 10.0 -6))
-   (* psec (expt 10.0 -12)))
+   (osc-int32 (round (* (+ (* usec 1e-06) (* psec 1e-12))
 (1- (ash 1 32
 
 ;;;###autoload
@@ -141,6 +140,21 @@ string to a vector if embedding in another OSC message is 
what you want."
   "Send an OSC message from PROCESS to the specified PATH with ARGS."
   (process-send-string process (apply #'osc-make-message path args)))
 
+(defconst osc-bundle-tag (osc-string "#bundle"))
+(defconst osc-timetag-now (concat (osc-int32 0) (osc-int32 1)))
+
+(defun osc-make-bundle (time  messages)
+  "Make a bundle with timetag TIME and MESSAGES as payload."
+  (apply #'concat osc-bundle-tag (if time (osc-timetag time) osc-timetag-now)
+(mapcar (lambda (message)
+  (concat (osc-int32 (length message)) message))
+messages)))
+
+;;;###autoload
+(defun osc-send-bundle (process time  messages)
+  "Send a bundle to PROCESS with timetag TIME and MESSAGES as payload."
+  (process-send-string process (apply #'osc-make-bundle path args)))
+
 (defun osc-read-string ()
   (let ((pos (point)) string)
 (while (not (= (following-char) 0)) (forward-char 1))
@@ -208,10 +222,8 @@ string to a vector if embedding in another OSC message is 
what you want."
 (1+ (/ f (expt 2.0 52
 
 (defun osc-read-timetag ()
-  (let ((secs (osc-read-int32))
-   (frac (osc-read-int32)))
-(time-convert (+ (- secs 2208988800)
-(/ (float frac) (1- (ash 1 32)))
+  (time-add (time-convert (- (osc-read-int32) 2208988800))
+   (time-convert (cons (osc-read-int32) (ash 1 32)
 
 (defun osc-server-set-handler (server path handler)
   "Set HANDLER for PATH on SERVER.



[elpa] externals/osc c916424: New function `osc-make-message'

2021-03-30 Thread Mario Lang
branch: externals/osc
commit c91642422eaea3cf4e7447e89a98dbe84f47e9a5
Author: Mario Lang 
Commit: Mario Lang 

New function `osc-make-message'
---
 osc.el | 33 +
 1 file changed, 25 insertions(+), 8 deletions(-)

diff --git a/osc.el b/osc.el
index 5a6a33d..daa0421 100644
--- a/osc.el
+++ b/osc.el
@@ -92,6 +92,13 @@
   (setq value (/ value 256)))
 (apply 'unibyte-string bytes)))
 
+(defun osc-timetag (time)
+  (cl-multiple-value-bind (high low usec psec) (time-convert time 'list)
+(concat (osc-int32 (+ 2208988800 (ash high 16) low))
+   (osc-int32 (round (* (+ (* usec (expt 10.0 -6))
+   (* psec (expt 10.0 -12)))
+(1- (ash 1 32
+
 ;;;###autoload
 (defun osc-make-client (host port)
   "Create an OSC client process which talks to HOST and PORT."
@@ -102,13 +109,12 @@
:service port
:type 'datagram))
 
-;;;###autoload
-(defun osc-send-message (client path  args)
-  "Send an OSC message from CLIENT to the specified PATH with ARGS."
-  (process-send-string
-   client
-   (apply
-'concat
+(defun osc-make-message (path  args)
+  "Make a OSC message with specified PATh and ARGS.
+A unibyte string is returned.  Use `vconcat' to convert that unibyte
+string to a vector if embedding in another OSC message is what you want."
+  (apply
+   'concat
 (osc-string path)
 (osc-string
  (apply
@@ -128,7 +134,12 @@
((integerp arg) (osc-int32 arg))
((stringp arg) (osc-string arg))
((vectorp arg) (osc-blob arg
- args
+ args)))
+
+;;;###autoload
+(defun osc-send-message (process path  args)
+  "Send an OSC message from PROCESS to the specified PATH with ARGS."
+  (process-send-string process (apply #'osc-make-message path args)))
 
 (defun osc-read-string ()
   (let ((pos (point)) string)
@@ -196,6 +207,12 @@
 (expt 2.0 (- e 1023))
 (1+ (/ f (expt 2.0 52
 
+(defun osc-read-timetag ()
+  (let ((secs (osc-read-int32))
+   (frac (osc-read-int32)))
+(time-convert (+ (- secs 2208988800)
+(/ (float frac) (1- (ash 1 32)))
+
 (defun osc-server-set-handler (server path handler)
   "Set HANDLER for PATH on SERVER.
 IF HANDLER is nil, remove previously defined handler and fallback to



[elpa] externals/osc ef72809: Set binary coding for servers

2021-03-30 Thread Mario Lang
branch: externals/osc
commit ef72809f3d425e502a379790863bdb4a46ab4797
Author: Mario Lang 
Commit: Mario Lang 

Set binary coding for servers
---
 osc.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/osc.el b/osc.el
index 8be30ef..5a6a33d 100644
--- a/osc.el
+++ b/osc.el
@@ -249,6 +249,7 @@ fine grained control.
 A process object is returned which can be dicarded with `delete-process'."
   (make-network-process
:name "OSCserver"
+   :coding 'binary
:filter #'osc-filter
:host host
:service port



[elpa] externals/osc 41c6577: Support for receiving double precision (float64) values

2021-03-30 Thread Mario Lang
branch: externals/osc
commit 41c65773a75014cd32da5cf2072e6b563002bbff
Author: Mario Lang 
Commit: Mario Lang 

Support for receiving double precision (float64) values
---
 osc.el | 26 +-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/osc.el b/osc.el
index 28a1a5c..8be30ef 100644
--- a/osc.el
+++ b/osc.el
@@ -1,6 +1,6 @@
 ;;; osc.el --- Open Sound Control protocol library  -*- lexical-binding:t -*-
 
-;; Copyright (C) 2014-2020  Free Software Foundation, Inc.
+;; Copyright (C) 2014-2021  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang 
 ;; Version: 0.2
@@ -173,6 +173,29 @@
 (expt 2.0 (- e 127))
 (1+ (/ f (expt 2.0 23
 
+(defun osc-read-float64 ()
+  (let ((s (lsh (logand (following-char) #X80) -7))
+   (e (+ (lsh (logand (following-char) #X7F) 4)
+ (lsh (logand (progn (forward-char) (following-char)) #XF0) -4)))
+   (f (+ (lsh (logand (following-char) #X0F) 48)
+ (lsh (progn (forward-char) (following-char)) 40)
+ (lsh (progn (forward-char) (following-char)) 32)
+ (lsh (progn (forward-char) (following-char)) 24)
+ (lsh (progn (forward-char) (following-char)) 16)
+ (lsh (progn (forward-char) (following-char)) 8)
+ (prog1 (progn (forward-char) (following-char)) (forward-char)
+(cond
+ ((and (= e 0) (= f 0))
+  (* 0.0 (expt -1 s)))
+ ((and (= e 2047) (or (= f (1- (expt 2 52))) (= f 0)))
+  (* 1.0e+INF (expt -1 s)))
+ ((and (= e 2047) (not (or (= f 0) (= f (1- (expt 2 52))
+  0.0e+NaN)
+ (t
+  (* (expt -1 s)
+(expt 2.0 (- e 1023))
+(1+ (/ f (expt 2.0 52
+
 (defun osc-server-set-handler (server path handler)
   "Set HANDLER for PATH on SERVER.
 IF HANDLER is nil, remove previously defined handler and fallback to
@@ -205,6 +228,7 @@ the generic handler for SERVER."
(lambda (type)
  (cl-case type
(?b (osc-read-blob))
+   (?d (osc-read-float64))
(?f (osc-read-float32))
(?i (osc-read-int32))
(?s (osc-read-string



Re: [BRLTTY] can't compile latest master.

2021-03-29 Thread Mario Lang
Alexander Epaneshnikov  writes:

> hello. when I try to build latest master (a7942a637) I get this:

DId you try running ./autogen?
Sometimes, when things in the build system fail, you need
to re-run ./autogen and/or ./configure to re-build the infrastructure
for building the source...

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Accessible way to slow down music?

2021-03-29 Thread Mario Lang
Howard Traxler  writes:

> Sébastien., I tried to get the Marion program from github but I
> couldn't find a download link.  How does one download from there?

Now that I think of it, if you are running Debian, or one of its
derivatives, you might also be able to install yatm by executing

apt install yatm

Otherwise, you need to build it from source:

git clone https://github.com/mlang/yatm
cd yatm
cmake .
make
make install

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Unicode Braille

2021-03-23 Thread Mario Lang
Dave Mielke  writes:

> [quoted lines by Raphaël POITEVIN on 2021/03/22 at 11:51 +0100]
>
>>It seems not working on my Active Star.
>
> Yes, because the ht key tables don't include the common chords
> subtable. Perhaps this could be done. I don't perso0nally have access
> to an ht device so I'm a little reluctant to mess with those tables
> myself. It'd sure be a nice addition to 6.4, though.

In the meantime, you should be able to switch between unicode and
translated input via the preferences menu.
Alternatively, you could create your own binding for
BRLUCDOTS+on
and
BRLUCDOTS+off
as well.

For instance, you can copy /etc/brltty/Input/ht/as40.ktb
to /etc/xdg/brltty/ (create the directory if necessary)
and put your own binding in that file.
Something like:

bind SpaceLeft+B5+B7+B1 BRLUCDOTS+on
bind SpaceLeft+B5+B7+B8 BRLUCDOTS+off

(untested)

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Building without contracted braille support.

2021-03-08 Thread Mario Lang
Dave Mielke  writes:

> Brltty can be built so that it doesn't contain support for contracted braille 
> -
> via its configure's --disable-contracted-braille option. I'd like to remove
> this capability, so I'm asking if anyone out there has a good reason not to do
> this.

The original reason, putting BRLTTY on a floppy disk, is definitely
gone.  I cant think of anything that would warrant keeping this
preprocessor hackery, so I think it can savely go.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] mantis q40

2021-02-14 Thread Mario Lang
Dave Mielke  writes:

> [quoted lines by Florian Beijers on 2021/02/10 at 17:14 +0100]
>
>>manually trusting the device first, 
>
> Trusting only matters insofar as when connection to the host is being 
> requested
> by the device. That isn't the case with brltty, i.e. it's always the case that
> brltty on the host requests a connection to the device.

Guessing here, but the poster has described that the Mantis has a
bluetooth keyboard.  My HT ActiveStar does a similar thing.  Keyboard
connected via USB to the device, but if you use it via Bluetooth,
keycodes are not sent inline with the braille protocol, but sent via
bluetooth HID.  In that case, yu need to trust the remote device such
that the keyboard can open a connection to the host, since that is how
bluetooth keyboards usually work.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] mantis q40

2021-02-09 Thread Mario Lang
Florian Beijers  writes:

> I see a whole lot of RFCOMM errors, either connection refused or resource 
> busy.
> What would that indicate?

My first question would be: Are you sure you have correctly paired the
device?  Does bluetoothctl report it as paired?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] mantis q40

2021-02-09 Thread Mario Lang
Florian Beijers  writes:

> Just tried pairing my APH Mantis q40 to a Kali machine running brltty 6.3, but
> brltty seems to be unable to recognize it.
> I''ve set the brailleDevice directive in brltty.conf to Bluetooth:address, 
> where
> address is the address info returns from the bluectl command.
> Enabled and started brltty with sudo systemctl, no errors but no braille 
> either.
> I can't help but notice that there's no driver for it listed in brltty.conf
> either.

The "Mantis Q40" is supposed to work with the HumanWare (hw) driver.

> Is this device supported over Bluetooth?

It should be, since there is an entry for it in bluetooth_names.c.

> If so, how can I further debug?

Looking at the log might be helpful.  Something like

journalctl -u brltty.service

should help in your case.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] tsi braille display serial protocol

2021-02-02 Thread Mario Lang
deniz sincar  writes:

> or send me documentation how the serial bites are sent to display to
> rise dots on cells?

The source code is the documentation.

https://raw.githubusercontent.com/brltty/brltty/master/Drivers/Braille/TSI/braille.c

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] bluetooth braille emulator

2021-01-17 Thread Mario Lang
deniz sincar  writes:

> but i want it to act like a bluetooth focus 40 or something that
> support iphone, and converts it to tsi braille protocol.

There is no such thing.  It would need to be written.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] tsi braille display driver

2021-01-16 Thread Mario Lang
deniz sincar  writes:

> i want to try to make a tsi braille driver for nvda without using brltty.

This question is probably best asked on a NVDA devs list.

> how to do this? what are the communication packages for the display?

What is a "communication package"?  I would assume you already know that
TSI displays only support serial communication.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Some symbols not displaying correctly after upgrade to Ubuntu 20.04

2021-01-06 Thread Mario Lang
Dave Mielke  writes:

> [quoted lines by S. Massy on 2021/01/04 at 20:04 -0500]
>
>>Switching away from EN_US.UTF8 to fix date formats, 
>
> You might find that en_IE is better than en_GB for that as it keeps the 
> overall
> output format of the date command the same.

The different LC_* variables can be set with different locales as well.
I used to have LC_TIME=de_AT.UTF-8 and LC_MESSAGES=en_US.UTF-8.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] German users: no-break space and dot 7?

2020-12-06 Thread Mario Lang
Sebastian Humenda  writes:

> Hi Mario
>
> Mario Lang schrieb am 05.12.2020, 21:27 +0100:
>>Sebastian Humenda  writes:
>>
>>> Mario Lang schrieb am 04.12.2020, 17:46 +0100:
>>>>To all german users: I just noticed there is no mapping in de.ttb which
>>>>maps to a sole dot 7.  Any objections to mapping non-breaking spaces to
>>>>dot 7?
>>>
>>> Why would you like to show non-breaking spaces by default?
>>
>>Because sole dot 7 is not used for anything.  nbsp do carry a semantic
>>meaning, i.e. they will inhibit editors to break between words using
> […]
>
> Sure, but it's something related to typography in the wider sense. It should
> be an option to enable for the screen reader or is the job of your editor to
> show.

The editor typically uses no-breaking space to show that, which is
actually what we want from the perspective of screen reading.  If the
editor used some sort of background color, that wouldn't lend itself very
much to screen reading.

> I would not like to see it as a default.

Why do you use a horizontal ellipsis in your email if you care about
representablility in Braille?

>>> They are not shown on the screen and I do not like the idea to do this
>>> different in braille.  A non-breaking space is IMHO a typographic
>>> matter and I would say that it should be made visible when needed.
>>
>>Which character would you map to sole dot 7 then?
>
> Do we need to map it?

Well, we only have 2^8 different things a braille cell can show.  Is
that so much that we can waste mappings?

> I am not familiar with computer braille and whether there are
> standards for this.

Noted.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] German users: no-break space and dot 7?

2020-12-05 Thread Mario Lang
Sebastian Humenda  writes:

> Mario Lang schrieb am 04.12.2020, 17:46 +0100:
>>To all german users: I just noticed there is no mapping in de.ttb which
>>maps to a sole dot 7.  Any objections to mapping non-breaking spaces to
>>dot 7?
>
> Why would you like to show non-breaking spaces by default?

Because sole dot 7 is not used for anything.  nbsp do carry a semantic
meaning, i.e. they will inhibit editors to break between words using
nbsp as a separator.  IOW, nbsp can be used to separate things that
really belong together, like the full name of a person or similar.  When
your editor does automatic line breaking for you, it will not break at
an nbsp.

> They are not shown on the screen and I do not like the idea to do this
> different in braille.  A non-breaking space is IMHO a typographic
> matter and I would say that it should be made visible when needed.

Which character would you map to sole dot 7 then?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[BRLTTY] German users: no-break space and dot 7?

2020-12-04 Thread Mario Lang
Hi.

To all german users: I just noticed there is no mapping in de.ttb which
maps to a sole dot 7.  Any objections to mapping non-breaking spaces to
dot 7?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] strange behavior udev and systemd

2020-11-25 Thread Mario Lang
Aura Kelloniemi  writes:

> If I have many BRLTTYinstances running, will BrlAPI clients connect to
> the right BRLTTY (i.e. will the latest BRLTTY be able to override the
> BrlAPI server for the previously started instances)?

There is no way to automatically determine what the "right" BRLTTY
instance would be.  It depends on what the user wants.

They will likely need to configure the no-api directive in the
respective brltty.conf to avoid conflicts.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] BRLTTY floods the log with the Freedom Scientific Focus Blue

2020-11-24 Thread Mario Lang
Alex ARNAUD  writes:

> Hello all,
>
> I'm helping a blind user with a Freedom Scientific focus blue with the id
> "0f4e:0114". I don't know the exact model sorry. It seems lsusb dosn't provide
> us detailed informations about the device.

lsusb -v refusing to provide details usually means even the kernel had
trouble reading the device descriptors.

> He uses:
>
> * Debian 10 "Buster"
> * BRLTTY 6.1
> * The Linux kernel 5.8.10
>
> BRLTTY floods the syslog and daemon files with the following logs:
>
>  kernel: [ 1988.905326] usb 1-3: usbfs: USBDEVFS_CONTROL failed cmd brltty
>  rqt 128 rq 6 len 255 ret -71

These logs are from the kernel, not BRLTTY.

>  brltty[3434]: USB language code string read error
>  brltty[3434]: USB control transfer error 71: Erreur de protocole
>  brltty[3434]: USB language code string read error
>  brltty[3434]: USB configuration set error 22: Argument invalide
>  brltty[3434]: USB control transfer error 71: Erreur de protocole
>  brltty[3434]: USB configuration descriptor not readable: 0
>  brltty[3434]: USB configuration descriptor not found: 1
>
> It has produced 5 GB of logs and prevented X.Org to start.
>
> Based on our tests, the Braille device works. 

Which tests?  On the same computer with Linux, or with some other OS?
Also, is the user actually using the device?

> Moving the log level to emergency doesn't seem to have produce any effects.

Which log level?  There are more log levels involved here.  What the
kernel reports, and what BRLTTY will log.

> Defining the log file to /tmp/brltty.log continues to pollute the syslog and
> daemon.log.
>
> What can we do to improve the situation? Currently we've unplugged the Focus
> Blue and stop BRLTTY.

Again, was the user actually using the device?  If it was properly
functioning, I wonder why BRLTTY was apparently retrying to initialize
the device again and again.  Could it be that more then just one BRLTTY
were trying to fight over the same device?  IOW, did you check that only
one instance of BRLTTY was running?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] 6.2 soon.

2020-11-20 Thread Mario Lang
Samuel Thibault  writes:

> Lars Bjørndal, le ven. 20 nov. 2020 20:36:21 +0100, a ecrit:
>> > For debian users, I have uploaded a snapshot of 6.2 in the experimental
>> > distribution (versioned 6.2~pre+dfsg-1) so you can try it easily.
>> 
>> Do you happen to also be responsible for the raspbian version of BRLTTY,
>
> No
>
>> do you have a corresponding package for that distro?
>
> I don't know if raspbian picks up packages from debian experimental too.

Likely no.

> I guess you could try to install the proper-armsomething package from debian.

My raspian-fu is a bit rusty, but I'd try building the debian package
from source.  AIUI, most packages are taken unchanged from Debian.  So
if you build the Debian package from source on your pi, you
should get the same binary package you would if raspian already had what
you want to test.

More specifically, you'd fetch the .dsc, .diff.gz and .tar.xz files
from Debian with something like debget (or manually), run `dpkg-source -x`
on the dsc, change into the directory, and build with something like
`dpkg-buildpackage -uc -us`.  You will likely need to install the
build-dependencies.  Most of which you will get with `apt-get build-dep brltty`.

This is quite a mouthful, but as a result you should get a package which
is easy to uninstall/upgrade without leaving stuff behind.  And of
course you are going to test if the packaging is compatible with
raspian.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Generate visual Braille

2020-11-14 Thread Mario Lang
Mario Lang  writes:

> root@x1:/etc/xdg/brltty# cat fr-names.ctb
> include fr-abrege.ctb
> always poitevin =

Actually, now that I think again, you probably want to use the keyword
"word" instead of "always".  "word" will, as the name implies, only
match complete words.  "always" would also match if the string appears
in the middle of a word.

So the rule should likely read

word poitevin =

Have a look at
Documents/README.ContractionTables
(in the BRLTTY sourcedirectory)
for a complete list of directives you can use in ctb files.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Generate visual Braille

2020-11-14 Thread Mario Lang
raphael.poite...@gmail.com (Raphaël POITEVIN) writes:

> Dave Mielke  writes:
>
>> The contraction table itself would have to define that. I doubt that name
>> detection is simple since, for example, the first word of a sentence is
>> capitalized.
>
> echo "POITEVIN" | brltty-ctb -cfr-abrege
> ⠨⠨⠏⠾⠞⠑⠧⠔
>
> which is not  attended.

So you could define your own table, which would look like:

root@x1:/etc/xdg/brltty# cat fr-names.ctb
include fr-abrege.ctb
always poitevin =

root@x1:/etc/xdg/brltty# echo "POITEVIN" | brltty-ctb -cfr-names
⠨⠨⠏⠕⠊⠞⠑⠧⠊⠝

Some tables solve part of this problem by defining a list of common
known names which should not (or only to a limited degree) be contracted.
This is always just an approximation.  Luckily, it is easy enough to
define your own table as an extension of an existing one.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Being notified when battery level is low

2020-10-15 Thread Mario Lang
Sébastien Hinderer  writes:

> Hello Mario, many thanks for your message!
>
> Mario Lang (2020/10/06 13:00 +0200):
>> Sébastien Hinderer  writes:
>> 
>> > Raphaël POITEVIN (2020/10/06 10:21 +0200):
>> >> Maybe a cron running a script which check the battery level with
>> >> acpi. You can send a sound.
>> >
>> > Yeah that could be an option indeed. Thanks!
>> 
>> if [ $(cat /sys/class/power_supply/BAT0/capacity) -lt 10 ]
>> then play sound
>> fi
>
> That was a great idea, thanks! I installed it as a cron job and it kind
> of works, except when X is running becuase that starts PulseAudio, and
> then the cron job is unable to play sound for a reason I don't know, it
> seems it does not find PA so that's something that remians to be
> investigated for me.

The only advice I can give about PulseAudio is to uninstall the damn thing.
PA is one of the reasons why I no longer use X on Linux.
It is a horrible invasive piece of software.

>> P.S.: It appears the same things are coming up over and over again for
>> those of us who do not run a graphical desktop.
>
> Yes, I fully share the observation.
>
>> Screen curtain and
>> battery status come to mind.
>
> I would maybe add automount...

How is automount related?

>> Maybe it is time to actually write a tool
>> which somehow collects these small tasks into something that somehow
>> just works.  I would love to have something like
>> apt install text-mode-junkie
>> It would make it easy to turn down keyboard and display backlight, play
>> a sound when battery is low and maybe offer current weather based on the
>> current IP address.  Basically what GNOME 2 used to offer as applets.
>
> I would also appreciate having all the features a graphical desktop
> offers in text mode, but it feels it could be hard to maintain. It's
> also my impression that we text-mode guys go a bit against the present
> momentum and that it would be less painful to adapt ourselves to the
> graphicla world than to try to resist to it. I am writing htis with some
> sadness, I really don't like the graphical world.

I am not resisting.  I just refuse to use something which makes me less
efficient.  Also, I refuse to use something which can break from upgrade
to upgrade.  Remember GNOME3? Never ever will I trust the FLOSS
community again to maintain an accessibile graphical environment.
Last thing I read from the Orca maintainer felt a lot like she is about
to burn out.  Mostly because she feels like (and that is pretty much
true) that the rest of the community is no longer interested in actually
having a working accessible desktop.  Things like Mutter and Wayland
have pretty much demonstrated that we are not welcome.
The next big shiny invention will lack proper accessiblity and we're out
of the game again.  Better not develop any dependency on the GUI, so
nobody can rip it out of your heart again.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] BRLTTY with APH Mantis q40

2020-10-12 Thread Mario Lang
brandybu...@protonmail.com writes:

> Has anyone tried using braille with the mantis q40 by aph? My friend recently
> aquired one and is looking for support. Me too, as i'm getting this exact
> display. I always wonder how those work, i wonder if it runs android. But my
> friend plugged it into his computer, the keyboard works fine with linux 
> because
> it uses a separate driver apparently. But BRLTTY does nothing.

Which version of BRLTTY did you try?
The Q40 is supposed to work since BRLTTY 6.1 (April 6, 2020).

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Connecing BI 14 to Debian

2020-10-08 Thread Mario Lang
Bertil Smark Nilsson  writes:

> I'm having problems connecting my Humanware BI 14 to my Debian 9
> machine via usb.

Looking at the BRLTTY ChangeLog, it appears there was a
problem with the BI 14 via USB which was fixed in BRLTTY 6.0.

However, Debian 9 (codename stretch) has BRLTTY 5.4.

If you can do so, upgrading your Debian installation to the latest
stable release (codename buster, version 10) might fix the problem for you, as
Debian 10 has BRLTTY 6.0.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Being notified when battery level is low

2020-10-06 Thread Mario Lang
Sébastien Hinderer  writes:

> Raphaël POITEVIN (2020/10/06 10:21 +0200):
>> Maybe a cron running a script which check the battery level with
>> acpi. You can send a sound.
>
> Yeah that could be an option indeed. Thanks!

if [ $(cat /sys/class/power_supply/BAT0/capacity) -lt 10 ]
then play sound
fi

For those which use Emacs as their text desktop environment,
there is
M-x battery RET which will display battery status in the echo area and
M-x display-battery-mode RET which will display battery status in the mode-line.

I sometimes also use "acpi -bat" on the command line to check the
temperature and how long I will be able to continue working on battery.

P.S.: It appears the same things are coming up over and over again for
those of us who do not run a graphical desktop.  Screen curtain and
battery status come to mind.  Maybe it is time to actually write a tool
which somehow collects these small tasks into something that somehow
just works.  I would love to have something like
apt install text-mode-junkie
It would make it easy to turn down keyboard and display backlight, play
a sound when battery is low and maybe offer current weather based on the
current IP address.  Basically what GNOME 2 used to offer as applets.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Bug#971238: Expose RPCNFSDOPTS in /etc/default/nfs-kernel-server

2020-09-27 Thread Mario Lang
Package: nfs-utils
Version: 1:1.3.4-4
Severity: wishlist
Tag: patch

The ability to pass extra options (like --rdma) to rpc.nfsd
is currently rather obscured.
Looking at /lib/systemd/scripts/nfs-utils_env.sh,
I see that RPCNFSDOPTS is being used.
However, there is no stub for it in /etc/default/nfs-kernel-server.

Since I was trying to enable RDMA,
mentioning that option as an example
seemed loke a good idea.

--- nfs-utils-1.3.4/debian/nfs-kernel-server.default.orig	2020-07-26 14:02:00.0 +0200
+++ nfs-utils-1.3.4/debian/nfs-kernel-server.default	2020-09-27 21:20:25.375657576 +0200
@@ -1,6 +1,10 @@
 # Number of servers to start up
 RPCNFSDCOUNT=8
 
+# Options for rpc.nfsd
+# To enable RDMA on the server, specify '--rdma' here
+RPCNFSDOPTS=""
+
 # Runtime priority of server (see nice(1))
 RPCNFSDPRIORITY=0
 

-- 
AR Mario Lang   Phone: +43 316 873 6897
Graz University of Technology  Mobile: +43 664 60 873 6897
IT-Services for research and teaching   Email: ml...@tugraz.at
Steyrergasse 30/1, 8010 Graz, Austria   Please https://useplaintext.email/


Bug#971238: Expose RPCNFSDOPTS in /etc/default/nfs-kernel-server

2020-09-27 Thread Mario Lang
Package: nfs-utils
Version: 1:1.3.4-4
Severity: wishlist
Tag: patch

The ability to pass extra options (like --rdma) to rpc.nfsd
is currently rather obscured.
Looking at /lib/systemd/scripts/nfs-utils_env.sh,
I see that RPCNFSDOPTS is being used.
However, there is no stub for it in /etc/default/nfs-kernel-server.

Since I was trying to enable RDMA,
mentioning that option as an example
seemed loke a good idea.

--- nfs-utils-1.3.4/debian/nfs-kernel-server.default.orig	2020-07-26 14:02:00.0 +0200
+++ nfs-utils-1.3.4/debian/nfs-kernel-server.default	2020-09-27 21:20:25.375657576 +0200
@@ -1,6 +1,10 @@
 # Number of servers to start up
 RPCNFSDCOUNT=8
 
+# Options for rpc.nfsd
+# To enable RDMA on the server, specify '--rdma' here
+RPCNFSDOPTS=""
+
 # Runtime priority of server (see nice(1))
 RPCNFSDPRIORITY=0
 

-- 
AR Mario Lang   Phone: +43 316 873 6897
Graz University of Technology  Mobile: +43 664 60 873 6897
IT-Services for research and teaching   Email: ml...@tugraz.at
Steyrergasse 30/1, 8010 Graz, Austria   Please https://useplaintext.email/


Bug#970698: Please remove amd64 from NO_PMIX_ARCH

2020-09-21 Thread Mario Lang
Package: openmpi
Version: 4.0.5-4
Severity: important

Right now, debian/rules has

NO_PMIX_ARCH:= armel mipsel amd64

This looks like an oversight.  I get an error about undefined
symbol when launching an MPI job via SLURM.  Removing amd64 from
NO_PMIX_ARCH fixes this.

-- 
AR Mario Lang   Phone: +43 316 873 6897
Graz University of Technology  Mobile: +43 664 60 873 6897
IT-Services for research and teaching   Email: ml...@tugraz.at
Steyrergasse 30/1, 8010 Graz, Austria   Please https://useplaintext.email/



[elpa] externals/chess 2d797ff 1/2: * chess-game.el (chess-game-ply): Fix docstring.

2020-09-19 Thread Mario Lang
branch: externals/chess
commit 2d797ff3a3e9d8e0019feec7fa99a34b5d15ad42
Author: Mario Lang 
Commit: Mario Lang 

* chess-game.el (chess-game-ply): Fix docstring.
---
 chess-game.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/chess-game.el b/chess-game.el
index d86f159..06b99fb 100644
--- a/chess-game.el
+++ b/chess-game.el
@@ -222,7 +222,7 @@ if INDEX is nil)."
 
 (defun chess-game-ply (game  index)
   "Return a ply of GAME.
-If INDEX is non-nil, the last played ply is returned."
+If INDEX is nil, the last played ply is returned."
   (cl-assert game)
   (if index
   (nth index (chess-game-plies game))



[elpa] externals/chess updated (31a581b -> 7193c24)

2020-09-19 Thread Mario Lang
mlang pushed a change to branch externals/chess.

  from  31a581b   * chess-pgn.el (chess-pgn-parse): Fix unescaped character 
literal
   new  2d797ff   * chess-game.el (chess-game-ply): Fix docstring.
   new  7193c24   * chess-network.el (chess-network-handler): Use 
`executable-find'.


Summary of changes:
 chess-game.el| 2 +-
 chess-network.el | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)



[elpa] externals/chess 7193c24 2/2: * chess-network.el (chess-network-handler): Use `executable-find'.

2020-09-19 Thread Mario Lang
branch: externals/chess
commit 7193c24769d463ae8920a2f8143f8cc3d0122eb1
Author: Mario Lang 
Commit: Mario Lang 

* chess-network.el (chess-network-handler): Use `executable-find'.
---
 chess-network.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/chess-network.el b/chess-network.el
index c9a6b3d..16f7aa7 100644
--- a/chess-network.el
+++ b/chess-network.el
@@ -144,7 +144,7 @@
  (string-to-number
   (read-string "Port: ")))
(start-process "*chess-network*"
-  (current-buffer) "/usr/bin/nc"
+  (current-buffer) (executable-find "nc")
   "-l" "-p" (read-string "Port: ")))
(open-network-stream "*chess-network*" (current-buffer)
 (read-string "Host: ")



Re: [BRLTTY] brlapi programming examples

2020-08-25 Thread Mario Lang
Mika Hanhijärvi  writes:

> I just would like to create my own braille tetris :-)

I have written a braille tetris recently.
However, it does not use BrlAPI, it uses Unicode Braille characters to
display the state of the game directly on the console.

You can find it here: http://hackage.haskell.org/package/betris

If you install the Haskell Stack tool, you can easily build it with:

git clone https://github.com/mlang/betris
cd betris
stack build

If that is too complicated, you can also get the prebuilt executable
from here:

wget https://blind.guru/betris
chmod +x betris
./betris

When playing, remember that this is a horizontal version of tetris.  So
the functions of the cursor keys has been rotate as well.  Cursor
up/down will move the tile, and cursor left will drop it.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Can BRLTTY indicaste indentation?

2020-08-21 Thread Mario Lang
"John J. Boyer"  writes:

> Consider the following deeply indented Python statement.
>   wordType = adverb
> There are five tabs. I would like BRLTTY to replace them with simicolons
> ;wordType = adverb
> This feature would have to be optional and easy to turn on and
> off. People sometimes use spaces to indicate indentation or even both
> tabs and spaces. I would like spaces replaced with commas. The feature
> should work only at the beginnings of lines. I've soon code with soo
> many tabs that the Braille display is blank.
> That makes coding really frustrating.

This is how life goes.  I firmly believe what you want is best handled
by your editor.  If you are already using Emacs, it should be pretty
simple to get what you want with emacs lisp.  If you are working with a
codebase that strictly uses tabs, you might also improve things by
setting the tab width.  In vi, for instance, you can always do
:set tabstop=2
to make deeply nested code which uses tabs easier to read.

Regarding the indentation width, I personally feel like 2 is the minimum
for easily feeling how far something is actually indented.  I never
liked just one space, it is confusing to me and too easy to miss things
while scrolling along a block of code.

Dealing with code formatting in contributions to open source projects
can be tedious sometimes.  However, there is no real way around this.
It is totally understandable for most projects to demand a unified style
when starting to accept patches.  The codebase would be horribly
inconsistent when it comes to formatting and indentation after awhile.
Sometimes, you can make tools work for you.  For instance, some
languages (C++ and Rust come to mind) have quite capable code formatting
tooling these days.  If a project uses that, you can sometimes get away
by temoprarily modifying the code formatting rules, do your work, and
switch them back to what the project requires before finally submitting
your patch.  In most other cases, you are pretty much on your own.
However, this is a pain we share with the sighted community.

For instance, a sighted coworker of mine refused to meaningfully indent
his code (in languages that do not require indentation).  This was very
confusing to me whenever I had to look at his code.  To me, proper
indentation is part of the beauty of code, even in languages that do not
require it.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Can BRLTTY indicaste indentation?

2020-08-21 Thread Mario Lang
"John J. Boyer"  writes:

> Hello,
>
> I am considering trying to help with the development of Orca. However,
> I need a way to indicate indentation in Python.
> I thought of trying to get emacs to do this, but it is really the
> business of the screenreader. So I am wondering if BRLTY has a way of
> indicating indentation.

I don't understand.  I am a braille only user, and have worked with
several programming languages that depend on indentation (Haskell,
Python).
I have never needed special support from my screen reader.
What is it exactly, that you are looking for?

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] [OT] How to integrate BSI into a Linux cell phone?

2020-08-17 Thread Mario Lang
Rich  writes:

> I'm a sighted, semi-retired, volunteer developer who is very interested in the
> possibility of re-purposing Android cell phones as blind-accessible computing
> and communication devices.  There are a number of projects working on re-using
> the billions of aging cell phones that are out there.  Some, such as 
> LineageOS,
> start with an open source version of Android.  Others, such as postmarketOS 
> and
> Mobian, start with a more vanilla flavor of Linux (e.g., Alpine, Debian).
>
> Although the first approach makes tons of Android software available, most of
> this is GUI-based, so accessibility will generally be a challenge.  Basing the
> system on Linux allows a wealth of CLI-based software to be used and helps to
> anchor the resulting system more closely in the open source community.

I can follow your analysis.  I dont agree with some of its conclusions,
but lets continue.

> Challenges
>
> One of the biggest challenges, I suspect, will be providing an accessible form
> of text input.  Most screen-based keyboards for cell phones aren't suitable,
> a physical keyboard would add cost and bulk, and voice recognition (without 
> the
> support of cloud computing) still seems to be beyond the phone's capabilities.

Voice Recognition also conflicts with your idea of a CLI-based system.
A physical keyboard doesn't sound like a real problem.
However, if you want to aim for a completely mobile solution, BSI as you
call it seems like the best option around.

> So, I've been speculating about how to support Braille Screen Input (BSI) on a
> Linux-based cell phone.  BSI is available on Android, Fire OS, and iOS (please
> let me know if I'm missing any others!), but I haven't found any indication 
> that
> anyone is working on supporting it for any form of Linux.

I guess the reason for that is that plain Linux systems running on a
worn-out mobile device aren't really populare amongst blind users.
Cost-wise, Rasperry Pis are very much more populare when it comes to
building a low-cost computing solution.  Adding a USB keyboard doesnt
really drive up the cost, and is very easy to do.  If you dont
care for high performance applications, as a blind user, you're
basically done now.  There is no real need for a monitor, for instance.

> I think I have a handle on how to architect the front end of the code, using a
> set of Actors (lightweight processes) running on a foundation of Elixir, 
> Erlang,
> and OTP.

Are you saying you want to implement the motion tracking for the
multitouch screen with the stack you mention above?  Or do you plan to
write your applications with that stack?

> However, I'm totally out of my depth when it comes to interfacing the
> code to other apps, the window system, and the rest of the OS.

You seem to be contradicting yourself.  At the beginning, you argue that
a plain Linux system is better because it doesn't have a GUI.  Now, you
are looking for ways to interface wtih a windowing system.  I am
confused.

> Should I be looking into D-Bus, GTK, Qt, or what?

That really depends on what sort of applications you are trying to
support on your system.  If I wanted to write a BSI for CLI on Linux,
I'd be looking into the Linux kernel input device API.  You can simulate
a keyboard in software with that.  How you talk to your multitouch
screen devices is totally out of my knowledge.

> Also, are there any ways the code could leverage BRLTTY, Emacspeak,
> Orca, etc?  How would typical blind users want a BSI subsystem to act
> in this context?  I'm really confused here, so I'm asking for advice,
> comments, and so forth.

Frankly, you dont quite understand the ecosystem you are trying to
adapt.  Orca is only relevant if you decide to go for a GUI based
system.  Emacspeak is pretty specific to Emacs users, although I guess
it could be used as the main audio desktop if you want to go that way.
BRLTTY should be easy to plug in, if you are either using virtual
terminals or something that requires Orca.

>
> -r
>
> P.S.  There is at least one physical keyboard which isn't totally out of the
> question for use with a cell phone.

I am pretty sure there are more then just one.

-- 
AR Mario Lang   Phone: +43 316 873 6897
Graz University of Technology  Mobile: +43 664 60 873 6897
IT-Services for research and teaching   Email: ml...@tugraz.at
Steyrergasse 30/1, 8010 Graz, Austria   Please https://useplaintext.email/
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty


[BRLTTY] ALVA Satellite 584 Pro

2020-07-27 Thread Mario Lang
Hi.

I am looking for someone who has used a ALVA Satellite 584 Pro at some
point.  I am trying to debug one which is slightly unstable when used
via USB.  I was hoping to just use the serial port, but for some reason
I can not turn the device on without USB connected.
Does anyone know, was there perhaps a magic trick to switch the device
to external power.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Raspberry Pi bluetooth pairing question

2020-07-20 Thread Mario Lang
"Keith Wessel"  writes:

> I feel like I'm overlooking something obvious here.
>
> I recently replaced my aging Gentoo desktop system with a Pi 4, and I'd like
> to pair my braille disply with it via bluetooth. But I'm getting hung up on
> the connecting.
>
> [bluetooth]# connect E0:7D:EA:E7:91:FF

As far as I understand, you shouldn't need to use connect.
Did you read Documents/README.Bluetooth?

-- 
AR Mario Lang   Phone: +43 316 873 6897
Graz University of Technology  Mobile: +43 664 60 873 6897
IT-Services for research and teaching   Email: ml...@tugraz.at
Steyrergasse 30/1, 8010 Graz, Austria   Please https://useplaintext.email/
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty


Re: [BRLTTY] error after i run make / keycodes description

2020-07-11 Thread Mario Lang
Stéphane Doyon  writes:

> On Thu, 28 Nov 2019, Dave Mielke wrote:
>
>> Your brlapi_constants.h is nearly empty. It should be much larger - mine has 
>> a
>> little over 400 lines in it. This looks very similar to a problem that was
>> reported, here, about a week ago. The problem was that some of the awk 
>> scripts
>> that building brltty uses were compatible with gawk but not with mawk. What
>> does the AWK = line in config.mk say?
>>
>> This problem has now been fixed. Please, therefore, get the latest brltty
>> development source and give it another try.
>
> I'm not sure if this regressed, but I'm encountering this problem
> again, building at head as of right now on Raspbian Buster.
> And
>
> sudo apt install gawk
>
> fixed it.

This is a know issue.  Debian installs mawk by default, while some of
the awk scripts in BRLTTY do require gawk.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Git directory not includes the baum branch.

2020-07-09 Thread Mario Lang
Anders Holmberg  writes:

> After i type make -s should i then do make install or just try to run
> the ./run-brltty?

run-brltty was written so that you can run brltty from its build
directory without having to install it.  In other words, always use
run-brltty if you are just testing a particular build/change.

-- 
CYa
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty


Re: [BRLTTY] Logging levels

2020-07-01 Thread Mario Lang
Sebastian Humenda  writes:

> I am looking for the different logging options that I could pass to BRLTTY to
> log different event categories, e.g., speech or keyboard input.

brltty -H

...
-l lvl|cat,...--log-level= Logging level (0-7 or one of
   {emergency alert critical
   error warning notice information
   debug}) and/or log categories to
   enable (any combination of {all
   ingio inpkts outpkts brlkeys
   kbdkeys csrtrk csrrtg update speech
   async server serial usb bluetooth
   brldrv spkdrv scrdrv}, each
   optionally prefixed by - to disable)

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] BRLTTY and SSH from Windows

2020-07-01 Thread Mario Lang
Lars Bjørndal  writes:

> I had to reinstall my Windows pc at work. Previously I used BRLTTY and
> Cygwin SSH to access remote servers. That worked pretty well. Anyway I'd
> like to ask if it's better, nowadays, to use the linux console in
> Windows, than using Cygwin.

I had pretty good results with WSL (1 and 2).  Works pretty nicely, and
is pretty easy to install.

> Is it possible to install BRLTTY with apt-get and use it from the
> Linux console?

I never tried this.  I use a normal Windows screen reader (JAWS and/or
NVDA in my case).

BTW, if all you need is ssh, Windows 10 comes with ssh preinstalled.  So
depending on your requirements, it might be enough to just use that from
cmd.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] latest git fails on osx

2020-06-03 Thread Mario Lang
rmgls  writes:

> i am trying to build a binary

Which binary, exactly?  And how do you try to build it?

> and clang complains about -lcrt0.o not found.

What is the exact error message?

> msdos is not disabled by default?

This bit doesn't make a lot of sense in the given context.

In general, please try to be a bit more specific when asking questions.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Key bindings for the HandyTech products

2020-04-13 Thread Mario Lang
[Top-posting to keep the answer short.]

Hi.

I personally use the binding of CURSOR_UP and CURSOR_DOWN quite a lot.
And, as you already said, if I don't want to reach all the way to the
right, I use the SPACE keys to pan horizontally.

Sébastien Hinderer  writes:

> Dear all,
>
> This message is addressed to Mario and all the users of the Active Star
> 40 and perhaps also other HandyTech products.
>
> I would like to discuss the binding of the left triple action key. Its
> lower part is currently bound to cursor down, while its upper part is
> currently bound to cursor up.
>
> I never used these bindings and recently changed them. I bound the lower
> part to full window right and the upper part to full window left. That
> may sound counterintuitive and may seem more intuitive to do the binding
> the other way around, but my idea was to be as close as possible to
> what one is doing when reading printed braille. When one is doing that,
> at some point the right hand continues to read on its own while the left
> one returns to the beginning of the line and goes to the following one,
> so that the right hand knows where to go when reading is finished.
>
> With this bindings, I find the load of my two hands more balanced. It's
> also convenient when the display is not completely filled to not have to
> go to the triple action key on the right to go to the next braille
> window. I realise I could do it with the space keys, too, but I don't
> find this very convenient.
>
> So my question is: what do other users of this input table think about
> this suggestion? Do you find it odd and think I should just keep it for
> myself, or do you like it and find it worth including?
>
> For those who would like to try, I am attaching the updated version of
> rockers.kti I am using.
>
> To use it, just install it under /etc/xdg/brltty/rockers.kti and restart
> brltty, it will load the alternative version of the table rather than
> the default one.
>
> Best wishes,
>
> Sébastien.
>
>
> ___
> This message was sent via the BRLTTY mailing list.
> To post a message, send an e-mail to: BRLTTY@brltty.app
> For general information, go to: http://brltty.app/mailman/listinfo/brltty
>

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] Tr: Fwd: Google Launches Braille Keyboard for Android Devices

2020-04-10 Thread Mario Lang
Sébastien Hinderer  writes:

> The message below may be of interest.

Wow, it took them what, 4 or 5 years? to steal this feature from iOS :-)

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Re: [BRLTTY] BRLTTY does not recognize my braille line, "braillino"

2019-12-23 Thread Mario Lang
discapacidad5  writes:

> El lun., 23 dic. 2019 a las 13:49, Dave Mielke () escribió:
>
> The braille line has a built-in braille keyboard, the part of the braille
> line and navigation work well, but the 8-point typing keyboard that it brings
> built in does not work

You likely need to switch from navigation to input mode.
Try pressing RightSpace+Dot7+Dot8.  To go back to navigation mode, press
LeftSpace+Dot7+Dot8.

-- 
CYa,
  ⡍⠁⠗⠊⠕
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

[elpa] master updated (4db95ab -> 2604824)

2019-12-19 Thread Mario Lang
mlang pushed a change to branch master.

  from  4db95ab   Concatenate messages instead of using a temp-buffer and 
buffer-string
   new  dcb301b   Support for binary blobs
   new  2604824   Release version 0.2


Summary of changes:
 packages/osc/osc.el | 31 +--
 1 file changed, 25 insertions(+), 6 deletions(-)



[elpa] master 2604824 2/2: Release version 0.2

2019-12-19 Thread Mario Lang
branch: master
commit 2604824e5dfbe1ba23210f9d5c966fd8918832c4
Author: Mario Lang 
Commit: Mario Lang 

Release version 0.2
---
 packages/osc/osc.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/packages/osc/osc.el b/packages/osc/osc.el
index 5450751..a63d382 100644
--- a/packages/osc/osc.el
+++ b/packages/osc/osc.el
@@ -3,7 +3,7 @@
 ;; Copyright (C) 2014-2019  Free Software Foundation, Inc.
 
 ;; Author: Mario Lang 
-;; Version: 0.1
+;; Version: 0.2
 ;; Keywords: comm, processes, multimedia
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -39,11 +39,11 @@
 
 ;; Usage:
 ;;
-;; Client: (setq my-client (osc-make-client "localhost" 7770))
+;; Client: (setq my-client (osc-make-client "127.0.0.1" 7770))
 ;; (osc-send-message my-client "/osc/path" 1.5 1.0 5 "done")
 ;; (delete-process my-client)
 ;;
-;; Server: (setq my-server (osc-make-server "localhost" 7770
+;; Server: (setq my-server (osc-make-server "127.0.0.1" 7770
 ;;  (lambda (path  args)
 ;;(message "OSC %s: %S" path args
 



[elpa] master dcb301b 1/2: Support for binary blobs

2019-12-19 Thread Mario Lang
branch: master
commit dcb301bb9894e2862183317622e6207bc0b8e8ed
Author: Mario Lang 
Commit: Mario Lang 

Support for binary blobs

* packages/osc/osc.el: (osc-blob, osc-read-blob): New functions.
* (osc-send-message, osc-filter): Adjust.
---
 packages/osc/osc.el | 25 ++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/packages/osc/osc.el b/packages/osc/osc.el
index e88f135..5450751 100644
--- a/packages/osc/osc.el
+++ b/packages/osc/osc.el
@@ -35,7 +35,7 @@
 
 ;; BUGS/TODO:
 ;;
-;; * Timetags and binary blobs are not supported yet.
+;; * Timetags are not supported yet.
 
 ;; Usage:
 ;;
@@ -55,6 +55,12 @@
   (setq string (encode-coding-string string 'binary))
   (concat string (make-string (1+ (- 3 (% (length string) 4))) 0)))
 
+(defun osc-blob (vector)
+  (let ((length (length vector)))
+(concat (osc-int32 length)
+   vector
+   (make-string (% (- 4 (% length 4)) 4) 0
+
 (defun osc-float32 (value)
   (let (s (e 0) f)
 (cond
@@ -112,6 +118,7 @@
 ((floatp arg) "f")
 ((integerp arg) "i")
 ((stringp arg) "s")
+((vectorp arg) "b")
 (t (error "Invalid argument: %S" arg
  args)))
 (mapcar
@@ -119,7 +126,8 @@
(cond
((floatp arg) (osc-float32 arg))
((integerp arg) (osc-int32 arg))
-   ((stringp arg) (osc-string arg
+   ((stringp arg) (osc-string arg))
+   ((vectorp arg) (osc-blob arg
  args
 
 (defun osc-read-string ()
@@ -129,6 +137,16 @@
 (forward-char (- 4 (% (length string) 4)))
 string))
 
+(defun osc-read-blob ()
+  (let* ((length (osc-read-int32))
+(pos (point))
+(vector (progn
+  (forward-char length)
+  (string-to-vector (buffer-substring pos (point)
+(padding (% (- 4 (% length 4)) 4)))
+(forward-char padding)
+vector))
+
 (defun osc-read-int32 ()
   (let ((value 0))
 (dotimes (i 4)
@@ -179,13 +197,14 @@ the generic handler for SERVER."
   (goto-char (point-min))
   (let ((path (osc-read-string)))
(if (not (string= path "#bundle"))
-   (when (looking-at ",")
+   (when (= (char-after) ?,)
  (save-excursion
(apply (osc-server-get-handler proc path)
   path
   (mapcar
(lambda (type)
  (cl-case type
+   (?b (osc-read-blob))
(?f (osc-read-float32))
(?i (osc-read-int32))
(?s (osc-read-string



[elpa] master 4db95ab: Concatenate messages instead of using a temp-buffer and buffer-string

2019-12-19 Thread Mario Lang
branch: master
commit 4db95ab266983bf89adcd17d17b91aee1a1b43b4
Author: Mario Lang 
Commit: Mario Lang 

Concatenate messages instead of using a temp-buffer and buffer-string

* packages/osc/osc.el: (osc-float32, osc-int32, osc-string): New functions.
* (osc-insert-float32, osc-insert-int32, osc-insert-string): Remove.
* (osc-send-message): Adjust.
---
 packages/osc/osc.el | 59 +
 1 file changed, 32 insertions(+), 27 deletions(-)

diff --git a/packages/osc/osc.el b/packages/osc/osc.el
index 316b532..e88f135 100644
--- a/packages/osc/osc.el
+++ b/packages/osc/osc.el
@@ -51,10 +51,11 @@
 
 (require 'cl-lib)
 
-(defun osc-insert-string (string)
-  (insert string 0 (make-string (- 3 (% (length string) 4)) 0)))
+(defun osc-string (string)
+  (setq string (encode-coding-string string 'binary))
+  (concat string (make-string (1+ (- 3 (% (length string) 4))) 0)))
 
-(defun osc-insert-float32 (value)
+(defun osc-float32 (value)
   (let (s (e 0) f)
 (cond
  ((= value 0.0)
@@ -73,18 +74,17 @@
   (if (= e 0) (while (< (* f (expt 2.0 e)) 1.0) (setq e (1+ e
   (setq f (round (* (1- (* f (expt 2.0 e))) (expt 2 23)))
e (+ (* -1 e) 127
-(insert (+ (lsh s 7) (lsh (logand e #XFE) -1))
-   (+ (lsh (logand e #X01) 7) (lsh (logand f #X7F) -16))
-   (lsh (logand f #XFF00) -8)
-   (logand f #XFF
+(unibyte-string (+ (lsh s 7) (lsh (logand e #XFE) -1))
+   (+ (lsh (logand e #X01) 7) (lsh (logand f #X7F) -16))
+   (lsh (logand f #XFF00) -8)
+   (logand f #XFF
 
-(defun osc-insert-int32 (value)
+(defun osc-int32 (value)
   (let (bytes)
 (dotimes (i 4)
   (push (% value 256) bytes)
   (setq value (/ value 256)))
-(dolist (byte bytes)
-  (insert byte
+(apply 'unibyte-string bytes)))
 
 ;;;###autoload
 (defun osc-make-client (host port)
@@ -99,23 +99,28 @@
 ;;;###autoload
 (defun osc-send-message (client path  args)
   "Send an OSC message from CLIENT to the specified PATH with ARGS."
-  (with-temp-buffer
-(set-buffer-multibyte nil)
-(osc-insert-string path)
-(osc-insert-string
- (apply 'concat "," (mapcar (lambda (arg)
- (cond
-  ((floatp arg) "f")
-  ((integerp arg) "i")
-  ((stringp arg) "s")
-  (t (error "Invalid argument: %S" arg
-   args)))
-(dolist (arg args)
-  (cond
-   ((floatp arg) (osc-insert-float32 arg))
-   ((integerp arg) (osc-insert-int32 arg))
-   ((stringp arg) (osc-insert-string arg
-(process-send-string client (buffer-string
+  (process-send-string
+   client
+   (apply
+'concat
+(osc-string path)
+(osc-string
+ (apply
+  'concat ","
+  (mapcar (lambda (arg)
+   (cond
+((floatp arg) "f")
+((integerp arg) "i")
+((stringp arg) "s")
+(t (error "Invalid argument: %S" arg
+ args)))
+(mapcar
+ (lambda (arg)
+   (cond
+   ((floatp arg) (osc-float32 arg))
+   ((integerp arg) (osc-int32 arg))
+   ((stringp arg) (osc-string arg
+ args
 
 (defun osc-read-string ()
   (let ((pos (point)) string)



[elpa] master d56dd03: Improve single precision floating point serialisation

2019-12-18 Thread Mario Lang
branch: master
commit d56dd0378c5f8a582066c636599be1f297691142
Author: Mario Lang 
Commit: Mario Lang 

Improve single precision floating point serialisation

* packages/osc/osc.el: Update copyright years and author email.
* (osc-insert-float32): Use `copysign' and `isnan'.
---
 packages/osc/osc.el | 12 +---
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/packages/osc/osc.el b/packages/osc/osc.el
index 9f92b17..316b532 100644
--- a/packages/osc/osc.el
+++ b/packages/osc/osc.el
@@ -1,8 +1,8 @@
 ;;; osc.el --- Open Sound Control protocol library
 
-;; Copyright (C) 2014  Free Software Foundation, Inc.
+;; Copyright (C) 2014-2019  Free Software Foundation, Inc.
 
-;; Author: Mario Lang 
+;; Author: Mario Lang 
 ;; Version: 0.1
 ;; Keywords: comm, processes, multimedia
 
@@ -57,15 +57,13 @@
 (defun osc-insert-float32 (value)
   (let (s (e 0) f)
 (cond
- ((string= (format "%f" value) (format "%f" -0.0))
-  (setq s 1 f 0))
- ((string= (format "%f" value) (format "%f" 0.0))
-  (setq s 0 f 0))
+ ((= value 0.0)
+  (setq s (if (< (copysign 1.0 value) 0) 1 0) f 0))
  ((= value 1.0e+INF)
   (setq s 0 e 255 f (1- (expt 2 23
  ((= value -1.0e+INF)
   (setq s 1 e 255 f (1- (expt 2 23
- ((string= (format "%f" value) (format "%f" 0.0e+NaN))
+ ((isnan value)
   (setq s 0 e 255 f 1))
  (t
   (setq s (if (>= value 0.0)



Re: [BRLTTY] Bluetooth

2019-11-19 Thread Mario Lang
Lars Bjørndal  writes:

> I recently installed Fedora 30 to a Raspberry pi 3B+. Now, I have the
> problem that my Handy Tech Active Braille sometimes will not connect
> when BRLTTY starts. Instead I get the message Pair  y/n on the
> display. If I answer
> yes, I get the pairing question repeatedly, also if I reboot the pi.

Did you change the firmware on the active star in any way?
To my experience, later versions of the active star firmware do behave
in unexpected and basically unusable ways when it comes to bluetooth.

Have you tried to repair it manually?
___
This message was sent via the BRLTTY mailing list.
To post a message, send an e-mail to: BRLTTY@brltty.app
For general information, go to: http://brltty.app/mailman/listinfo/brltty

Bug#872468: Still exists

2019-11-06 Thread Mario Lang
Hi.

I am seeing the mentioned warnings (
WARNING: Unknown key type EIGHT_LEVEL_LEVEL_FIVE_LOCK
) whenever setupcon is executed on a stable buster installation.

The contents of my /etc/default/keyboard is as follows:

--
XKBMODEL="sun_type7_euro_usb"
XKBLAYOUT="de,de"
XKBVARIANT=",neo"
XKBOPTIONS="grp:rwin_toggle,ctrl:nocaps"

BACKSPACE="guess"
--

These warnings appear since I enabled the "neo" variant.



Bug#872468: Still exists

2019-11-06 Thread Mario Lang
Hi.

I am seeing the mentioned warnings (
WARNING: Unknown key type EIGHT_LEVEL_LEVEL_FIVE_LOCK
) whenever setupcon is executed on a stable buster installation.

The contents of my /etc/default/keyboard is as follows:

--
XKBMODEL="sun_type7_euro_usb"
XKBLAYOUT="de,de"
XKBVARIANT=",neo"
XKBOPTIONS="grp:rwin_toggle,ctrl:nocaps"

BACKSPACE="guess"
--

These warnings appear since I enabled the "neo" variant.



  1   2   3   4   5   6   7   8   9   10   >