Skip to content
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

Assign a gesture for the screen curtain by default #10560

Closed
LeonarddeR opened this issue Nov 29, 2019 · 30 comments · Fixed by #15590
Closed

Assign a gesture for the screen curtain by default #10560

LeonarddeR opened this issue Nov 29, 2019 · 30 comments · Fixed by #15590
Labels
component/vision Framework for assisting users with low vision
Milestone

Comments

@LeonarddeR
Copy link
Collaborator

LeonarddeR commented Nov 29, 2019

Is your feature request related to a problem? Please describe.

When introducing Screen Curtain, it was decided to add a global command for the curtain but leave it unassigned by default. Several people complained about this decision on NVDA-devel. As we now show a warning when initializing the screen curtain by default, I think apart from the question what key it should be, concerns about accidentally activating the curtain do no longer apply.

Describe the solution you'd like

Assign a gesture by default. Suggestions:

  • NVDA + ctrl + slash
  • NVDA + ctrl + semicolon
  • NVDA + ctrl + f12
  • NVDA + ctrl + printScreen

I'd rather not assign something to an alphanumeric character, though for symbols, we need to take keyboard layouts into account.

Describe alternatives you've considered

Leave as is.

@josephsl
Copy link
Collaborator

josephsl commented Nov 29, 2019 via email

@ruifontes
Copy link
Contributor

ruifontes commented Nov 29, 2019 via email

@dnz3d4c
Copy link

dnz3d4c commented Nov 29, 2019

I agree with Control + NVDA + F12. I think it's a very good idea.

@beqabeqa473
Copy link
Contributor

beqabeqa473 commented Nov 29, 2019 via email

@k-kolev1985
Copy link

The drawback with keys such as slash, backslash, semicolon, period, comma, etc. is the fact that in some keyboard layouts such as "Bulgarian BDS/Typewriter", they may fail to work. And in such cases they have to be modified by the users or the translators of NVDA.

That is why I prefer something like F12, Print Screen, etc. For example:

  • NVDA+Control+F12
  • NVDA+Control+Print Screen

@beqabeqa473
Copy link
Contributor

beqabeqa473 commented Nov 29, 2019 via email

@LeonarddeR
Copy link
Collaborator Author

how about Control+NVDA+Print screen?

Might be problematic for some smaller laptops without a dedicated print screen key, though most of them have a print screen behind an fn combination.

I will update the initial comment with all the listed suggestions. I like NVDA+control+f12 a lot!

@Brian1Gaff
Copy link

Brian1Gaff commented Nov 29, 2019 via email

@DrSooom
Copy link

DrSooom commented Nov 30, 2019

@LeonarddeR: Well, and not all small laptop keyboards contains all 12 F-keys. They could also be behind Fn. But there is a solution especially for this already in NVDA – keyboard layouts.

Are NVDA+CTRL+Shift+S or NVDA+Shift+S already allocated? NVDA+S alone (Desktop layout) toggles between Speech off, Beep mode and Speech on. Thus it could be easier to memorize the Screen Curtain shortcut if it's similar to the one for toggling the speech modes.

@josephsl
Copy link
Collaborator

josephsl commented Nov 30, 2019 via email

@ruifontes
Copy link
Contributor

ruifontes commented Nov 30, 2019 via email

@josephsl
Copy link
Collaborator

josephsl commented Dec 3, 2019 via email

@LeonarddeR LeonarddeR added the component/vision Framework for assisting users with low vision label Dec 5, 2019
@davidacm
Copy link
Contributor

davidacm commented Dec 9, 2019

I like NVDA + control + f12.
Some laptops need fn key to press f12. But is a key easy to find because f12 is always in the same position.
PrintScreen doesn't have a standard position in laptop keyboards and most users doesn't know where to locate it.
In my personal case, I asigned NVDA + alt + c for this command.

P.S: NVDA should have a feature to use "complex" key gestures to access the unfrequent options. E.G: NVDA + 0, f12 for screen curtain.

@Qchristensen
Copy link
Member

Just a quick note that this is something users do request. I think, if we can find a suitable keystroke, that it would be worth assigning a default gesture to this.

@davidacm Your P.S. would be worth opening a seperate issue for (I'm not arguing either way in saying that, just that this issue already has enough comments considering different keystrokes, your suggestion deserves its own space).

@codeofdusk
Copy link
Contributor

Personally, I use Ctrl+NVDA+/ for this. This is convenient on US keyboards (and doesn't require function keys) but might be awkward on European layouts.

@davidacm
Copy link
Contributor

Hi @Qchristensen,
Thank you for bringing this issue again to me. I had forgot about it...
It's a good idea in my opinion, This can help to open the possibility for many other gestures too.

I will open a separate issue to talk about it.

Best regards, David CM

@britechguy
Copy link

I am completely agnostic as far as what the keyboard shortcut is, but I definitely believe that NVDA should have a toggle shortcut assigned for this function as it "ships from the factory."

@CyrilleB79
Copy link
Collaborator

To summarize there are objections for the following key proposals:

  1. NVDA + ctrl + slash or any other shortcut involving punctuation/symbols:
    Not suitable on some non-US keyboard layouts where punctuation symbols are not at the same place and may not be available without a modifier. E.g.: On French layout, slash is gotten with shift+colon
  2. NVDA + ctrl + printScreen:
    Not suitable because PrintScreen has no standard location on laptop keyboard and is often reachable only with Fn key. Also, since this key is rarely used, people do not know well its location.
  3. NVDA + ctrl + f12:
    • Not suitable because it is behind Fn key on some laptop.
    • Not suitable because some small laptops have no F12 keys
  4. NVDA+alt+C or any combination involving a letter:
    Not suitable because add-ons may take these shortcuts

I agree with objection 1 and 2.
I disagree with objection 3.
IMO there is a possibility for each user to choose if F1-F12 or multimedia keys are active (sometimes only through the BIOS); but I imagine that each blind people would take care to configure it (or ask help for it) so that he/she can use very useful F1-F12 keys. A person who would not have configured it would also miss very standard shortcut keys: NVDA+F3 (find next NVDA), F3 (find next in many applications), alt+F4 (close), etc.
Regarding the lack of F12 key: Is it still true? Is it common? Which brand/model? In this case, what is the last Fx key? I guess that it is very uncommon. So the few impacted people may still remap the gesture.
I also disagree with objection 4, especially now that there is the store and no more community check of the add-ons; there will be always more add-ons with more gestures. NVDA should be able to choose its gestures in priority and add-ons authors will adapt

At last I suggest a fifth possibility:
5. NVDA+Escape or NVDA+shift+Escape or NVDA+control+Escape
I think that escape key does not travel a lot on laptop keyboards and everyone knows where it is.

There is no point in waiting some more years to find a shortcut key. Please give your opinion (especially on solution 3, 4 or 5) and I will try to submit a PR in the next weeks. I'll let at least two weeks before submitting the PR so that everyone can comment.

@britechguy
Copy link

My comment is that I don't find any of the objections particularly persuasive. Keyboards vary, period. Any user of any computer needs to know their own keyboard. I don't care whether a key is in a standard location or not, as if it needs to be used for something it's incumbent on the user to locate it on the keyboard or keyboards (as many laptop users attach external keyboards) that they are actually using. And that even includes if, on certain keyboard layouts for specific languages, an extra key press is needed to produce a seldom-used character. There is some keyboard shortcut, and I can't remember what for at the moment, that I have to use very infrequently that requires the asterisk. I have to remember to hit SHIFT + 8 on my keyboard to produce that asterisk when I need to use that shortcut.

I agree with Cyrille regarding F12. I have not seen a laptop in years that does not have F1 through F12 keys, so I'd have no objection to some key combination that includes F12 in it.

I'm not wild about the suggested use of Escape in combination with other keys, but would not strenuously object to it, either. It's well nigh impossible to screw up with a key combination that uses Escape if a 3-key-press combination is required. NVDA + Escape could work, too, as it's very unlikely for someone who uses NVDA to not know their NVDA key intimately and they're unlikely to ever hit it accidentally in combination with Escape.

@XLTechie
Copy link
Contributor

XLTechie commented Sep 21, 2023 via email

@Adriani90
Copy link
Collaborator

I disagree with the escape key, this suggest rather quiting something rather than starting something. Also if you set the same nvda key as narator key and start both screen readers, the nvda + escape is taken by narator to quit narator. In this case in my view people could by accident enable screen curtain while trying to quit narator while both screenreaders are running.

@Adriani90
Copy link
Collaborator

I like solution 4 actually.

@XLTechie
Copy link
Contributor

XLTechie commented Sep 21, 2023 via email

@Adriani90
Copy link
Collaborator

@XLTechie good points, thanks for that. in this case I agree also with the nvda+escape solution.

@CyrilleB79
Copy link
Collaborator

Grouped answers:

  1. Unless a very specific use case is exhibited, I do not think that the use case of NVDA+Narrator should be considered, neither any other two-screen-reader use case. At least it has not been considered regarding all the other possible gesture conflicts in the past.

  2. For @XLTechie:
    If F1-F12 should not be used, do you consider NVDA+F3, NVDA+shift+F3 or NVDA+F12 being a mistake? As explained before, on computers where F1-F12 are behind Fn key, there is usually a way to configure the computer to toggle Fn behaviour for F1-F12 keys, i.e. F1-F12 are directly reachable while multimedia keys become Fn-reachable keys; this toggle configuration only toggles F1-F12 keys, but not other keys behind Fn such as PrintScreen which remains behind Fn.

  3. For @britechguy :

Any user of any computer needs to know their own keyboard. I don't care whether a key is in a standard location or not, as if it needs to be used for something it's incumbent on the user to locate it on the keyboard or keyboards (as many laptop users attach external keyboards) that they are actually using.

I agree that every user needs to know their own keyboard and configure it for their needs when possible. But favoring standard location keys when possible is a significant plus when working on someone else's computer using NVDA on an USB stick (e.g. work with colleague, holidays in family, public libraries, etc.)

  1. For @britechguy:

And that even includes if, on certain keyboard layouts for specific languages, an extra key press is needed to produce a seldom-used character.

No, it does not work this way with punctuation. Let's imagine that NVDA+slash is defined as shortcut for screen curtain. On French keyboard the slash is not directly accessible but you need to press shift+colon. In this case unfortunately, neither pressing NVDA+colon or NVDA+shift+colon will trigger the screen curtain. French translators need to redefine this shortcut as NVDA+colon or NVDA+shift+colon in the French gesture file of NVDA. And even with this specific local configuration, the shortcut may not be adapted for people of other French speaking countries that are using NVDA in French but are using other keyboard layout such as French (Switzerland), French (Belgium) or Canadian standard multilingual.
Thus IMO, shortcut involving punctuation keys should be avoided in NVDA and as such remain as free combinations for personal usage.

@surfer0627
Copy link
Contributor

Hi,

How about NVDA+9 to toggle screen curtain?

Could we consider to use two keys commands, instead of three keys combination .

Thanks.

@XLTechie
Copy link
Contributor

XLTechie commented Sep 22, 2023 via email

@surfer0627
Copy link
Contributor

just personally, I prefer three keys because of the probable infrequency
of use. Thinking that other things that are more likely to be pressed many
times per day, may need the two key combos more.

Agree.

seanbudd pushed a commit that referenced this issue Oct 9, 2023
Closes #10560

Summary of the issue:
The screen curtain is missing a default gesture (working out of the box). Users want to have a default gesture in order not to have to define one themselves.

Description of user facing changes
NVDA+control+escape is defined as default gesture.

The gesture has been discussed in #10560:

The main key is quite easy to find on a keyboard; e.g. PrintScreen is much harder because it's not always at the same place or sometimes behind Fn key.
Usage of punctuation key for main key should be avoided because it differs from a local keyboard layout to another. Even if it may be translated by translators, the issue remains for people switching their keyboard layout. Punctuation keys are better suited for personal gestures.
shortcut using 3 keys and not two due to the probable infrequency of use with respect to other gestures/commands
with this gesture, there is no risk to activate the screen curtain by accident.

Description of development approach
Added in script's decorator and updated the documentation.
@nvaccessAuto nvaccessAuto added this to the 2024.1 milestone Oct 9, 2023
@brunoprietog
Copy link

Sorry for being late to the discussion, but I still think NVDA + Shift + F11 should have been used. This is a standard gesture in Voiceover and Jaws also uses the F11 key. Shift and Escape is used to open the browser task manager, and Control + Shift + Escape is used to open the Windows task manager, which are very similar commands

@CyrilleB79
Copy link
Collaborator

@brunoprietog, the current issue is now closed. You have also commented in #15590 (#15590 (comment)); unfortunately, your comment has not been answered explicitly by NV Access.

Either you (or we) consider that the lack of explicit answer implicitely means that your proposal has not been accepted by NV Access.
Or you consider that an explicit answer is needed and that your comment has been overlooked. In this latter case, the best course is to open a new issue rewriting the arguments that you have provided here, also explaining why standardization around F11 is desirable, but also answering to the ones against F11, e.g. Escape is more easy to find than F11 on the keyboard.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/vision Framework for assisting users with low vision
Projects
None yet
Development

Successfully merging a pull request may close this issue.