nvda icon indicating copy to clipboard operation
nvda copied to clipboard

Configuration: Consider enabling all available NVDA keys by default

Open elliott94 opened this issue 3 years ago • 12 comments

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

By default, NVDA only enables the insert key to be treated as an NVDA key for new configurations. Could we possibly consider changing this behaviour - so that all available NVDA keys are enabled by default? This would be really useful during testing, which in certain cases can require the rapid deleting/creation of NVDA configuration data - due to the fact that laptops and other devices may not have an insert key, enabling other options by default would save having to manually enable this at the point of initial config creation.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

elliott94 avatar Sep 27 '20 10:09 elliott94

Would not this make the caps lock key behave wrongly for many not expecting this to happen?

Brian1Gaff avatar Sep 27 '20 10:09 Brian1Gaff

If this was implemented, the Welcome dialog would still allow users to change this at first startup - the only difference would be that all available options are selected,rather than just the Insert key.

elliott94 avatar Sep 27 '20 12:09 elliott94

I thinkI agree with the requested change. From my perspective, the location of the Insert key on a keyboard is much less predictable than that of the Caps lock, making the latter my modifier key of choice. Therefore, one of the first things I always do with a new copy of NVDA is to enable Caps lock as a modifier key. I acknowledge the concern though that borrowing Caps lock as an NVDA modifier by default may confuse newbies who might falsely believe that their Caps lock suddenly stopped working.

bhavyashah avatar Jan 16 '21 02:01 bhavyashah

From the discussion here as well as in #16164, it seems that most people agree to configure capsLock too as NVDA key by default.

The remaining point to discuss IMO is which user experience do you expect in the welcome dialog. Today, there is a checkbox, unchecked by default, which allow to also define capsLock as NVDA key. Now that it will be default, we can do:

  1. Just remove the checkbox and let the users configure their NVDA key in keyboard settings
  2. Keep the existing checkbox to allow users to disable quickly capsLock from NVDA key at startup
  3. Put in the welcome dialog a copy of the checkable list as done in keyboard settings, allowing to configure globally all 3 NVDA keys

IMO, solution 2 is quite confusing; I have difficulty imagining text and labels in the welcome dialog to make things clear. Thus I'd opt for 1. or 3.

I would like to hear here opinion from people involved in #16164, i.e. @derekriemer, @XLTechie, @nimerjaber, @cary-rowen, @Adriani90, as well as NV Access (@seanbudd or @Qchristensen).

CyrilleB79 avatar Feb 12 '24 10:02 CyrilleB79

My first step in setting up NVDA was also to set capsLock to the NVDA key.

It would be nice if there was a way to allow for the ability to switch caps with a single press even when capsLock is an NVDA key.

I remember discussing this a few years ago,

As for what @CyrilleB79 proposed, I agree more with (1):

Just remove the checkbox and let the users configure their NVDA key in keyboard settings

For (3) I would think that checkable list might not be newbie friendly.

cary-rowen avatar Feb 12 '24 13:02 cary-rowen

In https://github.com/nvaccess/nvda/issues/16164#issuecomment-1938828744, @britechguy wrote:

I also believe that the option to enable CAPS LOCK as the NVDA key should remain just that, an option. No one is accustomed to a quick-double strike of CAPS LOCK being necessary to actually activate deactivate same. Having the step of enabling this option should serve as a "clue in" that there will likely be some change to the way the key typically functions.

For completeness, I have copied here this comment since the capslock discussion should take place here. Note that it does not totally reflect my personal opinion though.

CyrilleB79 avatar Feb 12 '24 15:02 CyrilleB79

In reply to @britechguy's comment, I disagree. Narrator, by default as far as I can tell, uses capslock as a modifier. I don't know if Jaws does the same, but it wouldn't surprise me. I don't find it unlikely that this is a screen reader norm.

I can see @CyrilleB79's point about option 2. I have tried to come up with a few different ways to phrase it so we could keep a default-checked checkbox for the capslock option in the welcome dialog, and haven't come up with one that reads friendly to new users. Therefore I think option 1 is the most likely to be successful.

