-
-
Notifications
You must be signed in to change notification settings - Fork 670
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to prevent NVDA to overwrite touchscreen configurations on Windows #9682
Comments
What happens if you press NVDA+F2 before performing the touch gesture? |
Hi @DrSooom! I believe the issue here is that there ain't a keyboard to press F2. What @simonesilva is asking is to disable double tap feature and keep it disabled when restarting Windows in a touch only device. By-the-way, what is the "NVDA" from "NVDA+F2", is it a special key from a specific device? |
On Mon, 10 Jun 2019, Alejo Ceballos wrote:
By-the-way, what is the "NVDA" from "NVDA+F2", is it a special key from a specific device?
A screenreader needs to handle many commands from the user--to read lines,
characters, words, windows, etc.; to move to different parts of the screen; to
change how certain information is being presented because more or less detail is
needed; and dozens of more things. So a special modifier key must be used, since
the alt, control, and other such keys are already used by most applications.
Since we're talking about the NVDA screen reader here, that key is called
"NVDA". It is usually the insert key on the keyboard, and most users also remap
the capslock key to serve as an additional NVDA key.
So, for example, pressing NVDA+1, which just means capslock and the number 1,
enters key describer mode, wherein NVDA describes what all the other keys and
key combinations do. NVDA+q exits the screenreader. NVDA+shift+g is a quick
shortcut to open the screenreader's general settings dialog. NVDA+n brings up
the screenreader main menu. And so on.
|
Hi, for use case 1, already resolved (at least partially): Enhanced Touch Gestures add-on does have touch passthrough mode where one can ask NVDA to deactivate its own touchscreen support (yours truly wrote that back in 2017; I know that I start to sound like a salesperson). Thanks.
|
@simonesilva Can you explain more of the use case here?
|
@josephsl wrote:
Hey if you wrote it, sell it baby! Anyway, here, I'll help you sell: https://addons.nvda-project.org/addons/enhancedTouchGestures.en.html |
Starting NVDA with the command line parameter/flag "--no-sr-flag" isn't a good solution here. I'm able to see some situations, where multiple users are working together on one single machine. Therefore it makes sense to add a new option in NVDA to completely disable the NVDA's touch functionality via a simple checkbox in the NVDA Touch Interaction Settings as well as via a new flag called "--disable-touch". @josephsl: Sorry for the stupid question, but are there some specific reasons, why your add-on isn't included into NVDA yet? Or is it already on the way? (I'm not familiar with the whole touch feature in NVDA and on Windows 10. Well, and I don't have a touch screen here too.) |
Hi, Including Enhanced Touch Gestures to Core: that's a long-term plan. One can disable touch support by running a portable copy of NVDA, but that's not ideal for some scenarios. You can disable touchscreen support after NVDA loads, and that's the mechanism behind the solution in my add-on. I'll add a way to do this globally in the next version of Enhanced Touch Gestures. Thanks. |
From a conversation with a user, ideally as and when such functionality is available in NVDA itself, it would be useful to be able to set it in configuration profiles, enabling it to be set globally, or per app. |
Hi, It'll take me a day or two to come up with a pull request that will resolve this once and for all, and before writing that, I too am interested in hearing back from the original poster as to why this feature is needed (I think I know why, but just want to make sure this person clarifies things). There is a more important touchscreen PR, and that is right-mouse click simulation. Both PR's are independent from one another, but I'd give slightly higher priority to mouse click simulation. Thanks. |
Hi, Would like to add a use-case for this if I may. We've developed a web app which enables editing and/or exploration of mathematics. Part of our functionality is to enable a user to explore the shape of graphs on a touchscreen device. The ability to have NVDA ignore all gestures on a per-app, or indeed in specific screens in a given app, would be very useful. |
Hi, although disabling touch support for specific parts of an app may not come to fruition for a while, at least disabling from apps as a whole will be possible. Thanks.
|
Hi, Sometime this week I'll introduce a prototype try build that will demonstrate what the fix will look like (note that the try build must be installed in order for the fix to work). Thanks. |
Hi, Please try this try build and see if it helps. Note that you must be running this installed on a touchscreen computer, and it does not support profile switching yet. I'll introduce profile switching support and a command to enable/disable touchscreen support (unassigned) once this try build is verified as working. Thanks. |
Thought i'd add my use case for this feature: I am a low vision user and use NVDA for reading text however there are lots of other interactions e.g. closing/dragging a window that I would like to be able to do using the normal windows touch interface as I have enough site to perform thos actions without the NVDA overlay. Would be amazing if this could be toggled by a keyboard shortcut.... |
Hi, already possible (sort of) via an add-on called Enhanced Touch Gestures. The try build I posted yesterday brings some of that add-on’s functionality to NVDA itself, which is what is requested in this issue. Thanks.
|
@josephsl: Are you intending to provide a pr for this shortly? |
Hi, yes, but not until after 2019.3 stable version is released. Thanks.
|
Foundation: allow users to disable touch handler overlay by adding 'touch enabled' key to NVDA settings.
…rt should be used. Re nvaccess#9682
…. re nvaccess#9682. Enable touch support if configured to do so via settings. Also, change log text on touchscreen detection to just announce how many touch points are available before proceeding to enable/disable touch support.
Allow users to enable/disable touch support via Touch Interaction settings panel.
Foundation: allow users to disable touch handler overlay by adding 'touch enabled' key to NVDA settings.
…rt should be used. Re nvaccess#9682
…. re nvaccess#9682. Enable touch support if configured to do so via settings. Also, change log text on touchscreen detection to just announce how many touch points are available before proceeding to enable/disable touch support.
Allow users to enable/disable touch support via Touch Interaction settings panel.
Foundation: allow users to disable touch handler overlay by adding 'touch enabled' key to NVDA settings.
…rt should be used. Re nvaccess#9682
…touch mode setter function. Re nvaccess#9682. Similar to audio ducking support: use a dedicated 'set touch support' function to enable/disable touch handler thread based on whether touch support should be anbeld or not. This function in turn will be called when configuration profile changes to support scenarios such as manually turning off touch support or using profiles for apps where NVDA's own touch support should be turned off.
… switching support. Re nvaccess#9682. Touch handler's initialize function will set appropriate touch support mode based on current config value. Also, both initialize and termiante methods support profile switching by calling register/unregister function, respectively.
…nction to toggle touch handler thread. Re nvaccess#9682.
…9682. Reviewed by Leonard de Ruijter: add type annotations, along with docstring for touch supported function.
Comment from Leonard de Ruijter: convert touch interaction panel to use GUI helper code just like other panels.
Can Cortana and NVDA work together to allow voice control of Windows 10 on the PC or laptop?
|
Hi, in a way, already possible (let’s discuss this on a separate issue).
|
Hi, And now, with 2019.3 under translatable string freeze and with first 2020.1 changelog entry showing, it is time for a pull request (coming up shortly). I'm aware that some folks might be asking for a shortcut command to toggle touch support. For now that won't be part of the pull request - to be evaluated at a later time. An ideal solution for this issue would be a touch-based passthrough command. Thanks. |
Foundation: allow users to disable touch handler overlay by adding 'touch enabled' key to NVDA settings.
…rt should be used. Re nvaccess#9682
…. re nvaccess#9682. Enable touch support if configured to do so via settings. Also, change log text on touchscreen detection to just announce how many touch points are available before proceeding to enable/disable touch support.
Allow users to enable/disable touch support via Touch Interaction settings panel.
…be seen unless requested. Re nvaccess#9682.
…touch mode setter function. Re nvaccess#9682. Similar to audio ducking support: use a dedicated 'set touch support' function to enable/disable touch handler thread based on whether touch support should be anbeld or not. This function in turn will be called when configuration profile changes to support scenarios such as manually turning off touch support or using profiles for apps where NVDA's own touch support should be turned off.
… switching support. Re nvaccess#9682. Touch handler's initialize function will set appropriate touch support mode based on current config value. Also, both initialize and termiante methods support profile switching by calling register/unregister function, respectively.
…nction to toggle touch handler thread. Re nvaccess#9682.
…9682. Reviewed by Leonard de Ruijter: add type annotations, along with docstring for touch supported function.
Comment from Leonard de Ruijter: convert touch interaction panel to use GUI helper code just like other panels.
…10557) * ConfSpec: add touch enabled key. Re #9682. Foundation: allow users to disable touch handler overlay by adding 'touch enabled' key to NVDA settings. * Touch handler: copyright header * Touch handler: use platform version tuple to determine if touch support should be used. Re #9682 * Touch handler: enable touch support/overlay if told to do so by users. re #9682. Enable touch support if configured to do so via settings. Also, change log text on touchscreen detection to just announce how many touch points are available before proceeding to enable/disable touch support. * Settings/touch interaction: add touch support toggle. Re #9682. Allow users to enable/disable touch support via Touch Interaction settings panel. * Touch supporte3d: add debugLog flag so excessive log output will not be seen unless requested. Re #9682. * Touch handler: handle configuration profile switches via a dedicated touch mode setter function. Re #9682. Similar to audio ducking support: use a dedicated 'set touch support' function to enable/disable touch handler thread based on whether touch support should be anbeld or not. This function in turn will be called when configuration profile changes to support scenarios such as manually turning off touch support or using profiles for apps where NVDA's own touch support should be turned off. * Touch handler: set touch support mode and register/unregister profile switching support. Re #9682. Touch handler's initialize function will set appropriate touch support mode based on current config value. Also, both initialize and termiante methods support profile switching by calling register/unregister function, respectively. * Touch interaction settings panel: use touchHandler.setTouchSupport function to toggle touch handler thread. Re #9682. * Touch interaction panel: add accelerator. * User guide: add notes on touch interaction support checkbox in settings. Re #9682 * Touch handler: review comments (annotations, docstring). Re #9682. Reviewed by Leonard de Ruijter: add type annotations, along with docstring for touch supported function. * Touch interaction panel: convert to use GUI helper. re #9682. Comment from Leonard de Ruijter: convert touch interaction panel to use GUI helper code just like other panels. * User guide: clarify the behavior of touch support when touch is disabled. Re #9682 * Touch handler: update copyright years
Steps to reproduce:
When NVDA is on, it overwrites a set of predefined touch and gestures configurations for touchscreens, so what was before a single tap action becomes a fast double tap one. I need to prevent NVDA from overwriting some default settings on Windows.
I already tried removing "tap (Touch screen)" from "Input Gestures" under "Preferences" option, but it only stopped dictating, I still have to double tap to perform an action.
System configuration
I'm using windows 10
NVDA version:
2019.1.1
Windows version:
Windows 10
The text was updated successfully, but these errors were encountered: