
BrlAPI: Simple, Portable, Concurrent, Application-level Control of Braille Terminals Samuel Thibault, Sébastien Hinderer To cite this version: Samuel Thibault, Sébastien Hinderer. BrlAPI: Simple, Portable, Concurrent, Application-level Con- trol of Braille Terminals. The First International Conference on Information and Communication Technology and Accessibility - ICTA 2007, Apr 2007, Hammamet, Tunisia. pp.27–31. inria-00135946 HAL Id: inria-00135946 https://hal.inria.fr/inria-00135946 Submitted on 9 Mar 2007 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. BrlAPI: Simple, Portable, Concurrent, Application-level Control of Braille Terminals Samuel Thibault S´ebastien Hinderer LaBRI LORIA 351 cours de la Liberation´ 615 rue du Jardin Botanique 33405 Talence Cedex 54600 Villers-les-Nancy` France France [email protected] [email protected] Tel: +33 5 4000 3540 Fax: +33 5 4000 6669 Tel: +33 3 8359 2035 Fax: +33 3 8327 8319 Abstract screen reader using it. Only the most recent screen read- ers support several brands of braille terminals. Screen readers can drive braille devices for allowing vi- sually impaired users to access computer environments, by providing them the same information as sighted However, even with these newer readers, there is users. But in some cases, this view is not easy to use a deeper problem that remains unsolved: visually im- on a braille device. In such cases, it would be much paired people are forced to use exactly the same inter- more useful to let applications provide their own braille face as sighted people, since there is no standard mech- feedback, specially adapted to visually impaired users. anism for an application to provide an alternative, more Such applications would then need the ability to output suited interface in addition to the standard screen-based braille ; however, allowing both screen readers and ap- one. One part of this problem lies in the fact that there plications access a wide panel of braille devices is not is no way for applications to communicate directly with a trivial task. braille terminals, since these are being used exclusively We present an abstraction layer that applications by screen readers. may use to communicate with braille devices. They do not need to deal with the specificities of each device, but can do so if necessary. We show how several appli- The BrlAPI framework that will be introduced in cations can communicate with one braille device con- this paper can be seen as a first step towards the res- currently, with BrlAPI making sensible choices about olution of this problem. Indeed, it proposes a client- which application eventually gets access to the device. server approach that lets applications communicate with The description of a widely used implementation of Br- braille terminals thanksto a server that both removesthe lAPI is included. need for applications to know exactly how to commu- nicate with each braille terminal and lets several appli- cations share the braille device. Device-specific appli- cations like file transfer tools are not neglected either, 1. Introduction since BrlAPI offers a way for such programs to com- municate directly with the device. inria-00135946, version 1 - 9 Mar 2007 Usually, visually impaired people use computers with the help of special programs called screen readers which deliver the information displayed on the screen In Section 2 we discuss in greater detail the prob- using a speech synthesis system or a refreshable braille lems that are specific to braille display. Section 3 de- display. Designing screen readers able to communicate scribes the BrlAPI solution; an implementation of this with different brands of braille display was so difficult solution is presented in Section 4. Finally, Section 5 that until recently screen readers could only work with presents the current clients of BrlAPI, and Section 6 one brand of braille terminal. It was then usual for a gives some concluding remarks and lists a few remain- manufacturer to provide both a braille terminal and a ing open questions. 2. Issues for Driving Braille Devices events be described in a more standard way, in spite of their potentially different nature ? The question of accessing a braille display within an application is not trivial, mainly because of the large 2.2. Concurrency variety of available models, and because of the problem of properly sharing one display between several appli- Another issue is that modern operating systems let cations. Protecting the access to braille displays must several applications run concurrently, their visual out- also be considered. put being usually sent to separate virtual terminals or windows. Some of these applications may want to use 2.1. Heterogeneity of Braille Devices the braille device for providing more appropriate braille output. A visually impaired user may also want to use Every braille terminal has a refreshable braille dis- several screen readers simultaneously, in order to get play divided into eight pin cells; however, the number of the best benefits from each of them. This results in a available cells and their layout vary from display to dis- concurrency issue: what should eventually be displayed play. Some terminals have a unique display, others have on the braille terminal? To which application should the two (the main one, generally used to display a small re- key events be directed? gion of the screen, and an auxiliary one, usually used to Moreover, one may want to write some applica- report status information like cursor position or current tions dedicated to a given brand of terminals, that would time). Some modern devices also let users adjust the take full control of the braille device. For instance, firmness of braille dots to either display hard and easy- note-takers can often exchange files with the computer, to-read dots when the display is connected to a power through a brand-specific protocol. So as to avoid cor- source, or softer dots when the display is unplugged, to ruption during the transfer, all other device operations save energy. should be suspended, but the applications that requested Perhaps more importantly, braille terminals come them should not have to be aware of that. with very different keyboards. Some terminals which are also used as note-takers include a keyboard to write 2.3. Protection characters (either in braille or through a more stan- dard PC-like keyboard). In addition to these optional Usually, input/output devices such as keyboards keyboards, braille terminals have function keys whose and screens are controlled by the operating system’s number and layout is, again, terminal dependent. Man- kernel. Each user process has to interact with the kernel ufacturers of braille terminals have shown a rather vivid to perform input/output. Therefore, it is unlikely that a imagination regarding the kind of available function user process can access these devices in a way which keys: simple keys, keys associated with braille cells would render them unusable. This, however, is not true (usually called routing keys because one of their func- for braille devices. Indeed, they are generally handled tions is to bring the cursor to the character displayed by by a user-mode process, since this makes development their associated cell), joysticks, navigation bars that can and distribution easier. As a consequence, braille ter- be moved one or two steps in each of four directions, minals are much more vulnerable than more traditional wheels, etc. To sum up, braille keyboards can be much input/output devices to incorrect use by other processes. more complex than plain PC keyboards. In fact, they Given that incorrect use can damage a braille terminal often provide the functionality available both through a irreversibly, and that these devices are extremely expen- keyboard and a mouse. sive, it is important to ensure good protection of this re- Last but not least, there is no standard way to com- source against incorrect usage or malicious intent. This municate with a braille display. Each manufacturer need for good protection becomes even more critical in has designed its own communication protocol to let its the context of modern multi-user networked operating braille devices receive text to display or configuration systems. information and to send keyboard events or report sta- tus information. 3. Proposed Solution Hence, the first problem one encounters is that braille terminals form a completely heterogeneous class For tackling all the issues described in the previ- of devices. How should displays be accessed? How ous Section, we propose the BrlAPI framework, based should keyboard events be delivered? Should they be on a client-server approach. A BrlAPI server uses a rather driver specific (each application then has to inter- driver for controlling the braille terminal, and appli- pret them in a consistent manner), or should keyboard cations connect to the server for interacting with the braille device. This even allows an application running that its output is actually sent to the braille device, and on one machine to drive a braille display connected to braille key events are sent back to it. Output of each another machine, provided that the two machines are other application is stored and will be displayed later, interconnected by a network link. when they get the focus again. What “appropriate focus” may mean is not com- 3.1. Handling the Variety of Terminals pletely clear.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages7 Page
-
File Size-