More user friendly laptop keyboard layout #804

Closed
nvaccessAuto opened this Issue Aug 3, 2010 · 110 comments

2 participants

@nvaccessAuto

Reported by mdcurran on 2010-08-03 03:07
I have created a branch containing a new desktop keyboard layout, that also contains alternative key bindings for laptop users. I.e. a second binding for any script that uses the numpad.
The branch is at:
http://bzr.nvaccess.org/nvda/keyboardLayoutRefactor
The advantage of unifying the laptop and desktop layouts in to one is that hopefully we will be able to maintain it much easier, and not leave the laptop layout as a "second class citizen", as some have said.
There have been a few changes to the original desktop key bindings, such as moving all the settings dialog scripts to control+nvda+function keys, to free up more keys for proper numpad emulation on the right letter keys.
Please try this new layout on laptops and provide comments on this ticket as to your thoughts:

  • Are there any key combinations that do not work on your keyboard?
  • Have I missed any key bindings?

If this new unified layout works well for people, I will then update the user guide with proper tables of keys and there alternatives. We also plan to mark up the user guide such that a key commands document can be generated straight from the user guide.

As a primary developer of NVDA, I am more than happy to make this new layout work well for people, and make sure its maintained as well as the original desktop layout. However, as noted above, there are some changes to the desktop layout etc, but I feel that this new way will be the most easiest for us to not leave the laptop layout behind.
Having NVDA run on laptops/netbooks is extremely important, especially in education.

I have managed to not use the alt key at all in this layout, nore have I used any 4-key combinations (e.g. control+shift+nvda+letter). As these were two problems noted in the past.

@nvaccessAuto

Comment 1 by msuch on 2010-08-03 04:48
All this works fine in most cases.
There are still problems with combinations like NVDA+m NVDA+, and NVDA+. 7
on a french keyboard because these keys are not at the same place and in fact do not seem to be addressed this way.
So, if you want to hear previous character, current character etc, commands don't fall at the right place.
I think it would make sense to think about a localisation for kbd files.
Anyway, now we have unified key definitions and, overall, it works better than before on laptops.

@nvaccessAuto

Comment 2 by aleksey_s on 2010-08-03 06:20
I think this change is quite controversial at least.

  1. I like the idea, that NVDA mappings are easy to learn because they are well thought-out. Here I have no idea what links letter "o" (NVDA+shift+o) with "mouse tracking" option, nor I like the idea to remember order of settings dialogs in the menu to be able to activate quickly one.
  2. A lot of key combinations are assigned that will be newer used by one group of users. For users with full keyboard those plenty of keys can be used in more useful way, and current code makes it available to do it differently for each group. So removal of laptop layout is a regression. I think that this change, while simplifying life for the developers in short-term makes life more difficult for end users. Why it simplifies only in short-term? New input framework, that was being developed by Jamie, would allow in-place assignments of keys for both desktop and laptop in one place. to add new scripts developer will be not required to go through two layout files. GUI for input action to scripts bindings will also improve experience for adding new keys, since it can check conflicts automatically and such. If one finds this "universal" layout convenient, i suggest to add it as a third layout and assign a maintainer for it who will be responsible for updating it and syncing with other layouts.
@nvaccessAuto

Comment 3 by jteh (in reply to comment 2) on 2010-08-03 08:12
You make some valid points. However, let me try to clarify some of the reasons that this layout is being considered:

Replying to aleksey_s:

  1. I like the idea, that NVDA mappings are easy to learn because they are well thought-out. Here I have no idea what links letter "o" (NVDA+shift+o) with "mouse tracking" option

The second letter in "mouse". We've done this a few times for accelerators which are already mapped.

nor I like the idea to remember order of settings dialogs in the menu to be able to activate quickly one.

These keystrokes are problematic because there are just way too many of them. I don't honestly understand why NVDA+n -> p -> f is so much harder than NVDA+ctrl+d, but we allowed the patch based on user demand. It follows that users who really want these will learn them, while others will just use the menu.

  1. A lot of key combinations are assigned that will be newer used by one group of users.

Our understanding is that some users even on desktops actually use the current laptop keys because it makes for less hand movement.

For users with full keyboard those plenty of keys can be used in more useful way

That infers that the laptop layout will be missing some functionality. This is something we want to avoid.

and current code makes it available to do it differently for each group. So removal of laptop layout is a regression.

It isn't a regression because it doesn't remove user functionality. All commands should be available to both desktop and laptop users. It is a bug if this is not the case.

I think that this change, while simplifying life for the developers in short-term

This isn't really the primary goal. The primary goal is to come up with a layout that makes sense (the current laptop layout is really confusing in some areas and some of that is rectified in this new layout) and to ensure that laptop users can access all of the functionality available to desktop users.

If one finds this "universal" layout convenient, i suggest to add it as a third layout and assign a maintainer for it who will be responsible for updating it and syncing with other layouts.

This defeats the point. We already have enough trouble trying to keep two layouts in sync. Adding a third will only make it worse.

@nvaccessAuto

Comment 4 by jteh on 2010-08-03 08:18
Btw, ideally, I'd prefer a unified layout which does not have any duplicates. This would require that keys that aren't present on some laptops not be used, which unfortunately includes the numpad. We have some ideas on how this could be achieved, but it would require too much code change for this release and would completely alter the experience.

@nvaccessAuto

Comment 5 by briang1 on 2010-08-03 09:03
OK, at the moment then, this is only available to be tested on folk running from source??
Might this be important enough a change to put up a test version on the website for user comment?
The real user is the user who is not into running from source I might suggest.

I must admit i quite like the idea, it appeals to my minimalist tendencies.. grin, but its a real shame it could not have been done before everyone knew the keys in use of course.

I'm going to curse it, I'm sure as some of the presses are not entirely logical, but I'm willing to give it a go.
I note that most other readers though do have seperate mappings.
IN most cases though, in main normal use only a subset get used often.

Brian

@nvaccessAuto

