GNOME Bugzilla – Bug 589906
RFE: Add dwelling to the Accessibility dialog
Last modified: 2021-07-05 14:10:07 UTC
Hello, GNOME is by default shipping the dwelling accessibility tool since a few stable releases. Why not also make it available at GDM, as I suppose that the only thing that is missing, is to have a way for the user to enable it during GDM. (Dwelling is an assistive technology that performs clicks automatically after the pointer has stopped moving; it is mainly used be users that are able to move the pointer, but cannot click and cannot use a hardware keyboard.) The following is probably necessary to add dwelling to GDM: - a desktop file in /usr/share/gdm/autostart/LoginWindow (that is the path on Ubuntu) that starts mousetweaks in dwelling mode. (mousetweaks is the application providing the dwelling feature) - an additional gconf key to control whether the application indicated in the dwelling desktop file should be executed; based on the already available gconf keys for the accessibility tools, I would suggest: "screen_dwelling_enabled" - a way for the user to control the gconf key. And the natural way would be an additional "Use software clicks" item in the accessibility dialog of GDM. The tricky part here is that we have to assume that the typical dwell user has only pointer movements to control the desktop. So a possible approach could be: -- When the user moves the pointer on the accessibility icon on the bottom panel, start a countdown of 5 seconds. (a gconf key to set the length of the countdown might be useful) If the user stays with the pointer on the accessibility icon until the countdown is over, the accessibility dialog automatically opens; otherwise it does not open. -- Of course, if the user clicks on the accessibility icon during the countdown, the countdown gets interrupted and the accessibility dialog opens as usual. -- Suggestion of a possible feedback: When the pointer moves on the accessibility icon, something like a bubble (or some kind of information box) appears on the screen with the text: "Opening the Accessibility dialog in n seconds." n showing the countdown of the seconds. --- If the user stays on the accessibility icon until the countdown has finished, the bubble disappears and the accessibility dialog opens. --- If the user moves the pointer away from the accessibility icon before the countdown has finished, replace the text in the bubble with "Opening of Accessibility Dialog cancelled"; after a few seconds the bubble disappears and the accessibility dialog does not open. -- A similar technique has to be used to enable the "Use software clicks" item in the accessibility dialog. By the way, something similar has already been proposed in the accessibility suggestions during the development of the new GDM: http://live.gnome.org/GDM/EaseOfAccess I hope that it has not been implemented yet, because of a lack of resources; or are there other reasons for it? Thanks for reading this.
Please, don't get the previous message wrong: I am not a maintainer of GDM and don't know how it works in reality. I deduced the above from the little I learned about GDM while playing a bit with it; what I said might be incomplete or parts of it plain wrong.
Seems like a good idea to me. Note though a lot of the changes will need to made to gnome-settings-daemon, not gdm, though, since it's what provides the icon now.
As an alternative, we might just consider adding the MouseTweaks applet to the panel on the login screen. This applet already has dwelling enabled in it and is the same applet the user would interact with in the user session.
(In reply to comment #3) > As an alternative, we might just consider adding the MouseTweaks applet to the > panel on the login screen. This applet already has dwelling enabled in it and > is the same applet the user would interact with in the user session. The MouseTweaks folks are willing to work on modifying the applet to work with the gdm panel, but would like some confirmation from the GDM team that adding the MouseTweaks applet to the gdm bottom panel will be accepted as a default configuration. What do you gdm folks say?
To me it seems reasonable to make MouseTweaks enabled in the panel by default if the code is provided to make this work. However, whether it is displayed in the panel should be controlled by configuration. All other a11y features can be enabled or disabled via configuration options, and MouseTweaks should be no exception. The upstream default can be for it to be enabled.
@Brian [quote] However, whether it is displayed in the panel should be controlled by configuration. All other a11y features can be enabled or disabled via configuration options, and MouseTweaks should be no exception. The upstream default can be for it to be enabled. [/quote] I am not sure about what you mean: Having mousetweaks, or more precisely a kind of dwell applet, on the panel does not mean that dwell clicking is enabled. It is necessary for dwell users to be able to turn on dwelling: in fact, the dwell applet has an on/off button that reacts on dwelling to turn on dwelling. So I suppose that you want 2 configuration options: the first to have the dwell applet displayed on the panel of GDM and a second to turn dwelling on and off. I only hope that the distributions will choose to have the dwell applet displayed by default, if there will be an option to hide it; otherwise dwell users would again not be able to turn on dwelling on a default system.
Yes, I think it makes sense for most distributions to ship it. However, it seems appropriate to allow the sysadmin some control over what applets are shown. There may be some use-cases where it may not be appropriate. For example, on a system where you are using a fingerprint reader, it wouldn't be hard to make GDM not prompt the user for any GUI input at all. In environments where GDM is setup to not require any mouse input, the MouseTweaks applet would not be useful.
Created attachment 151095 [details] [review] Add dwell button Hi, this patch adds a "dwell-button" to the GDM panel that will launch mousetweaks if the pointer hovers over button for 1.5 secs. The button can be disabled/hidden by setting /apps/gdm/simple-greeter/disable_dwell_button to TRUE.
Probably want to address this as we redesign the a11y status indicator for 3.0.
Moving to gnome-shell, as the status indicator lives there now. Please clone the bug if it requires changes to gnome-control-center or gnome-settings-daemon.
Adding another switch to the universal access menu should be straight forward. However, enabling the option pops up a window to choose the "click type" - this window is unusable from the login screen (due to the login dialog being system modal) and the overview, so I think that if we want to expose the option in the shell, the functionality provided by the window needs to be implemented in the shell as well.
Given that we only have two options, "Dwelling" and "Not dwelling", won't just a switch be fine? We should probably do the dwelling behavior for the Accessibility button as well as over the switch (all switches?) at all times.
The problem is the GTK+ window which pops up when the option is enabled (it is called "Hover click" in the ua panel). Not being able to perform drags or secondary clicks in the overview is quite bad (and so is the requirement to select the "click type" before entering the overview).
Comment on attachment 151095 [details] [review] Add dwell button Marking "rejected", since this applies to the fallback mode greeter, and the primary target now is the main gnome-shell based greeter. I'm not sure if we'll want something like this as well once we figure out the UI for the main greeter.
Created attachment 242084 [details] added to panel (with on/off switch) Link to the edited accessibility.js file needed to implement this in the gnome 3 shell. https://github.com/thisMagpie/mousetweaks/blob/master/accessibility.js . Works for me but if more people try it that will be helpful. This file is normally found in /usr/share/gnome-shell/js/ui/status. Thank you.
Created attachment 242108 [details] put in /usr/share/gnome-shell/js/ui/status put in /usr/share/gnome-shell/js/ui/status Added mousetweaks to the gnome accessibility menu and now it is on by default the user must turn it off at boot if they don't want it. This potentially solves an issue for those who cannot use a mouse click at all due to disability and otherwise would not able to turn on the hover to click feature in order to use it. It has a nice side effect that mousetweaks is much easier to quickly disable once running now too (before you had to kill it from the command-line or from a task manager - or at least that is the only way I had found) The downside of this is that it might introduce an annoyance for people who do not need mousetweaks because they may have to turn it off every time they login. (Need to check this properly)
Also checked and the mousetweaks is only on at login if it was like that when user logged out.
Created attachment 242169 [details] [review] Patch for aforementioned file.
Review of attachment 242169 [details] [review]: Your patch changes a lot of random things that it shouldn't change. Also, we require patches to have valid email addresses.
Created attachment 242177 [details] [review] Tidied patch for the mousetweaks dwell in gnome-shell
Hi ! The first git comment must be a short sentence (usually less than 80 characters), the next comments can give more details and the url of the bug report it fixes. Don't mention what it doesn't fix :-) Take other patches from gnome-shell as reference, like this one: https://git.gnome.org/browse/gnome-shell/commit/?id=a4d3a57a1cb79209f8e2c7b4e777542d74b5ae12
Created attachment 242376 [details] [review] dwell panel menu item
Created attachment 263722 [details] [review] Add Hover-Click option to Universal Access Excuse the age of the patch. Just tested with the latest g-s and it worked fine anyway. I do not know whether or not mousetweaks is going to be built into the compositor yet but I think it would be a nice thing to have. In the meantime is there a good reason for us to not make the feature easily available? I hope not. Thanks
*** Bug 599113 has been marked as a duplicate of this bug. ***
Looks like the patch just needs reviewing to move this forward. Note that it seems that the accessibility menu would need dwelling support added, even if "hover click" isn't enabled, so it can be enabled by users that need this feature in the first place.
(In reply to comment #25) > Looks like the patch just needs reviewing to move this forward. Yep, it's a shame. I'm not sure if it will be master-compatible anymore. > Note that it seems that the accessibility menu would need dwelling support > added, even if "hover click" isn't enabled, so it can be enabled by users that > need this feature in the first place. This patch quite simply allows a user to turn mousetweaks on and off from the accessibility menu in GNOME Shell. At the moment the user has to go to GNOME Control Center to do that, which is not very practical.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/ Thank you for your understanding and your help.