accessibility: implementation of zoom/invert on Wayland?

Patrick Pelletier code at funwithsoftware.org
Thu Jul 1 21:11:23 UTC 2021


Hi,

I'm new to Wayland and only have a fairly basic understanding of how the 
different parts fit together.  I'm trying to find out more about how the 
following two accessibility features (for visually impaired users) are 
implemented and how I might be able to contribute to them:

* Zoom
* Invert colors

For example, these features are described in the Ubuntu documentation here:

https://help.ubuntu.com/stable/ubuntu-help/a11y-mag.html.en

I'm assuming zoom and invert are implemented in the Wayland compositor?  
Is there any code for this in the reference implementation (Weston) or 
does each desktop environment have to implement these features from 
scratch in their own compositor?

Background/motivation: I have a visually impaired friend who is 
currently "trapped" on MacOS because Linux's implementation of zoom and 
invert does not have feature parity with MacOS's implementation.  (For 
example, keyboard or keyboard+mouse shortcuts for changing the zoom 
factor on the fly.)  I'd like for her to be able to use Linux, so I'm 
interested in finding out how I can contribute to solving the following 
problems:

* Some desktop environments (such as Xfce) don't seem to support zoom 
and invert at all.

* The default desktop environment for Ubuntu (see link above) implements 
zoom and invert in a very clunky way.  To change the zoom factor, you 
have to go to the settings application.  (Versus just being able to use 
a modifier key and the scroll gesture to be able to zoom in and out on 
MacOS.)  Also, it appears that there is no way to invert without also 
turning on zoom.

Is this a battle that has to be fought on a per-desktop environment 
basis, or would it be possible to contribute some code to Weston that 
would make a good implementation of zoom and invert available to all 
desktop environments?

Thanks for any information,

--Patrick



More information about the wayland-devel mailing list