Comment by Bernd on 2010-08-03 11:17
(In #800) This ticket could be closed if #804 is implemented.

@nvaccessAuto

Comment 7 by Bernd on 2010-08-03 11:19
Folowing scripts cannot be used by german users:
NVDA+;=navigatorObject_currentDimensions
Control+NVDA+'=navigatorObject_moveFocus
NVDA+'=review_moveCaretHere

@nvaccessAuto

Comment 8 by aleksey_s (in reply to comment 3) on 2010-08-03 17:08
Replying to jteh:

The second letter in "mouse". We've done this a few times for accelerators which are already mapped.

Ah, OK. Anyway, something+m is more logical, if it is available.

nor I like the idea to remember order of settings dialogs in the menu to be able to activate quickly one.

These keystrokes are problematic because there are just way too many of them. I don't honestly understand why NVDA+n -> p -> f is so much harder than NVDA+ctrl+d,

Well, besides English, I am using Ukrainian and Russian layouts here, and there aren't latin letters on eastern Slavic layouts. So i need to switch layouts when I want to use menu accelerators.

  1. A lot of key combinations are assigned that will be newer used by one group of users.

Our understanding is that some users even on desktops actually use the current laptop keys because it makes for less hand movement.

Some users doesn't mean the entire group of desktop users. So my point about having a lot of unnecessary duplicate bindings still applies.

For users with full keyboard those plenty of keys can be used in more useful way

That infers that the laptop layout will be missing some functionality. This is something we want to avoid.

If there are more keys, that mean there is a bigger room for convenient bindings. You are trying to equalize those, who has bigger keyboards with those, who has'nt by taking away the advantage of first ones.

I think that this change, while simplifying life for the developers in short-term

This isn't really the primary goal. The primary goal is to come up with a layout that makes sense (the current laptop layout is really confusing in some areas and some of that is rectified in this new layout) and to ensure that laptop users can access all of the functionality available to desktop users.

quoting original ticket:

The advantage of unifying the laptop and desktop layouts in to one is that hopefully we will be able to maintain it much easier, and not leave the laptop layout as a "second class citizen", as some have said.

If main point is to improve laptop layout user experience, Why not to call the unified layout the new super laptop layout and keep current desktop layout not changed then?

If one finds this "universal" layout convenient, i suggest to add it as a third layout and assign a maintainer for it who will be responsible for updating it and syncing with other layouts.

This defeats the point. We already have enough trouble trying to keep two layouts in sync. Adding a third will only make it worse.

Have you considered my argue about new input framework, which is going to allow of easier maintenance of two layouts, keeping key bindings in one place?

@nvaccessAuto

Comment 9 by jteh (in reply to comment 8) on 2010-08-03 17:33
Replying to aleksey_s:

The second letter in "mouse". We've done this a few times for accelerators which are already mapped.

Ah, OK. Anyway, something+m is more logical, if it is available.

Agreed. Unfortunately, it wasn't.

nor I like the idea to remember order of settings dialogs in the menu to be able to activate quickly one.

These keystrokes are problematic because there are just way too many of them. I don't honestly understand why NVDA+n -> p -> f is so much harder than NVDA+ctrl+d,

Well, besides English, I am using Ukrainian and Russian layouts here, and there aren't latin letters on eastern Slavic layouts. So i need to switch layouts when I want to use menu accelerators.

Err... so how does NVDA+ctrl+ work? Isn't it the same problem?

  1. A lot of key combinations are assigned that will be newer used by one group of users.

Our understanding is that some users even on desktops actually use the current laptop keys because it makes for less hand movement.

Some users doesn't mean the entire group of desktop users. So my point about having a lot of unnecessary duplicate bindings still applies.

Unnecessary to the users who don't want them, but necessary to those who do want them. That's simply a matter of perspective. You can't discount part of the user base like that.

For users with full keyboard those plenty of keys can be used in more useful way

That infers that the laptop layout will be missing some functionality.

If there are more keys, that mean there is a bigger room for convenient bindings. You are trying to equalize those, who has bigger keyboards with those, who has'nt by taking away the advantage of first ones.

Granted. However, this also means that the bindings are inherently consistent between laptops and desktops wherever possible.

I think that this change, while simplifying life for the developers in short-term

This isn't really the primary goal.

quoting original ticket:

The advantage of unifying the laptop and desktop layouts in to one is that hopefully we will be able to maintain it much easier, and not leave the laptop layout as a "second class citizen", as some have said.

So yes, it eases development, but note the "second class citizen" bit as well. Laptop users should be just as important as desktop users, so the experience should be just as good.

If main point is to improve laptop layout user experience, Why not to call the unified layout the new super laptop layout and keep current desktop layout not changed then?

Maintaining two layouts is problematic because as developers, we aren't affected by the laptop layout. As a result, it doesn't get maintained, nor does it make any logical sense when we do add new bindings.

Having one layout is less confusing because no matter what system you use, at least one of the keys for a given action will work without having to switch layouts. The key is just an "alternative" key, not a "laptop" key. This also better fits desktop users who use laptop keys to avoid excess hand movement.

If one finds this "universal" layout convenient, i suggest to add it as a third layout and assign a maintainer for it who will be responsible for updating it and syncing with other layouts.

We already have enough trouble trying to keep two layouts in sync.

Have you considered my argue about new input framework, which is going to allow of easier maintenance of two layouts, keeping key bindings in one place?

This is a very good point. However, synchronisation/maintenance is not just about keeping them in one place, though that's a good start. It's also about "understanding" the layout and ensuring that it remains logical and consistent. Also, inputFramework is quite some way off yet (definitely not 2010.2). We need a solution to this problem right now. Based on user demand, it cannot go unaddressed for yet another release.

@nvaccessAuto

Comment 10 by briang1 on 2010-08-03 18:06
I'd suggest this change is more major than minor though so to speak, at least to some.

The real problem here is that laptops just have a shortage of keys. With the ability to get add on numeric pads, I wonder if we are worrying unduly? OK playing devils advocate a bit by saying that, but I gave up trying to use my dell without a numeric pad!

As I put in my other comment, maybe this dibate needs widening. If, though as you suggest the problem really is one of trying to get two maintained, maybe some procedural changes in how things are done might be able to help, if two people could always communicate when a new key is needed, then the new key in the other layout would always get added to the layout. The only extra would be writing it up I suppose.

The other problem which I see others are already highlighting is that on machines set up for other languages, the layout might need substantial alteration for it to work.

I still think a test version now might gain some suggestions or at least a feel for how it will be received.

Brian

@nvaccessAuto

Comment 11 by aleksey_s (in reply to comment 9) on 2010-08-04 08:42
Replying to jteh:

Well, besides English, I am using Ukrainian and Russian layouts here, and there aren't latin letters on eastern Slavic layouts. So i need to switch layouts when I want to use menu accelerators.

Err... so how does NVDA+ctrl+ work? Isn't it the same problem?

It isn't. I can press NVDA+CTRL+ and no matter what layout is active, it will work as i pressed the letter in the English layout. Don't know how that works btw, but such behavior i have been seeing from the time i started using windows.

Some users doesn't mean the entire group of desktop users. So my point about having a lot of unnecessary duplicate bindings still applies.

Unnecessary to the users who don't want them, but necessary to those who do want them. That's simply a matter of perspective. You can't discount part of the user base like that.

The idea is that currently, users, who don't want them can disable them by switching to the preferred layout. You are eliminating this choice, forcing users, who don't want alternative unnecessary bindings to live with them.

If there are more keys, that mean there is a bigger room for convenient bindings. You are trying to equalize those, who has bigger keyboards with those, who has'nt by taking away the advantage of first ones.

Granted. However, this also means that the bindings are inherently consistent between laptops and desktops wherever possible.

It was that way before. Bindings were consistent wherever possible, differences were caused by the physical disparity where one keyboard misses a block of keys. This initiative makes bindings absolutely identical at the expense of desktop layout users.

I think that this change, while simplifying life for the developers in short-term

This isn't really the primary goal.

quoting original ticket:

The advantage of unifying the laptop and desktop layouts in to one is that hopefully we will be able to maintain it much easier, and not leave the laptop layout as a "second class citizen", as some have said.

So yes, it eases development, but note the "second class citizen" bit as well. Laptop users should be just as important as desktop users, so the experience should be just as good.

I don't see how removal of current desktop layout will benefit the users .If one works on laptop without numpad, or one prefers to use laptop layout because of other reasons, he/she will choose this in the settings. Or if you want, the automatic detecting of machine type can be implemented in NVDA which will suggest the layout. I saw this in Linux. But one, who has full keyboard and prefers to have logical rememberable bindings, will be not able to achieve this easily after removal of current desktop layout.

If main point is to improve laptop layout user experience, Why not to call the unified layout the new super laptop layout and keep current desktop layout not changed then?

Maintaining two layouts is problematic because as developers, we aren't affected by the laptop layout.

Do you mean that when universal layout were added you would change you habits and use letter navigation instead of numpad to be able to test that it is convenient for laptop users? If you both decide to do that, and you're afraid that desktop layout may be left in similar conditions, as the laptop layout is, i promise I'll stay on desktop layout to ensure it is usable. So maintenance problem will disappear :-)
On the other hand, if you aren't going to change your habits, I think that problem with laptop users stays unchanged. If none of the devs use laptop keys, no difference if he need or not need to switch layouts to try them, those bindings will stay last citizens.

As a result, it doesn't get maintained, nor does it make any logical sense when we do add new bindings.

One way I see to deal with the situation is to react quickly on the user feetback (which we always are doing well though), or may be ask community if anybody wants and can take control on laptop bindings and improve/maintain them.

Having one layout is less confusing because no matter what system you use, at least one of the keys for a given action will work without having to switch layouts.

You assume that all users must learn both layouts that are mixed now. But the old laptop layout also contained numpad bindings, and can be used for that reasons for those who need it. So again, we come to conclusion that new layout will not bring any new functionality to end-users.

The key is just an "alternative" key, not a "laptop" key. This also better fits desktop users who use laptop keys to avoid excess hand movement.

See above, laptop layout does this perfectly right now.

Have you considered my argue about new input framework, which is going to allow of easier maintenance of two layouts, keeping key bindings in one place?

This is a very good point. However, synchronisation/maintenance is not just about keeping them in one place, though that's a good start. It's also about "understanding" the layout and ensuring that it remains logical and consistent.

Again, how changing or removing the layout will change understanding? See above about developer habits.

Also, inputFramework is quite some way off yet (definitely not 2010.2). We need a solution to this problem right now. Based on user demand, it cannot go unaddressed for yet another release.

That's why i said about short-term solution. Well, we have a problem. Users report that laptoplayout is bad. let's improve it, let's teach ourselves to use it in future to not repeat this situation. Why change and worse the experience for users, who don't suffer from the initial issue?

@nvaccessAuto

Comment 12 by mdcurran on 2010-08-04 09:08
For this release (2010.2) we will not move to this universal layout. I still believe that in the long run we can come up with a universal layout, though it may mean changing the entire paradyme to something more like voiceOver with arrow keys.
However, for this release, clearly it won't answer the problems we have.
Most likely we will go with the proposed laptop layout in #798.
The most important thing is that we also must document the laptop layout in the user guide, which I will do, as soon as we're happy with a current laptop layout.
Changes:
Milestone changed from 2010.2 to None

@nvaccessAuto

Comment 13 by jteh on 2010-08-04 09:15
Lex, just to answer one point: I believe that a unified layout is important. I don't think that there should be two sets of bindings, as it increases complexity and learning overhead for new users. However, we need to come up with a unified layout which avoids redundancy on the main keys if we want to do this.

@nvaccessAuto

Attachment _default_desktop.kbd added by msuch on 2010-08-04 12:14
Description:
unified keyboard file

@nvaccessAuto

Comment 15 by jteh on 2011-12-01 08:09
People still find the current laptop layout confusing due to its use of alphanumeric keys laid out to be similar to the numpad. It also presents problems for non-English users, as certain keys aren't laid out in the same way. Also, arrow keys are easier for many people to understand.

Therefore, I propose the following layout. This may be easier for some desktop users as well. The numpad keys would be removed in this layout, which is useful for users who want the numpad to behave as it does without NVDA. I've only listed keys which are different from the current layouts. Feedback is very much welcome.