However, while removing this checkbox, I want to suggest we do what Narrator used to do (I think still does) in its welcome dialog, and provide a button that opens settings immediately.

"By Default, the Capslock key, as well as the two insert keys available on most keyboards, are set as NVDA modifiers. To change this, access the keyboard settings. NVDA has many other settings you may configure according to your preferences. You may find them under the Preferences section of the NVDA menu, or by going directly to settings from here." (Suggesting keyboard settings and settings buttons/links)

Something like that, anyway.

XLTechie avatar Feb 13 '24 07:02 XLTechie

In reply to @XLTechie, Narrator is the "new kid on the block" and the first screen reader I've encountered where CAPS LOCK and Insert are both active as screen reader modifier key by default. I don't have JAWS on the machine I'm typing from, but in my years of using it I do not recall the CAPS LOCK being active, by default, as the screen reader modifier key unless the laptop keyboard layout is chosen. In fact, there was a recent conversation on the NVDA group about whether or not NVDA added or switched the screen reader modifier key based on the chosen keyboard layout (it does not). I seem to recall JAWS doing a switch to CAPS LOCK when you change keyboard layout, but since I haven't touched laptop layout in years, I will not swear to that.

I can see no point in setting up people with CAPS LOCK by default when that changes the behavior of the CAPS LOCK key when using it for its native purpose. That's just asking for unnecessary confusion, whether Narrator does it or not.

britechguy avatar Feb 13 '24 15:02 britechguy

The main reason to set caps lock as default is because many keyboards on smaller laptops, including the one I'm typing this on, hav no insert or extended insert. It's not possible to press the nvda key until a modification is actually made. Derek Riemer Improving the world one byte at a time! ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖

• Personal website: https://derekriemer.com • Email: @.*** • Phone: (303) 906-2194

On Mon, Feb 12, 2024 at 3:17 AM Cyrille Bougot @.***> wrote:

From the discussion here as well as in #16164 https://github.com/nvaccess/nvda/issues/16164, it seems that most people agree to configure capsLock too as NVDA key by default.

The remaining point to discuss IMO is which user experience do you expect in the welcome dialog. Today, there is a checkbox, unchecked by default, which allow to also define capsLock as NVDA key. Now that it will be default, we can do:

  1. Just remove the checkbox and let the users configure their NVDA key in keyboard settings
  2. Keep the existing checkbox to allow users to disable quickly capsLock from NVDA key at startup
  3. Put in the welcome dialog a copy of the checkable list as done in keyboard settings, allowing to configure globally all 3 NVDA keys

IMO, solution 2 is quite confusing; I have difficulty imagining text and labels in the welcome dialog to make things clear. Thus I'd opt for 1. or 3.

I would like to hear here opinion from people involved in #16164 https://github.com/nvaccess/nvda/issues/16164, i.e. @derekriemer https://github.com/derekriemer, @XLTechie https://github.com/XLTechie, @nimerjaber https://github.com/nimerjaber, @cary-rowen https://github.com/cary-rowen, @Adriani90 https://github.com/Adriani90, as well as NV Access @.*** https://github.com/seanbudd or @Qchristensen https://github.com/Qchristensen).

— Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/issues/11678#issuecomment-1938388716, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABI2FPKT3JRBOH5E2B5DMEDYTHT4ZAVCNFSM4R3PBWAKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJTHAZTQOBXGE3A . You are receiving this because you were mentioned.Message ID: @.***>

derekriemer avatar Feb 19 '24 22:02 derekriemer

I would go with option 3 if it's relatively easy to extract this list into a class and instanciate it when it is needed. Otherwise option 1 is an acceptable tradeoff for reducing the amount of work significantly. Derek Riemer Improving the world one byte at a time! ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖

• Personal website: https://derekriemer.com • Email: @.*** • Phone: (303) 906-2194

