accessibility: implementation of zoom/invert on Wayland?

Carsten Haitzler raster at rasterman.com
Fri Jul 2 08:18:16 UTC 2021


On Thu, 1 Jul 2021 14:11:23 -0700 Patrick Pelletier <code at funwithsoftware.org>
said:

> 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?

In both X11 and Wayland this is something to implement int he compositor as
part of the compositor rendering. It doesn't require something to be
implemented in Weston as it doesn't require a protocol agreement with
applications as it's an entirely "internal to compositor" feature.

If you have issues with the implementation of this on Linux, you need to talk
to the developers of the compositor you are using. Requesting features or
improvements there would be the right course of action.

Keep in mind that e.g. on MacOS there is only one compositor - it is part of
MacOS. If you have issues with it you complain to apple. In the OSS world there
are many compositors/WM's etc. and thus you will have to deal with multiple
groups and pieces of software. The freedom of choice brings complexity like
this. That's how the cookie crumbles.

> 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,

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - raster at rasterman.com



More information about the wayland-devel mailing list