||= Name =||= Key =||
|| Toggle application sleep mode on and off || NVDA+shift+z ||
|| Report Status Bar || NVDA+shift+end ||
|| Say all || NVDA+a ||
|| Read current line || NVDA+l ||
|| Read current text selection || NVDA+shift+s ||
|| Report current object || NVDA+shift+o ||
|| Move to containing object || NVDA+shift+upArrow ||
|| Move to previous object || NVDA+shift+leftArrow ||
|| Move to next object || NVDA+shift+rightArrow ||
|| Move to first contained object || NVDA+shift+downArrow ||
|| Move to focus object || NVDA+shift+backspace ||
|| Activate current navigator object || NVDA+enter ||
|| Move System focus or caret to current review position || NVDA+backspace ||
|| Move to top line in review || NVDA+control+home ||
|| Move to previous line in review || NVDA+upArrow ||
|| Report current line in review || NVDA+shift+. ||
|| Move to next line in review || NVDA+downArrow ||
|| Move to bottom line in review || NVDA+control+end ||
|| Move to previous word in review || NVDA+control+leftArrow ||
|| Report current word in review || NVDA+control+. ||
|| Move to next word in review || NVDA+control+rightArrow ||
|| move to start of line in review || NVDA+home ||
|| Move to previous character in review || NVDA+leftArrow ||
|| Report current character in review || NVDA+. ||
|| Move to next character in review || NVDA+rightArrow ||
|| Move to end of line in review || NVDA+end ||
|| Say all with review || NVDA+shift+a ||
|| Left mouse button click || NVDA+[ ||
|| Left mouse button lock || NVDA+control+[ ||
|| Right mouse click || NVDA+] ||
|| Right mouse button lock || NVDA+control+] ||
|| Move mouse to current navigator object || NVDA+shift+m ||
|| navigate to the object under the mouse || NVDA+shift+n ||

@nvaccessAuto

Comment 16 by mdcurran on 2011-12-01 08:30
What will happen with the synth settings ring and previous?

@nvaccessAuto

Comment 17 by jteh (in reply to comment 16) on 2011-12-01 08:43
Replying to mdcurran:

What will happen with the synth settings ring and previous?

Damn and blast. I knew I had forgotten something. And we can't use NVDA+control+shift due to weirdness with some keyboards.

I guess we could move either object nav or settings ring to = and - and other keys. The question is which are people more likely to use more often.

@nvaccessAuto

Comment 18 by parham (in reply to comment 17) on 2011-12-01 09:04
Replying to jteh:

I guess we could move either object nav or settings ring to = and - and other keys. The question is which are people more likely to use more often.

IMHO, people will definitely use object navigation more often. There is, however, the question of how memorable the keys are. The more it makes sense to people, the easier it would be for them to switch to the new layout. This sudden change might throw a lot of people off-balance, and they might just give up on using NVDA just because, for most intents and purposes, it is like a new screen reader to them right now. Of course, the suggested layout has its own large number of merits, which are very useful in their own right, and I personally, as a user, feel great about the change happening.

@nvaccessAuto

Comment 19 by kevinchao89 on 2011-12-01 09:24
I think that people will use object navigation more often and it should be NVDA+CTRL+LEFT/RIGHT. Synth setting ring should be moved to NVDA+CTRL+=/-

I think that this new proposed layout will simplify, unify, and make the user experience, especially when it comes to the more advanced aspects of NVDA easier and it’s an excellent move. It will have some parity to ChromeVox and Voiceover, which some may be familiar with.

This will make object navigation, text review, mouse clicks/locks/route, and reading/reporting keyboard commands very logical, intuitive, and simple. I think that this will address the majority, if not all the concerns that people have with NVDA keyboard commands/layout. Please, this is very exciting, needs to happen, and I hope it does.

@nvaccessAuto

Comment 20 by jteh on 2011-12-01 09:44
I know we have had problems with combinations of four keys in the past, but do we have any particular reason to suspect that NVDA+control+shift+arrows will be a problem? That would be the cleanest solution to the synth settings issue and it should probably be at least tested before we discard it. They certainly work on my system.

@nvaccessAuto

Comment 21 by briang1 on 2011-12-01 10:28
Personally, I'd hate to have a lot of the keypad keys and others moved at this stage, though understanding the ethos here, I do think some extra effort on consulting via other lists etc, might be a good idea before anyone does anything.
I being a desktop keyboard user feel the current set is fine of course. I generally find using laptops a pain in any case so if forced to plug in another keyboard!

I like the ability to use the sayall with no focus movement on the big plus key on thekeypad too.
Its actually the same key as Hal uses of course.

So, please ask widely on lists before going with this. It might indeed upset a lot of existing users.

@nvaccessAuto

Comment 22 by jteh on 2011-12-01 10:32
I think the existing desktop layout would continue to exist, as many users find they are more efficient using the numpad. I see this more as a replacement for the laptop layout, which is currently far harder to understand than the desktop layout.

@nvaccessAuto

Comment 23 by parham (in reply to comment 20) on 2011-12-01 10:37
Replying to jteh:

I know we have had problems with combinations of four keys in the past, but do we have any particular reason to suspect that NVDA+control+shift+arrows will be a problem? That would be the cleanest solution to the synth settings issue and it should probably be at least tested before we discard it. They certainly work on my system.

I personally have no trouble with this. I can just lay my left pinky on all the three keys and switch, but that's me. Of course, one could also hold capslock plus the right shift and right control keys.

But then again, I think - and = are better. Leaving nvda+shift+ctrl and right/left/up/down for another review feature that might be added in the future might be a better move. This is impacting every single user, and the goal is to make them as comfortable as possible.

Plus, I don't know how non-English keyboards work, and people talking on this ticket are all advanced computer users and programmers, and long-time NVDA users. I have no idea at all how a newbie would take to this approach.

@nvaccessAuto

Comment 24 by pvagner on 2011-12-01 10:43
I can remember I had issues with four keys being pressed at the same time on a laptop but currently combos such as NVDA+control+shift+arrows are working fine for me.
Other four key combinations such as attempt to press letters SDFJ while using braille emulation keyboard result in three key press only. So I think this is a valid exception which we should make some good use of.

@nvaccessAuto

Comment 25 by jteh (in reply to comment 23) on 2011-12-01 10:55
Replying to parham:

I personally have no trouble with this. I can just lay my left pinky on all the three keys and switch, but that's me. Of course, one could also hold capslock plus the right shift and right control keys.

I was referring to the fact that some keyboards actually cant' handle certain key combinations with four keys for some odd reason.

But then again, I think - and = are better.

They don't make as much sense, though. I guess you could have NVDA+-/NVDA+= to decrease/increase setting and NVDA+shift+-/NVDA+shift+= to select the setting. Will this be memorable enough for newbies? Also, are there keyboards for any locales where - and = aren't unshifted keys?

I have no idea at all how a newbie would take to this approach.

The goal is to make it easier to follow than the current laptop layout. I think most less experienced users would agree that arrow keys are easier to understand than trying to pretend the alphanumeric keys are a numpad.

@nvaccessAuto

Comment 26 by pvagner on 2011-12-01 10:59
Also a quick review to the proposed layout.
Only the commands which have 'z', 'and '' in them are currently a problem for me.
keys 'z' and 'y' are swapped on some types of slovak keyboard layout. Though this can be used to. It's the same like french keyboard has letter 'a' swapped with some other key I think. I think this is not an error and we can see this just as a warning.

However the other combinations might really be a problem. 'coresponds to 'ú' and '' coresponds to 'ä'. These are accented characters so are not available in other layouts. In order to type 'or '' (curly braces) I need to press the right alt key reffered to as the alt-gr key what NVDA handles as 'ctrl+alt' in combination with letter f. so commands such as NVDA+control+[ and NVDA+control+] won't work this way. I think these will apply to other keyboard layouts as well.

@nvaccessAuto

Comment 27 by jteh (in reply to comment 26) on 2011-12-01 11:10
Replying to pvagner:

keys 'z' and 'y' are swapped on some types of slovak keyboard layout. Though this can be used to.

I don't think this is a problem. Letters in different places are only a problem if we're relying on the location of the key, which we're not in this case. I just picked z because it's often associated with sleep. :)

However the other combinations might really be a problem. 'coresponds to 'ú' and '' coresponds to 'ä'.

Damn. That's definitely a show stopper. Maybe NVDA+9 and NVDA+0? Failing that, NVDA+f3 and NVDA+f4 might work, though that seems a bit weird to me for some reason. Any other ideas?

@nvaccessAuto

Comment 28 by orcauser (in reply to comment 25) on 2011-12-01 11:16
Replying to jteh:

Also, are there keyboards for any locales where - and = aren't unshifted keys?

For the swedish layout, equals is shifted.
shift+0

@nvaccessAuto

Comment 29 by briang1 (in reply to comment 22) on 2011-12-01 11:27
Replying to jteh:

I think the existing desktop layout would continue to exist, as many users find they are more efficient using the numpad. I see this more as a replacement for the laptop layout, which is currently far harder to understand than the desktop layout.Yes, I agree. I'm also wondering about the loss of possible extra combinations this might introduce for the future.

@nvaccessAuto

Comment 30 by jteh (in reply to comment 28) on 2011-12-01 11:30
Replying to orcauser:

For the swedish layout, equals is shifted.

Damn. Okay, so NVDA+control+shift+arrows is looking like the best option for settings ring.

@nvaccessAuto

Comment 31 by pvagner (in reply to comment 27) on 2011-12-01 11:35
Replying to jteh:
Damn. That's definitely a show stopper. Maybe NVDA+9 and NVDA+0?
NVDA+9 and NVDA+0 looks okay here although in some other ticked we once had a discussion about shifted vs non shifted numbers. In various keyboard layouts numbers are shifted however NVDA and other software can recognize them while composing keyboard commands. e.g. no mather whether I'm on slovak or english keyboard layout the top row from 1 to 0 is still working the same when it comes to the key commands no mather what the coresponding keys type when pressed alone.