On Mon, Feb 19, 2024 at 3:40 PM derek riemer @.***> wrote:

The main reason to set caps lock as default is because many keyboards on smaller laptops, including the one I'm typing this on, hav no insert or extended insert. It's not possible to press the nvda key until a modification is actually made. Derek Riemer Improving the world one byte at a time! ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖

• Personal website: https://derekriemer.com • Email: @.*** • Phone: (303) 906-2194

On Mon, Feb 12, 2024 at 3:17 AM Cyrille Bougot @.***> wrote:

From the discussion here as well as in #16164 https://github.com/nvaccess/nvda/issues/16164, it seems that most people agree to configure capsLock too as NVDA key by default.

The remaining point to discuss IMO is which user experience do you expect in the welcome dialog. Today, there is a checkbox, unchecked by default, which allow to also define capsLock as NVDA key. Now that it will be default, we can do:

  1. Just remove the checkbox and let the users configure their NVDA key in keyboard settings
  2. Keep the existing checkbox to allow users to disable quickly capsLock from NVDA key at startup
  3. Put in the welcome dialog a copy of the checkable list as done in keyboard settings, allowing to configure globally all 3 NVDA keys

IMO, solution 2 is quite confusing; I have difficulty imagining text and labels in the welcome dialog to make things clear. Thus I'd opt for 1. or 3.

I would like to hear here opinion from people involved in #16164 https://github.com/nvaccess/nvda/issues/16164, i.e. @derekriemer https://github.com/derekriemer, @XLTechie https://github.com/XLTechie, @nimerjaber https://github.com/nimerjaber, @cary-rowen https://github.com/cary-rowen, @Adriani90 https://github.com/Adriani90, as well as NV Access @.*** https://github.com/seanbudd or @Qchristensen https://github.com/Qchristensen).

— Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/issues/11678#issuecomment-1938388716, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABI2FPKT3JRBOH5E2B5DMEDYTHT4ZAVCNFSM4R3PBWAKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJTHAZTQOBXGE3A . You are receiving this because you were mentioned.Message ID: @.***>

derekriemer avatar Feb 19 '24 22:02 derekriemer

The main reason to set caps lock as default is because many keyboards on smaller laptops, including the one I'm typing this on, hav no insert or extended insert. It's not possible to press the nvda key until a modification is actually made.

True. But another very common reason is to easy gesture typing, e.g. for gestures using NVDA key and a letter of right half of the alphanumeric pad (U, I, O, P, J, K, L, M, etc.)

I would go with option 3 if it's relatively easy to extract this list into a class and instanciate it when it is needed.

I'd say that making such a common class to instantiate it either in the settings dialog or in the welcome dialog should not be hard technically.

Given the concerns of both Brian's, I'd say that not mentioning NVDA key at all (option 1) is not acceptable. Thus I would favor option 3.

@seanbudd, could NV Access triage this one or give their opinion? Thanks.

CyrilleB79 avatar Feb 20 '24 08:02 CyrilleB79

This is, in the end, a no-win situation.

I favor the current setup because there are just so few laptops out there without a number pad these days, and the conventional desktop keyboard setup (regardless of the screen reader involved, with the exception of Narrator, now) has always been the Insert key, and only the insert key, is the screen reader modifier key. It has always been necessary to either change your keyboard layout, enable CAPS LOCK, or, in the case of NVDA, both.

I can guarantee you that there are going to be a huge number of confused, and pissed off, NVDA users were CAPS LOCK to be enabled if there is not a big, bold message that this is being done at installation time, and probably for at least a couple of releases after it debuts (if it debuts).

I've been working in screen reader tutoring for over a decade, and the technology arena for just short of 40 years, and no one expects CAPS LOCK to require a double strike to enable/disable. It just doesn't have that behavior natively under any OS out there. Changing that, without warning, is bound to bring on chaos and woe.

