[BRLTTY] Update on QWERTY Keyboard

Dave Mielke Dave at mielke.cc
Thu Jan 3 22:31:47 EST 2019


[quoted lines by Rob on 2019/01/03 at 20:30 -0600]

>when brltty detects that your braille device has a qwerty keyboard, why
>doesn't it let the alt keys act as alt keys, when there is already a shift key
>to capitalize letters?

The alt key capitalizing letters is a HIMS qwerty thing that, really, has
nothing to do with brltty. The HIMS qwerty keyboard sends braille characters
(dot combinations), and the alt key adds dot 7.

>It seems to me that when brltty sees a key not bound to one of its functions,
>it should just pass that key onto the operating system. Or is that something
>to do wit the fact that the operating system doesn't see a braille device as a
>normal HID?

While there are several paradigms, the simplistic answer to your questin is,
"No, it doesn't."

If a braille device presents a HID keyboard then brltty lets the system handle
it directly.

Some braille devices do present as HID, but that's only a hacky means to a
convenient end. It's a way to take advantage of the already-existing,
kernel-resident Windows HID driver rather than to have to write a
kernel-resident USB Windows driver for the device. The Windows screen reader,
however, still needs to have its own user-level driver for the device because
there's not much HID about braille devices. They each have their own sets of
controls, features, etc - there's very little that's common among them.

On Linux, of course, all of this pretending to be generic in order to make it
through the kernel gets in the way, more than helps, because the Linux kernel
provides a generic USB driver that can be used by user-level programs.

Most braille devices that have a qwerty keyboard don't present it as HID. The
qwerty key events are usually sent as part of the device's protocol with its
driver. Some send XT key codes, others send AT key codes, others send text
characters, and still others (like HIMS) send braille dot combinations. Each
braille device driver interprets all of this as needed, and some screen drivers
(e.g. the Linux screen driver) take advantage of kernel facilities to make
keyboard support more accurate.

For the curious, brltty may well be the only (at least one of the very few)
packages that contains an actually accurate set of mappings for XT, AT, PS/2,
and HID key codes. See the kbd_keyboard.h header for details.

-- 
I believe the Bible to be the very Word of God: http://Mielke.cc/bible/
Dave Mielke            | 2213 Fox Crescent | WebHome: http://Mielke.cc/
EMail: Dave at Mielke.cc  | Ottawa, Ontario   | Twitter: @Dave_Mielke
Phone: +1 613 726 0014 | Canada  K2A 1H7   |


More information about the BRLTTY mailing list