@nvaccessAuto

Comment 32 by jhomme (in reply to comment 17) on 2011-12-01 12:24
Hi,
Why don't we just substitute the Alt key for the Control key for the ring?Replying to jteh:

Replying to mdcurran:

What will happen with the synth settings ring and previous?

Damn and blast. I knew I had forgotten something. And we can't use NVDA+control+shift due to weirdness with some keyboards.

I guess we could move either object nav or settings ring to = and - and other keys. The question is which are people more likely to use more often.

@nvaccessAuto

Comment 33 by jteh (in reply to comment 32) on 2011-12-01 12:32
Replying to jhomme:

Why don't we just substitute the Alt key for the Control key for the ring?

We can't use alt combinations because, like all other modifiers except the NVDA modifier, we pass it straight through to Windows. With the alt key, this means that when you release it, the menu bar will activate because the final key is captured by NVDA, so it looks to Windows as if the alt key was pressed and released.

@nvaccessAuto

Comment 34 by jteh on 2011-12-01 12:33
Actually, we can use control+alt or shift+alt, but all NVDA commands should have the NVDA key and NVDA+shift+alt+whatever still makes four keys.

@nvaccessAuto

Comment 35 by Gene (in reply to comment 15) on 2011-12-01 14:49
As is made clear at the end of my comments, my suggestions are intended to describe how to revise the laptop layout, not to replace the current desktop layout. I strongly oppose getting rid of the current desktop layout.

Combinations such as NVDA plus shift are inconvenient and uncomfortable to execute. Of course, you need a third key as well such as NVDA plus shift plus down arrow which is even more inconvenient. Changing the NVDA key to caps lock in the universal keyboard layout and dropping the shift key as a modifier would allow commands to be more conveniently executed. For example, Caps lock down arrow would be reasonably convenient for read to all. But the problem is that such a change would make all NVDA commands require two hands, which some or many people would not like. But if you are going to do something like this, then keep commands as close to the old ones as possible. for example, use caps lock and keys on the main keyboard toward the right as the equivalent of what used to be done with the numpad. For example, caps lock plus p might be the new read next line in the review keys. Caps lock plus o might be read current line, etc.

Combining the caps lock key with alt might be the best ergonomic way to execute commands that used to be done with NVDA key plus another numpad key. For example, capslock plus alt plus o would now perform the same action as the current NVDA key plus numpad 8 does. But even if it's the best alternative, I still don't like the combination. I find it annoying and not pleasant nor sufficiently comfortable when used repeatedly. It might be acceptable for a new laptop layout but not, in my opinion, for a replacement for the current desktop layout.

I haven't looked into this but it's my understanding that JAWS incorporates a system which is, at least in some ways, similar to what I am proposing so this layout might help JAWS laptop users adopt more quickly and easily to NVDA.

But, having made these suggestions, I want to emphasize that I consider any arrangement that eliminates the desktop layout as being a very bad idea. Even if something could be developed that is as good from an ergonomic standpoint and a use of keys standpoint, which I doubt, I really wonder if you realize how resistant many not tech savvy users are to change. Look at how many blind people were and are reluctant to try Firefox, even though almost all commonly used commands are identical to what you use in Internet Explorer. A change to the basic structure of NVDA will, I believe alienate many or most users.

I would suggest having a volunteer or volunteers maintain a laptop layout and keeping the existing desktop layout. A rational, logical laptop layout should be achievable and, if it follows a logical design, should not be difficult to augment as needed.

Gene
to jteh:

People still find the current laptop layout confusing due to its use of alphanumeric keys laid out to be similar to the numpad. It also presents problems for non-English users, as certain keys aren't laid out in the same way. Also, arrow keys are easier for many people to understand.

Therefore, I propose the following layout. This may be easier for some desktop users as well. The numpad keys would be removed in this layout, which is useful for users who want the numpad to behave as it does without NVDA. I've only listed keys which are different from the current layouts. Feedback is very much welcome.

||= Name =||= Key =||

|| Toggle application sleep mode on and off || NVDA+shift+z ||

|| Report Status Bar || NVDA+shift+end ||

|| Say all || NVDA+a ||

|| Read current line || NVDA+l ||

|| Read current text selection || NVDA+shift+s ||

|| Report current object || NVDA+shift+o ||

|| Move to containing object || NVDA+shift+upArrow ||

|| Move to previous object || NVDA+shift+leftArrow ||

|| Move to next object || NVDA+shift+rightArrow ||

|| Move to first contained object || NVDA+shift+downArrow ||

|| Move to focus object || NVDA+shift+backspace ||

|| Activate current navigator object || NVDA+enter ||

|| Move System focus or caret to current review position || NVDA+backspace ||

|| Move to top line in review || NVDA+control+home ||

|| Move to previous line in review || NVDA+upArrow ||

|| Report current line in review || NVDA+shift+. ||

|| Move to next line in review || NVDA+downArrow ||

|| Move to bottom line in review || NVDA+control+end ||

|| Move to previous word in review || NVDA+control+leftArrow ||

|| Report current word in review || NVDA+control+. ||

|| Move to next word in review || NVDA+control+rightArrow ||

|| move to start of line in review || NVDA+home ||

|| Move to previous character in review || NVDA+leftArrow ||

|| Report current character in review || NVDA+. ||

|| Move to next character in review || NVDA+rightArrow ||

|| Move to end of line in review || NVDA+end ||

|| Say all with review || NVDA+shift+a ||

|| Left mouse button click || NVDA+[ ||

|| Left mouse button lock || NVDA+control+[ ||

|| Right mouse click || NVDA+] ||

|| Right mouse button lock || NVDA+control+] ||

|| Move mouse to current navigator object || NVDA+shift+m ||

|| navigate to the object under the mouse || NVDA+shift+n ||

@nvaccessAuto

Comment 36 by surveyor (in reply to comment 22) on 2011-12-01 19:35
Replying to jteh:

I think the existing desktop layout would continue to exist, as many users find they are more efficient using the numpad. I see this more as a replacement for the laptop layout, which is currently far harder to understand than the desktop layout.

Dear James, There were some conflicts with the current laptop layout for Turkish keyboard. But, I've created a default gestures.ini file to replace the conflicting keys with the help of Peter. The problem keys were , comma and . period. There is ö in the place of comma and ç in the place of period in Turkish keyboard. It's not that all, There is * star in place of - dash, - dash in place of = equals, ğ letre in place of [ left bracket and ü letre in place of ] right bracket...
So, I'm not sure, it would be a good and more pleasing idea to alter the layout, at least for the users of Turkish keyboard.

@nvaccessAuto

Comment 37 by jteh (in reply to comment 35) on 2011-12-01 20:46
Replying to Gene:

As is made clear at the end of my comments, my suggestions are intended to describe how to revise the laptop layout, not to replace the current desktop layout. I strongly oppose getting rid of the current desktop layout.

See comment:22. Adjusting summary to reflect this.

Changing the NVDA key to caps lock in the universal keyboard layout

The user can already choose to do this.

But the problem is that such a change would make all NVDA commands require two hands, which some or many people would not like.

I think that's already true with the current laptop layout.

But if you are going to do something like this, then keep commands as close to the old ones as possible. for example, use caps lock and keys on the main keyboard toward the right as the equivalent of what used to be done with the numpad.

That's exactly what the current laptop layout does. As noted in comment:25, many people find it hard to understand the current commands because pretending the main keyboard is a numpad isn't natural for them. That's why the new layout makes extensive use of arrow keys.

Combining the caps lock key with alt might be the best ergonomic way to execute commands that used to be done with NVDA key plus another numpad key.

We can't use alt. See comment:33.

I really wonder if you realize how resistant many not tech savvy users are to change. Look at how many blind people were and are reluctant to try Firefox, even though almost all commonly used commands are identical to what you use in Internet Explorer. A change to the basic structure of NVDA will, I believe alienate many or most users.

If laptop layout users really do resist this so strongly, then I guess it won't happen. Unfortunately, we're also losing new users because they find it too hard to understand the current laptop layout.

@nvaccessAuto

Comment 38 by jteh on 2011-12-01 20:48
Changes:
Changed title from "A unified keyboard layout" to "More user friendly laptop keyboard layout"

@nvaccessAuto

Comment 39 by Gene (in reply to comment 37) on 2011-12-01 21:40
Replying to jteh:

I wrote my first comments mostly because of concern that the desktop layout might be abandoned for a new universal interface. Now that I know that is no longer being considered, I'm not nearly so concerned.

I also want to clarify that my comments about blind peoples' resistance to change were made because of my concern that the desktop interface might be removed.

My laptop has a full size keyboard so I haven't wanted or needed to use the laptop layout in its current state. So I'll leave discussion mostly to others. But I do have a comment or two that may be useful.

I wonder if the laptop layout may be more popular in its current form than appears. People who like it may be far less likely to complain. If you think you may be getting a skewed picture of how many people like and dislike the current laptop layout, it might be a good idea to solicit comments from user lists to try to get a more representative view.

My other comment is that I wonder if the control shift combination is more cumbersome on some laptop keyboards than others because of differences in the layout on various computers. On my laptop, it's much more pleasant to use control shift on the left side of the keyboard than using that combination on the right side because the relation of the control and shift keys if quite different on the right side. And while I find the combination acceptable on the left side, from the little playing around I've done, it doesn't seem to be as pleasant to use that combination as it is on a desktop keyboard.

Gene
Replying to Gene:

As is made clear at the end of my comments, my suggestions are intended to describe how to revise the laptop layout, not to replace the current desktop layout. I strongly oppose getting rid of the current desktop layout.

See comment:22. Adjusting summary to reflect this.

Changing the NVDA key to caps lock in the universal keyboard layout

The user can already choose to do this.

But the problem is that such a change would make all NVDA commands require two hands, which some or many people would not like.

I think that's already true with the current laptop layout.

But if you are going to do something like this, then keep commands as close to the old ones as possible. for example, use caps lock and keys on the main keyboard toward the right as the equivalent of what used to be done with the numpad.

That's exactly what the current laptop layout does. As noted in comment:25, many people find it hard to understand the current commands because pretending the main keyboard is a numpad isn't natural for them. That's why the new layout makes extensive use of arrow keys.

Combining the caps lock key with alt might be the best ergonomic way to execute commands that used to be done with NVDA key plus another numpad key.

We can't use alt. See comment:33.

I really wonder if you realize how resistant many not tech savvy users are to change. Look at how many blind people were and are reluctant to try Firefox, even though almost all commonly used commands are identical to what you use in Internet Explorer. A change to the basic structure of NVDA will, I believe alienate many or most users.

If laptop layout users really do resist this so strongly, then I guess it won't happen. Unfortunately, we're also losing new users because they find it too hard to understand the current laptop layout.

@nvaccessAuto

Comment 40 by briang1 on 2011-12-02 05:43
At the risk of stating the obvious here, one tends to hear the problems but not the good things so really, its a big gamble to change something fundamental to many users, as you will only know if its welcome after you have done it. Perhaps with this its a good idea to widely publish a snapshot branch as you have now obviously the facility to run many builds on the snap page and ask those who know of a list to publicise the link to the test version on them before a final commit to change it.
I also agree about some laptops being easer than others. there do seem to be a lot of different implimentations of keyboards about.

@nvaccessAuto

Comment 41 by valiant8086 on 2011-12-03 03:42
My suggestion is to make it as similar to JAWS as you can, allowing for differences where obvious like for object navigation. You could even do NVDA+p p for flat review child object and NVDA+; for the opposit, just replacing NVDA+page up and page down as we have now. I bet the semicolon idea wouldn't work for some other languages though.

@nvaccessAuto

Comment 42 by dwillemv on 2011-12-03 04:46
Although jaws is popular, doing something because jaws does it is a bad idea in my opinion.

NVDA stands in its own right. It has enough good features for users switching from jaws to make a little effort and learn a layout, especially if it works better. I prefer quality over a jfw clone.

@nvaccessAuto

Comment 43 by briang1 (in reply to comment 41) on 2011-12-03 19:48
Replying to valiant8086:

My suggestion is to make it as similar to JAWS as you can, allowing for differences where obvious like for object navigation. You could even do NVDA+p p for flat review child object and NVDA+; for the opposit, just replacing NVDA+page up and page down as we have now. I bet the semicolon idea wouldn't work for some other languages though.

No and actually some of us have never seriously used Jaws, so would not really know if it was like it or not!
I used Hal up until I found nvda.

@nvaccessAuto

Comment 44 by jteh on 2012-11-23 05:06
Bzr branch: http://bzr.nvaccess.org/nvda/newLaptopLayout/

If you want to try out this possible new laptop layout, you can do so with this build. Note that I built this locally, so it may be slightly different to official builds and it isn't signed.

The User Guide in this build has been updated with the new commands. I did end up using [ and ]. Locales for which this is a problem can override these gestures in locale-specific gesture maps.

Thoughts are welcome, but if if you're reporting keys you don't like, please try to suggest suitable alternatives. I'm especially interested in hearing from users who like the current laptop layout as to whether you would be willing to shift to this new layout.

@nvaccessAuto

Comment 45 by nvdakor on 2012-11-23 06:36
Hi,
Using the new branch version with laptop layout under Win8.
This could be just me, but the following key bindings doesn't work nor associated script info is spoken when pressing these keys from input help mode:

  • CTRL+Shift+NVDA+right arrow: next synth settings ring setting.
  • CTRL+Shift+NVDA+down arrow: decrease synth settings ring value. Thanks.
@nvaccessAuto

Comment 46 by jteh (in reply to comment 45) on 2012-11-23 06:56
Replying to nvdakor:

This could be just me, but the following key bindings doesn't work nor associated script info is spoken when pressing these keys from input help mode:

  • CTRL+Shift+NVDA+right arrow: next synth settings ring setting.

  • CTRL+Shift+NVDA+down arrow: decrease synth settings ring value.

Unfortunately, some keyboards just can't handle certain combinations of keys. Mine handles it fine, but I've seen weirdness like this on my bluetooth keyboard. I don't know if we're going to be able to satisfy every keyboard, but if we get too many complaints about problems with the same keys, we'll need to consider changing them.

@nvaccessAuto

Comment 47 by aleksey_s (in reply to comment 46) on 2012-11-23 07:41
Replying to jteh:

Replying to nvdakor:

This could be just me, but the following key bindings doesn't work nor associated script info is spoken when pressing these keys from input help mode:

  • CTRL+Shift+NVDA+right arrow: next synth settings ring setting.

  • CTRL+Shift+NVDA+down arrow: decrease synth settings ring value.

Unfortunately, some keyboards just can't handle certain combinations of keys. Mine handles it fine, but I've seen weirdness like this on my bluetooth keyboard. I don't know if we're going to be able to satisfy every keyboard, but if we get too many complaints about problems with the same keys, we'll need to consider changing them.

Took a quick-look at the patch, and here we go:

  • "kb(desktop):NVDA+end": "reportStatusLine",
  •           "kb(desktop):NVDA+shift+end": "reportStatusLine",
    
  •           "kb(desktop):NVDA+shift+upArrow": "reportCurrentSelection",
    
  •           "kb(desktop):NVDA+shift+s": "reportCurrentSelection",
    
  •           "kb(desktop):NVDA+control+rightArrow": "nextSynthSetting",
    
  •           "kb(desktop):NVDA+shift+control+rightArrow": "nextSynthSetting",
    
  •           "kb(desktop):NVDA+control+downArrow": "decreaseSynthSetting",
    
  • "kb(desktop):NVDA+control+shift+downArrow": "decreaseSynthSetting",

I think all of those mean to be one for desktop, and the other for laptop. So don't worry about keyboard, it might be just a little typo.

Thinking thoroughly about the new layout, I do like it. I must admit that whenever I work on friends' laptops without numpad and want to do object navigation, I have to consult commands reference or bruteforce to guess keys. Even more, some of those I know who begun to use computer with NVDA as first screenreader on laptop, are not likely to learn object navigation because of, well, it is hard to memorize keys.

p.s. could you elaborate on what you have on mind when talking about "changing the entire paradyme to something more like voiceOver with arrow keys"? More for a perspective, not near future; however one might assume that the proposed layout would make a number of end-user complaints about changing their experience, so may be if we have something great on this matter which will mean even more changes, it is more human to introduce it one shot.

@nvaccessAuto

Comment 48 by Ahiiron on 2012-11-23 14:45
Hi,

I'm playing with this new build as I write this. Overall, I like it, though we're having the fun issue of keys not working properly with NVDA-Shift-Ctrl-downarrow, etc for synth settings ring parameters. Overall, though, I like this.

I do enjoy the better obj nav commands quite a bit. Can do everything using arrows as I had hoped. I'm willing to switch.
However: Would it be a bit much to ask that the classic LT layout be retained for those who like it? Yes, I know it's another layout, but it'll prevent uproar from those who do enjoy it and creating 300 duplicated tickets regarding it. :)

@nvaccessAuto

Comment 49 by Ahiiron on 2012-11-23 14:56
Blargh. nvDA+] doesn't work for right mouse click, either, but NVDA+[ does. That's kind of going to pose an issue for me as I need right click functionality and have no numpad on one of my machines. :(

Windows 8.

@nvaccessAuto

Comment 50 by ateu on 2012-11-23 15:22
I really like this layout!
It's the best NVDA'S LAYOUT.
I suggest this layout be USED for desktop and laptop, as this is too intuitive.

@nvaccessAuto

Comment 51 by trenton on 2012-11-23 20:14
I am using this layout now, and I myself enjoy it! Wish that NVDA-Right-Bracket for right-clicking worked, however I'm sure that'll be fixed.
For those making add ons for NVDA though, plenty of conflicts have arised in either layout. Hope the authors are able to fix those. Or NVDA itself has a way to customize key strokes for things without editing .py files?
Just saying/stating.

@nvaccessAuto

Comment 52 by Simon818 on 2012-11-23 20:22
I just wanted to say I love this keyboard layout. When I first started using NVDA on a laptop, I often found myself wishing some of the keystrokes could be more like this, and now they are. I find them extremely easy to memorize, and other than force of habit causing me to press some of the old laptop keys, have no problems adjusting to it.

I'm having trouble with the following keys as well:
NVDA+] for right mouse click
NVDA+ctrl+shift+down arrow
NVDA+ctrl+shift+right arrow

When input help is activated, these keys are echoed properly, but with no descriptions. Could this be a problem with the keyboard layout itself, given the fact that everyone seems to be having issues with these specific keys?

I also like the idea of having a classic laptop layout. It doesn't seem as though it would take a ton of work to maintain, and I know there are probably a few people who are used to the old layout, as strange as some of the bindings may be.

I'm running this portably for now because of the few keystrokes that don't work, but if these can be made to work properly, I'll start using it full time. This is an awesome change.

@nvaccessAuto

Comment 53 by trenton on 2012-11-23 22:32
This new keyboard layout, is especially good for non-English keyboard users, as key strokes in the older laptop layout, such as NVDA-Comma, and NVDA-period, do not work properly with all keyboards.

@nvaccessAuto

Comment 54 by ragb on 2012-11-24 00:10
Hi,

This is really nice! It really improoves NVDA usage on laptops. It's one of those times I think it would be great to break backwards compatibility.

However there is a problem with portuguese keyboards, and probably other latine-based keyboards. The [ and ] keys (brackets] are typed using right-alt plus 8 or 9, respectively. This makes impossible to do the gestures for mouse clicks (NVDA assumes individual keys here) and, if even it did, it would be very unconfortable.

We can solve this using locale gestures. However, if the situation is the same on many more keyboard layouts (physical keyboard layouts, not NVDA bindings), I'd sugest trying to find other key bindings for mouse clicks.

@nvaccessAuto

Comment 55 by Ahiiron on 2012-11-24 00:30
What about NVDA+/ and NVDA+Shift+/ for left/right click? I'm talking as in Slash next to the right shift key on US keyboards. This would probably bust a bunch of international layouts... :(

@nvaccessAuto

Comment 56 by trenton on 2012-11-24 03:07
I was thinking more like NVDA-Semi-Colon, and NVDA-apostrophe myself. Yes, similar to the shark, however it works for them nicely! Either that, or NVDA-8 and NVDA-9, respectively.

@nvaccessAuto

Comment 57 by driemer.riemer@... on 2012-11-24 04:48
We could try using the keys control shift m to switch modes, similar to the rotter on iphones. Using this could be a powerful way to minimize the amount of keystrokes. there could be keystrokes like nvda up to go up in the router list and select, move by character, move by word, and so on and using the left and right arrows with the nvda key to move through the choices. Just thought it might be a good way to learn this easy, but I don't know if this would really work.

@nvaccessAuto

Comment 58 by jteh (in reply to comment 53) on 2012-11-24 06:18
This branch is now available from the Snapshots page. changeset:newLaptopLayout,4616 fixes several issues. Comments below:

Replying to nvdakor:

This could be just me, but the following key bindings doesn't work nor associated script info is spoken when pressing these keys from input help mode

My apologies. I misinterpreted you and thought you meant that the keys weren't being spoken properly in input help either. The issue was actually due to the typos that Aleksey discovered. Now fixed.

Replying to aleksey_s:

Took a quick-look at the patch, and here we go:

Ug. Thanks for spotting these. After looking at the words desktop and laptop so many times and doing so many copy and pastes, everything started to blur a bit. :(

Thinking thoroughly about the new layout, I do like it. I must admit that whenever I work on friends' laptops without numpad and want to do object navigation, I have to consult commands reference or bruteforce to guess keys.

Me too. My laptop can simulate the numpad using the FN key and I actually use that, so numpad simulation is fine for me, but the old laptop layout also had several inconsistencies with modifiers due to lack of keys which confused the hell out of me.

p.s. could you elaborate on what you have on mind when talking about "changing the entire paradyme to something more like voiceOver with arrow keys"?

I meant exactly what I've done here; i.e. using arrow keys with modifiers for object navigation and review.

Replying to Ahiiron:

However: Would it be a bit much to ask that the classic LT layout be retained for those who like it? Yes, I know it's another layout, but it'll prevent uproar from those who do enjoy it and creating 300 duplicated tickets regarding it. :)

I'd rather not do this. Aside from the principle of having yet another layout, it means we have to maintain both, including adding new commands to the old layout, which is just way too difficult. Also, documentation would become a nightmare. Sadly, if too many users refuse to switch, we'll probably have to reject this new layout for this reason.

Replying to Ahiiron:

Blargh. nvDA+] doesn't work for right mouse click, either, but NVDA+[ does.

Now fixed.

Replying to trenton:

Or NVDA itself has a way to customize key strokes for things without editing .py files?

It does. See the Remapping Key Assignments and Other Input Gestures section of the User Guide. There's currently no friendly GUI, though.

Replying to trenton:

This new keyboard layout, is especially good for non-English keyboard users, as key strokes in the older laptop layout, such as NVDA-Comma, and NVDA-period, do not work properly with all keyboard.

The correct solution here is for locales to override these gestures. This will happen with the new layout as well. For example, NVDA+[ and NVDA+] are impossible on some keyboards.

@nvaccessAuto

Comment 59 by trenton on 2012-11-24 06:30
Thanks for the updated info!
Will continue on testing with this new laptop layout!

@nvaccessAuto

Comment 60 by trenton on 2012-11-24 07:50
ah, after downloading the latest snapshot, I'm quite please withe results! All keys are working now.
One question. If the alt is not recommended to be used with commands, then how come ctrl-alt-arrow keys are used for tables? Not that I don't mind them being there like that for both default and laptop layouts, at least with Internet explorer, letting go of the alt key constantly keeps opening the file menu. Just wanted to throw that out there.

@nvaccessAuto

Comment 61 by trenton on 2012-11-24 07:52
Forgot to mention, I also agree, in a comment way back, that the num-pad keystrokes should be removed from the laptop layout. If was discussed earlier, sorry for repeating it here.

@nvaccessAuto

Comment 62 by Ahiiron (in reply to comment 61) on 2012-11-24 15:10
Replying to trenton:

Forgot to mention, I also agree, in a comment way back, that the num-pad keystrokes should be removed from the laptop layout.

I disagree. I use the laptop layout even on full keyboards. Then, it makes sense to have numpad commands work but still be able to use NVDA-Shift-Arrows for objnav, etc. Plus they're not hurting anything on keyboards that don't have a numpad, so it's kind of a moot point IMO.

@nvaccessAuto

Comment 63 by trenton on 2012-11-24 15:37
Hmmm. Since ya put it that way... it totally make since.
I was originally going to suggest that there be a way to toggle NVDA num-pad keys on/off via a setting of some sort. What's the use for that, since ya got that gesters.ini file there that can be used.
Need to start practicing with customizing!
Also, would help if I was spelling "gestures" correctly...
Sighs

@nvaccessAuto

Comment 64 by driemer.riemer@... on 2012-11-25 03:00
I do not think that number pad keys should be added via ini files because beginner users will not have the experience to add them by this. The nvda website could feature a download an ini file link to download the gestures.ini file and paste it so that the desktop keystrokes would be there automatically for thoughs who choose to download them but don't have the experience to do so. I was also thinking that to keep object and review navigation on the arrow keys a keystroke could be used to toggle between them and a separate keystroke to toggle line word and char. So for example, I am reading in review mode and want to read by line so I press NVDA+m until i hear line, then I use nvda right and nvda left to read the lines and nvda down to read the curent line. I then ffind the line I want so I press nvda and m again until I hear words and Then I can use NVDA right to move by word until I find the correctt character. I thaught this may be a way to make logical sense of using the review cursor with nvda without learning lots of wierd keystrokes.

@nvaccessAuto

Comment 65 by trenton on 2012-11-25 05:22
I like that idea. Only problem is, I don't know how the team could implement that.
Let the comments flow! I do like to hear them myself, even if I myself ain't no NVDA dev.

@nvaccessAuto

Comment 66 by jteh (in reply to comment 64) on 2012-11-25 06:55
Replying to driemer.riemer@…:

I do not think that number pad keys should be added via ini files because beginner users will not have the experience to add them by this.

At this stage, I think the numpad keys shouldn't be removed from the laptop layout.

I was also thinking that to keep object and review navigation on the arrow keys a keystroke could be used to toggle between them and a separate keystroke to toggle line word and char.

Have you looked at this new layout yet? I don't follow how this makes it easier than that. It already uses the arrow keys extensively.

@nvaccessAuto

Comment 67 by trenton (in reply to comment 66) on 2012-11-25 07:40
Replying to jteh:

Have you looked at this new layout yet? I don't follow how this makes it easier than that. It already uses the arrow keys extensively.

Yes, definitely tech a look at the layout in detail, and try it out everywhere! Experiment with it on the web, in word, in command prompts, get a feel for it.
Here's the direct link to latest New NVDA Laptop Snapshot:

http://nvda.sourceforge.net/snapshots/newLaptopLayout/nvda_snapshot_newLaptopLayout-5616.exe

Once ya spent time with it, then please, do share your findings. Be as detailed as ya can with it.

@nvaccessAuto

Comment 68 by trenton on 2012-11-25 07:42
Um, hopefully I replied to the right comment?

@nvaccessAuto

Comment 69 by driemer.riemer@... on 2012-11-25 08:06
I do like the new layout a lot. I enjoy that it keeps consistent with the current way of using nvda to move by words in a regular focus document. I think that the hassel of having to move from the errows to read back the current word and line is a little bit cumber sum. I am sorry for the miscomunication, I didn't realize there was a snapshot of this and was running an older source of it. I cannot still figure out how I can make the mouse move to the review position. It is a much simpler layout and is very efficient.