I just don't see it being worth it. I have no objection to some awareness raising at installation, or even giving a direct choice at installation, regarding CAPS LOCK being enabled as the screen reader modifier key in addition to "hard" insert (if the keyboard has it) and NumPad insert. But doing it by default, behind the scenes, is just a horrible idea.

I'm also consistent in that position in general, as I have raised issues in the past about the NVDA installer changing user configurable settings back to NVDA defaults when the end user has changed them away from that. No installer should ever do this as the default behavior, and on those exceedingly rare occasions where it is necessary for good reason, the installer for that version should be screaming at the user, "User configurable setting X will be set back to value Y. If you have previously set this by hand, you will need to do so again."

britechguy avatar Feb 20 '24 18:02 britechguy

I favor the current setup because there are just so few laptops out there without a number pad these days, and the conventional desktop keyboard setup (regardless of the screen reader involved, with the exception of Narrator, now) has always been the Insert key, and only the insert key, is the screen reader modifier key. It has always been necessary to either change your keyboard layout, enable CAPS LOCK, or, in the case of NVDA, both.

I actually almost never encounter laptops that have number pads. I know of several I interact with regularly that not only have no insert key, but have no numpad either, so without setting caps lock, it's unusable unless the user knows they can go to the notifications area to get the NVDA menu. I'd be curious to see what percentage of laptop users actually have a numpad. Derek Riemer Improving the world one byte at a time! ⠠⠊⠍⠏⠗⠕⠧⠬ ⠮ ⠸⠺ ⠐⠕ ⠃⠽⠞⠑ ⠁⠞ ⠁ ⠐⠞⠖

• Personal website: https://derekriemer.com • Email: @.*** • Phone: (303) 906-2194

On Tue, Feb 20, 2024 at 11:19 AM Brian Vogel @.***> wrote:

This is, in the end, a no-win situation.

I favor the current setup because there are just so few laptops out there without a number pad these days, and the conventional desktop keyboard setup (regardless of the screen reader involved, with the exception of Narrator, now) has always been the Insert key, and only the insert key, is the screen reader modifier key. It has always been necessary to either change your keyboard layout, enable CAPS LOCK, or, in the case of NVDA, both.

I can guarantee you that there are going to be a huge number of confused, and pissed off, NVDA users were CAPS LOCK to be enabled if there is not a big, bold message that this is being done at installation time, and probably for at least a couple of releases after it debuts (if it debuts).

I've been working in screen reader tutoring for over a decade, and the technology arena for just short of 40 years, and no one expects CAPS LOCK to require a double strike to enable/disable. It just doesn't have that behavior natively under any OS out there. Changing that, without warning, is bound to bring on chaos and woe.

I just don't see it being worth it. I have no objection to some awareness raising at installation, or even giving a direct choice at installation, regarding CAPS LOCK being enabled as the screen reader modifier key in addition to "hard" insert (if the keyboard has it) and NumPad insert. But doing it by default, behind the scenes, is just a horrible idea.

I'm also consistent in that position in general, as I have raised issues in the past about the NVDA installer changing user configurable settings back to NVDA defaults when the end user has changed them away from that. No installer should ever do this as the default behavior, and on those exceedingly rare occasions where it is necessary for good reason, the installer for that version should be screaming at the user, "User configurable setting X will be set back to value Y. If you have previously set this by hand, you will need to do so again."

— Reply to this email directly, view it on GitHub https://github.com/nvaccess/nvda/issues/11678#issuecomment-1954806881, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABI2FPLMO4U5HDPLGVIE5RLYUTSMBAVCNFSM4R3PBWAKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJVGQ4DANRYHAYQ . You are receiving this because you were mentioned.Message ID: @.***>

derekriemer avatar Feb 23 '24 15:02 derekriemer

I'd be curious to see what percentage of laptop users actually have a numpad.

Then I'd suggest you do an informal survey in venues where you participate. I can find no official numbers "out there" I just know what I see working in the field, and it's that a tiny minority of people have laptops sans number pads and that when shopping for laptops unless it's smaller than 15 inches it almost invariably has one (and this has been true for years). I don't know what entity would track this data, I just know what I see as part of the work I do, which as a computer tech involves seeing "everything out there" on a fairly frequent basis.

And it will be critical to ask about the size of the laptop. Units smaller than 15" are seldom used in office settings, and are even rare as "daily drivers" at home. They're great for portability, but if you do any work at all with numbers, or Excel, they're just not particularly practical.

britechguy avatar Feb 23 '24 15:02 britechguy

This seems pretty simple to me.

  • VoiceOver (iOS and Mac) also uses capslock as the default modifier key now, and has done for years.
  • Laptops make up the vast majority of personal computers in 2024.
  • Laptops without number pads make up the vast majority of laptops.
  • Without working eyeballs, it is impossible to tell where the insert key is on a new laptop, but the capslock key never moves.
  • If a user inadvertently turns on capslock as the NVDA modifier and then tries to toggle capslock,
    1. They will probably eventually figure out that tapping it twice will enable it.
    2. It would be trivial to code a help message that triggers when someone presses and releases capslock twice within a five second period without actually triggering an NVDA command.
  • On the other hand, if a user inadvertently clicks through the welcome dialog without enabling capslock and does not know where their insert key is, they'll need to navigate to the system tray, show hidden icons (in most cases), find the NVDA icon and go to the menu. This is trivial for most people reading this thread, but some people may not even know NVDA has a system tray icon, thus will be stuck with no NVDA key. This seems infinitely worse than the small inconvenience of not being able to use capslock.

Simon818 avatar Apr 02 '24 16:04 Simon818

  • Laptops without number pads make up the vast majority of laptops.

I'm sorry, but this assertion simply is not true and has not been true for many years now. I haven't seen a 15" laptop (which is by far the most common size in the marketplace) without a number pad as common in at least 15 years now.

I don't really care if CAPS LOCK is enabled as well as INSERT by default, but this assertion needs to stop being made because it is patently untrue and has been untrue for some time.

When you get below a 15" screen you rapidly go into the world of netbooks, which are not laptops as the term is typically used and those don't often have number pads because there's no space for them.

britechguy avatar Apr 02 '24 17:04 britechguy

When you get below a 15" screen you rapidly go into the world of netbooks, which are not laptops as the term is typically used and those don't often have number pads because there's no space for them.

Since we're being pedantic about vocabulary for no particular reason... Most computers that are not desktops these days don't have insert keys, or numpads. By excluding the type of computers you call netbooks, you're excluding a significant portion of the userbase. They're incredibly common, to the point that I haven't had a laptop with a numpad since 2017, and I've bought 5 laptops in that time, all from different companies, and without caring if it had a numpad or not. It just so happened that all the models didn't have them... Not to mention that a lot of external keyboards don't even have insert keys, I'm writing this from a Red Dragon Elf Pro without a numpad or insert key. I also have an MX Keys Mini from Logitech sitting on the desk next to me, with an insert key that's not usable by NVDA, because you need to press FN with it.

TheQuinbox avatar Apr 02 '24 21:04 TheQuinbox

Most computers that are not desktops these days don't have insert keys, or numpads.

Also absolutely incorrect. I actually am a computer support tech for a living for home and small business users. I can count on less than two hands who among all my clients has owned a non-desktop computer that did not have a number pad and even fewer of my desktop owning clients where the keyboard supplied with the machine did not have a numberpad.

Yes, one can seek out very compact laptops without a number pad, they are a niche part of the market. You can also seek out a non-number pad external keyboard, but you have to seek them out.

With this I'll drop out, but I am very, very, very aware of what's commonly available in most brick and mortar stores, as well as online, if you search for "laptop" and stick with one that is at least 15" diagonal screen size.

As to your Elf and Mini, note those names. They are intentionally compact keyboards that are designed for small footprint. It's hardly shocking that they don't have a native (or any) Insert Key. You're comparing apples to oranges.

britechguy avatar Apr 02 '24 21:04 britechguy