@nvaccessAuto

Comment 70 by Simon818 on 2012-11-25 08:15
I don't really see how having a rotor-like interface is better than what we have now. Just think of it as adding the NVDA key to normal navigation keystrokes. ctrl+right arrow moves you to the next word normally. Hopefully you knew that. Ctrl+nvda+right arrow moves the review cursor to the next word. same with down, up, left and right arrow, and even home, end, ctrl+home and ctrl+end. Having extra keystrokes to toggle between navigation modes just complicates things further in my opinion. Maybe others think differently though. I don't want to start an argument, much less on a ticket comment thread, but I do think this is worth some consideration.

@nvaccessAuto

Comment 71 by trenton on 2012-11-25 08:28
To the person who was asking about which keys moved the mouse to the object, its either one of three commands, and I use all 3, not at once of course:
NVDA-shift-backspace,
NVDA-backspace,
NVDA-shift-m.

To Simon, I see your point. It wouldn't be a bad idea for all people who try out this layout, turn on Input help mode with NVDA-1, and try these out, and hear what each one does.
Then try out the commands somewhere.

@nvaccessAuto

Comment 72 by jteh (in reply to comment 69) on 2012-11-25 10:32
Replying to driemer.riemer@…:

I think that the hassel of having to move from the errows to read back the current word and line is a little bit cumber sum.

Any suggestions on how to improve it? There aren't any keys closer to the arrow keys that would be suitable unless I'm missing something.

@nvaccessAuto

Comment 73 by ateu (in reply to comment 69) on 2012-11-25 11:30
Replying to driemer.riemer@…:

I do like the new layout a lot. I enjoy that it keeps consistent with the current way of using nvda to move by words in a regular focus document. I think that the hassel of having to move from the errows to read back the current word and line is a little bit cumber sum.

Unfortunately, it's not possible to have everything. In my opinion, the new layout is almost perfect, but it's not possible to be perfect. I am testing and too rarely I make a mistake, because it's really intuitive.

@nvaccessAuto

Comment 74 by trenton on 2012-11-25 17:19
Yes, I too agree that its just almost, perfect!
The only thing I would change, is use NVDA-o, for the current word, since you have NVDA-l for the current line, and NVDA-period, for the current character.
Other than that, I don't see anything else to mess with.
I did suggest maybe changing the keys for tables to something else, however that would kinda break the standard for how to move around tables anywhere, as I like it!
BTW, this new laptop layout is really! good, if ya have a laptop, that has the insert key, next to the alt key on the right.
Nice idea of having the capslock as an NVDA key, even though that's been around for sometime now.

@nvaccessAuto

Comment 75 by trenton (in reply to comment 74) on 2012-11-25 17:33
Replying to trenton:

Yes, I too agree that its just almost, perfect!

The only thing I would change, is use NVDA-o, for the current word, since you have NVDA-l for the current line, and NVDA-period, for the current character.

Other than that, I don't see anything else to mess with.

I did suggest maybe changing the keys for tables to something else, however that would kinda break the standard for how to move around tables anywhere, as I like it!

BTW, this new laptop layout is really! good, if ya have a laptop, that has the insert key, next to the alt key on the right.

Nice idea of having the capslock as an NVDA key, even though that's been around for sometime now.

Eh! I just figured out the table problem! Crazy enough, its an explorer problem, and not an NVDA one, however is easy to rectify.
Make sure that menu bar is checked in the Toolbars menu, under the view menu. In other words, Alt-v, T, M.
Why didn't I think of that before!

@nvaccessAuto

Comment 76 by Simon818 (in reply to comment 74) on 2012-11-25 19:38
Replying to trenton:

The only thing I would change, is use NVDA-o, for the current word, since you have NVDA-l for the current line, and NVDA-period, for the current character.

Actually, NVDA+l reads the line under the application cursor. This is a replacement keystroke for NVDA+up arrow, which is a more screen-reader standard way of reading the current line. NVDA+. reads the character under the review cursor, shift+NVDA+. reads the line, and ctrl+NVDA+. reads the word. This confused me at first as well, until I realized NVDA+up was now assigned to something different.

@nvaccessAuto

Comment 77 by trenton (in reply to comment 76) on 2012-11-25 21:09
Replying to Simon818:

Actually, NVDA+l reads the line under the application cursor. This is a replacement keystroke for NVDA+up arrow, which is a more screen-reader standard way of reading the current line. NVDA+. reads the character under the review cursor, shift+NVDA+. reads the line, and ctrl+NVDA+. reads the word. This confused me at first as well, until I realized NVDA+up was now assigned to something different.

Oo! I didn't notice the NVDA-shift-. keystroke yet. Thanks for pointing that one out! Yes, it does make since! I wish the Commands quick reference was updated in the snapshot, however I keep forgetting about that table of commands at the top of this page. Sorry about that.
Yes, it all makes since now!

@nvaccessAuto

Comment 78 by jteh (in reply to comment 77) on 2012-11-25 21:55
Replying to trenton:

I wish the Commands quick reference was updated in the snapshot,

It has been since the first build.

@nvaccessAuto

Comment 79 by trenton (in reply to comment 78) on 2012-11-26 01:04
Replying to jteh:

I wish the Commands quick reference was updated in the snapshot,

It has been since the first build.

Ah, you're right. My mistake!
I Need to read more closely.

@nvaccessAuto

Comment 80 by surveyor on 2012-11-26 12:53
First, I should say for most part it's really more user friendly than the current one. But my hands frequently goes to NVDA+up arrow for reading current line and NVDA+down for reading from system focus to the end. Besides, it's not a big issue but, NVDA+left and NVDA+right bracket are not usable for Turkish keyboard users. offcourse no problem, They can be redesigned in locale gestures file. Thinking on about user friendliness of the laptop layout, do you think it could be an efficient option to add NVDA a navigation and review mode in which JKL,UIO and 789 will behave like numpad keys 1-9 when enabled? The keys can behave as they should be if this mode is off.
advantages may be:
For object navigation and review, We can almost use the same shortcuts for desktop and laptop layouts. So, remembering would not be an issue.
Second, since the keys are at the same location for most languages, it would not pose an important question for localizations.
There maybe a setting for the user to set the navigation and review mode to be off automaticaly in edit areas and in browse mode. NVDA+shift+space can be set as shortcut for changing status of this mode.
Thanks!

@nvaccessAuto

Comment 81 by driemer.riemer@... on 2012-11-26 15:38
Hey I just realized that nvda shift s is now the text selection key., what I am wondering is if this will confuse users of what happened to the sleep mode command (now nvda shift z). When this keyboard layout is released on major version maybe the keystroke should definitely be noted so that people aren't frustrated.

@nvaccessAuto

Comment 82 by trenton (in reply to comment 81) on 2012-11-26 17:04
Replying to driemer.riemer@…:

Hey I just realized that nvda shift s is now the text selection key., what I am wondering is if this will confuse users of what happened to the sleep mode command (now nvda shift z). When this keyboard layout is released on major version maybe the keystroke should definitely be noted so that people aren't frustrated.

As James stated earlier, all keystrokes are in the commands quick reference guide.
So yes, its definitely noted. Also, you can think of it as "Z," as in "snoring."

@nvaccessAuto

Comment 83 by trenton (in reply to comment 80) on 2012-11-26 17:13
Replying to surveyor:

First, I should say for most part it's really more user friendly than the current one. But my hands frequently goes to NVDA+up arrow for reading current line and NVDA+down for reading from system focus to the end. Besides, it's not a big issue but, NVDA+left and NVDA+right bracket are not usable for Turkish keyboard users. offcourse no problem, They can be redesigned in locale gestures file. Thinking on about user friendliness of the laptop layout, do you think it could be an efficient option to add NVDA a navigation and review mode in which JKL,UIO and 789 will behave like numpad keys 1-9 when enabled? The keys can behave as they should be if this mode is off.

advantages may be:

For object navigation and review, We can almost use the same shortcuts for desktop and laptop layouts. So, remembering would not be an issue.

Second, since the keys are at the same location for most languages, it would not pose an important question for localizations.

There maybe a setting for the user to set the navigation and review mode to be off automaticaly in edit areas and in browse mode. NVDA+shift+space can be set as shortcut for changing status of this mode.

Thanks!

A similar idea to yours, was mentioned on the NVDA dev list, however as an add on. You can read more about that here:
http://lists.nvaccess.org/pipermail/nvda-dev/2012-November/030676.html

@nvaccessAuto

Comment 84 by Simon818 on 2012-12-09 08:38
Just wondering what's happened to this. The snapshots haven't been merged at all, but are still available from the download page, and this hasn't been closed or anything. I've been happily using the new laptop layout and would really like to see it in the next release. I grudgingly understand that if there is enough complaint from other people, doing so is not realistic. Just thought I'd find out the status of it, at least.

@nvaccessAuto

Comment 85 by jteh (in reply to comment 80) on 2012-12-10 03:05
Replying to surveyor:

my hands frequently goes to NVDA+up arrow for reading current line and NVDA+down for reading from system focus to the end.

Yes. That's probably the biggest disadvantage of this layout. However, I think the advantages outweigh this disadvantage.

Thinking on about user friendliness of the laptop layout, do you think it could be an efficient option to add NVDA a navigation and review mode in which JKL,UIO and 789 will behave like numpad keys 1-9 when enabled?

Having yet another layout/mode creates confusion. Also, this would mean the user would have to toggle the mode every time they wanted to use review.

Second, since the keys are at the same location for most languages

Unfortunately, the same can't be said for keyboard layouts. For example, in English, the Dvorak layout is completely different. Granted, this is fairly rarely used, but it's still been raised as an issue with the current layout.

There maybe a setting for the user to set the navigation and review mode to be off automaticaly in edit areas and in browse mode.

There are plenty of other areas where the user might want to type and some of them might not be obvious; e.g. lists and menus. For this reason, automatic toggling could cause a lot of trouble.

I think this is probably better done as an add-on.

@nvaccessAuto

Comment 86 by jteh on 2012-12-10 03:07
This seems to have been very well received, even more so than I originally thought. Therefore, we're going to try to include this is in the next release. However, we need to work on some UI to help transition existing users. Currently, we're thinking of a dialog presented when NVDA starts.

@nvaccessAuto

Comment 87 by jteh on 2012-12-10 03:08
Changes:
Milestone changed from None to 2013.1

@nvaccessAuto

Comment 88 by surveyor (in reply to comment 87) on 2012-12-10 09:18
Replying to jteh:
Because of the gestures using left and right brackets, the turkish locale gestures.ini file should be modified. I've already done. Attaching for possible inclusion of this new layout.

@nvaccessAuto

Attachment gestures.ini added by surveyor on 2012-12-10 09:20
Description:
turkish locale gestures for distribution

@nvaccessAuto

Comment 89 by jhomme on 2012-12-10 13:01
Hi,
I am for putting this into a snapshot and seeing how positive the feedback is. I think that a write-up explaining the merits of the layout from the user point of view would help. As I was reading the comments about how people don't like the fake number pad thing, I realized that I had no trouble with it because I had a previous experience with a DOS screen reader a long time ago. I purposely went into learning NVDA with an open mind, though, so maybe I was at an advantage. I think that using keys that use letters like l for line are easy enough to remember, and it seems natural to use arrow keys for navigation instead of letters on the keyboard, so to repeat myself, I say let's try it.

@nvaccessAuto

Comment 90 by jteh (in reply to comment 89) on 2012-12-10 21:42
Replying to jhomme:

I am for putting this into a snapshot and seeing how positive the feedback is.

It's already available in a snapshot branch. If you think there are users who should be testing this, feel free to pass this info on.

@nvaccessAuto

Comment 91 by Brendon22 on 2012-12-19 07:12
Hello,

I really like this new Laptop layout for NVDA, and it also fixes the problem I have with Changing the Voice settings, and NVDA's other settings on the fly, very nice!

@nvaccessAuto

Comment 92 by ondrosik on 2012-12-22 16:34
I just tested the new layout and I have a few comments. First some things to Userguide as this is my source for new shortcuts (I noticed later that new shortcuts were posted in this ticket, but this may help to repair things)
Move mouse to current navigator object and Enable mouse tracking have the same shortcut - nvda+shift+m in userguide, the correct one for Enable mouse tracking is nvda+m.
Follow System Focus is nvda+ctrl+7 in userguide, the correct seems to be nvda+7 as in desktop.
Progressbar output in the userguide the nvda+ctrl+f2 is mentioned, correct is nvda+u.
Synth settings ring is nvda+ctrl+shift+arrow keys, the old one e. g. nvda+ctrl+arrows is mentioned.

One question:
How to click and lock the left and right mouse button? I am using the Slovak keyboard layout. It also doesn't work when i set the English keyboard layout. It just don't work and NVDA says just "left bracket". I also noticed when tracking this issue that when using the input help, i get the slovak name of those keys also when English keyboard layout is set. Do we need a local gesture file, e. g. something which was posted for Turkish keyboard?

@nvaccessAuto

Comment 93 by Bernd on 2012-12-24 12:04
I created a gestures.ini for German but wasn't available to use the + sign which replaces the ] sign on German keyboards. Please see ticket #2898

@nvaccessAuto

Attachment gestures_sk.ini added by ondrosik on 2012-12-26 17:16
Description:
Slovak gestures file for new laptop keyboard

@nvaccessAuto

Comment 94 by jteh (in reply to comment 92) on 2013-01-03 06:54
Replying to ondrosik:

First some things to Userguide as this is my source for new shortcuts (I noticed later that new shortcuts were posted in this ticket, but this may help to repair things)

Thanks for reporting. Fixed in changeset:newLaptopLayout,5618.

How to click and lock the left and right mouse button? I am using the Slovak keyboard layout.

Is this fixed by the gesture map you attached?

It also doesn't work when i set the English keyboard layout.

I don't understand why it wouldn't work for English. Have you had any further luck with/thoughts about this?

@nvaccessAuto

Comment 95 by ondrosik (in reply to comment 94) on 2013-01-03 11:50
Replying to jteh:

Is this fixed by the gesture map you attached?

yes, it works fine.

I don't understand why it wouldn't work for English. Have you had any further luck with/thoughts about this?

Really not, I am switching between slovak (sk) and English (UK). When slovak (sk) is selected, In input help mode I am getting numbers but for slovak keyboard there are specific keys like ľ, š, č, ť... but for example ô is presented as ô whether the keyboard is Slovak or not.
So NVDA+[ is still nvda+ú. It seems that something is really broken in my system locale settings but no idea what's going on. Maybe Peter or Pvagner are following this ticket.

@nvaccessAuto

Comment 96 by ondrosik on 2013-01-09 20:15
I have a little suggestion for Userguide. Do we need a separated laptop column in certain sections if both are the same for whole table? I mean Voice Settings, Braille settings, Keyboard Settings, mouse settings, Review Cursor Settings, object presentation settings, browse mode settings, saving and reloading the configuration? For example
Name
Desktop key
Laptop key
Description
Use screen layout
NVDA+v
NVDA+v
This option allows you to specify...
I know that this is more related to Userguide, but now we are changing the laptop layout so this should be probably discussed too.

@nvaccessAuto

Comment 97 by Bernd on 2013-01-12 11:56
I think it would be more logical if we would use NVDA+Shift+L for report current line in review.

@nvaccessAuto

Comment 98 by jteh (in reply to comment 97) on 2013-01-14 01:00
Replying to Bernd:

I think it would be more logical if we would use NVDA+Shift+L for report current line in review.

The problem is that this breaks consistency with reporting of words and characters. This is also only logical for English speakers. While we have other commands like that, I was trying to avoid this for the basic review commands.

@nvaccessAuto

Comment 99 by jteh (in reply to comment 95) on 2013-02-01 01:30
Replying to ondrosik:

I don't understand why it wouldn't work for English. Have you had any further luck with/thoughts about this?

Really not, I am switching between slovak (sk) and English (UK). ... for example ô is presented as ô whether the keyboard is Slovak or not.

This might be fixed by 6bbcbbd.

@nvaccessAuto

Comment 100 by ondrosik (in reply to comment 99) on 2013-02-01 06:50
Replying to jteh:

This might be fixed by 6bbcbbd.

yes, i forgot to check it out after update, now it detect input lanauage correctly also when input help mode is enabled.

@nvaccessAuto

Comment 101 by jteh on 2013-02-04 05:19
Merged in b92a0a7.
Changes:
State: closed

@nvaccessAuto

Comment 102 by surveyor (in reply to comment 101) on 2013-02-05 07:54
After merging this branch into the main, I couldn't use the locale gesture commands that were usable previously. I've already attached the file including these gestures for turkish locale. I'm getting this error when I pressed the keys set for leftMouseClick, leftMouseToggle and rightMouseToggle. Error is below:
ERROR - keyboardHandler.internal_keyDownEvent (09:48:44):
internal_keyDownEvent
Traceback (most recent call last):
File "keyboardHandler.pyc", line 146, in internal_keyDownEvent
File "inputCore.pyc", line 282, in executeGesture
File "baseObject.pyc", line 34, in get
File "baseObject.pyc", line 110, in _getPropertyViaCache
File "inputCore.pyc", line 100, in _get_script
File "scriptHandler.pyc", line 110, in findScript
File "scriptHandler.pyc", line 47, in _getObjScript
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 21: ordinal not in range(128)

@nvaccessAuto

Comment 103 by norrumar on 2013-02-06 17:14
Changes:
State: reopened

@nvaccessAuto

Comment 104 by norrumar on 2013-02-06 17:19
In spanish keyboard layout, [ and ] are recognized as GRAVE and plus keys, so it is not possible to use left and right mouse buttons with the new laptop keyboard.

@nvaccessAuto

Attachment gestures.2.ini added by norrumar on 2013-02-06 17:23
Description:
This file fixes the reported bug for international spanish keyboard

@nvaccessAuto

Comment 105 by MHameed on 2013-02-06 18:32
Thanks committed as f7290ab

@nvaccessAuto

Comment 106 by jteh on 2013-02-06 22:25
For further issues regarding this, please file new tickets. Thanks.
Changes:
State: closed

@nvaccessAuto

Comment 107 by drein on 2013-02-07 08:50
for Italy, we need the same fix of spanish, because instead of [ and ], we have è and + symbol.
thank you.

@jcsteh jcsteh was assigned by nvaccessAuto Nov 10, 2015
@nvaccessAuto nvaccessAuto added this to the 2013.1 milestone Nov 10, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment