New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Options to toggle the braille cursor on/off and change its shape #5198
Comments
Comment 1 by jteh on 2015-07-05 22:42 I think the command should toggle both the cursor and selection. Personally, I don't think this option should be saved in config. This seems more like a temporary thing than something you would want permanently saved. In that case, there also shouldn't be a GUI option. That said, if it is something you/some others actually tend to have disabled more than you do enabled, then it should be saved to config and it should have a GUI option. Note that being a workaround for #5158 is not an acceptable reason for this to be implemented IMO. I'm trying to get Adobe to fix the issue underlying #5158, but if they don't, I'll hack around it in our Digital Editions app module. |
Comment 2 by Brendon22 (in reply to comment 1) on 2015-07-06 00:16
Yes, they do. That would set a solid precedent.
They have seprit options for each of these settings.
I would want it to be a permanently saved setting.
|
Comment 3 by dkager (in reply to comment 1) on 2015-07-06 13:49
Yes.
I agree. Contrary to comment:2, SuperNova also uses one command to toggle both.
I do indeed have the cursor turned off most of the time.
Yah. I meant that point more as "in case such a situation comes up, there is a quick fix". Another use case would be selecting text that uses dots 7 and/or 8 in braille, which you can't see when highlighting is turned on. But my real motivation is wanting to read text without any blinking dots. |
Comment 4 by bdorer on 2015-07-07 20:43 |
Comment 5 by jteh (in reply to comment 4) on 2015-07-08 04:29
But 12345678 completely obscures the character under the cursor. Is this really what is wanted? |
Comment 6 by dkager (in reply to comment 5) on 2015-07-08 09:09
Looking at SuperNova, I can set:
I can also toggle blinking on/off. Of course with blinking turned off the all dots option mightn't be the most useful one. This implies the selection cursor should remain as dots 7 and 8 or maybe only dot 8, although the latter is often used to indicate special attributes so could be confusing. Incidentally, dots 7 and 8 already obscure the capital sign in most 8-dot braille tables. Another use case for changing the cursor shape would be if you could set different shapes for focus and review, which I think Window-Eyes and JAWS let you do. But personally I prefer SuperNova's approach of not showing any at all cursor when you review the screen with braille commands. Since the mouse isn't moved as you review the screen, the extra cursor represents mostly an internal concept. |
Comment 7 by jteh (in reply to comment 6) on 2015-07-09 04:57
Oh, heh. I forgot about blinking. So you can see the actual character when the cursor blinks off. Right. I guess this could be done in this ticket if you're willing, since it will touch the same area of code. The question is what the quick command will do. Will it cycle between these options or just turn it on/off? If the latter, we'll actually need two configuration options.
I disagree. In NVDA, you can do some important stuff with the review cursor; e.g. report formatting, report character description, move mouse, etc. I know you want to bind some of these to routing keys, but we're not going to be able to bind all of them. This is one of the reasons I'm so reluctant to combine tethering review and focus or drop tether ot review, etc., though this is getting out of scope for this ticket. |
Comment 8 by dkager (in reply to comment 7) on 2015-07-09 13:33
SuperNova lets you change both independently, but in terms of code the 'no cursor' option is really a variant of the others, i.e. no dots at all. I don't know if adding two options would clutter the Braille Settings dialog too much. Your call. We shouldn't senselessly mimic other screen readers. But the advantage of having two options is that you don't need to cycle through all shapes to toggle the cursor. You just set the shape, then toggle on/off.
Ideally these actions should be performed with the cursor routing keys. This means you shouldn't have to position the cursor somewhere before querying for formatting information. However, having a cursor isn't a problem once you can turn it off. I'm only saying that there is a difference between speech and braille. This deserves its own ticket at some point. |
Comment 9 by dkager (in reply to comment 4) on 2015-07-09 17:44
I'm assuming this is only related to the 'blinking cursor', not the selection cursor? I'd say the latter should always be dots 7 & 8. |
Comment 10 by bdorer on 2015-07-09 20:52 |
Comment 11 by jteh on 2015-07-09 23:59 |
Comment 12 by dkager on 2015-07-10 18:22 |
Comment 13 by dkager on 2015-07-11 11:34
|
Comment 15 by jteh (in reply to comment 12) on 2015-07-13 01:33
That depends. For tether, see _set_tether; we need special logic to occur when tether is changed. For cursor shape, this probably isn't necessary and you can just access the value directly.
Yes, but changing it via a script triggered by, say, a braille display key (which I believe you wanted) won't cause a braille reset or even a focus change. Again, for cursor shape, this probably doesn't matter, but it certainly matters for tethering. |
Comment 16 by dkager (in reply to comment 15) on 2015-07-14 15:18
I made the scripts report a message, to conform to the other scripts. That triggers a braille display update and so the changes will be applied. This won't work if you simply change the config value on-the-fly. In other words, the cursor timer won't be stopped until the next display update. IMO this is good enough, but if it causes issues it can easily be expanded to use getters/setters. |
Comment 18 by bdorer (in reply to comment 13) on 2015-10-06 21:21
Thanks. Both options are working here. |
Comment 19 by jteh on 2015-10-21 05:23 |
Comment 20 by dkager on 2015-10-21 06:38 |
…w Show cursor and Cursor shape options in the Braille Settings dialog. Fixes #5198.
Replying to this comment.
Maybe I'm too black-and-white here. Maybe selections and cursors are the same thing where this enhancement is concerned. They are in SuperNova, but obviously that doesn't mean they're right. In the case of SuperNova it's easy to select stuff by holding down the Shift key and pressing braille cursor routing keys. If you do it that way you clearly already know what you just selected. The same could be said for using Ctrl+Shift+arrows to select text. If someone actually wants to turn off indication of the selection it should be done in this enhancement and I'll quit confusing people. Long story short, I'm OK with implementing either option but I'd like some more feedback on it. |
I'm happy to go with consensus here; I don't have a strong opinion. I do think that if someone does want to be able to disable selection for text, we shouldn't have a separate command.
This seems inconsistent. You don't care about the cursor, which means you're just reading for content. But you say you do care about selection. Why is selection special when you're just reading for content? Furthermore, how can you make a selection without knowing where the cursor is? I guess you could use cursor routing and just presume the cursor moved, but that seems odd to me. |
There are two situations related to this question:
Keeping the above in mind the most future-proof solution is to also disable the selection indicator. Now for the technical side... :) |
What comes to mind here is that it could be confusing that enabling/disabling the cursor also applies to the selection indicator, while cursor shape and blinking on/off only applies to the cursor itself. I see the point of setting dots 12345678 for a cursor, but this is non-prefered behavior for the selection indicator imo. Or am I missing something here? |
What @LeonarddeR said also makes sense. Is a selection a cursor or vice versa, or is it a different concept? Not including the selection indicator saves a bit of work, so I think I'll wait a while with trying to implement that until we are decided on this point. |
While I agree there could be confusion regarding the term cursor if it also relates to selection, we can solve this easily enough by being explicit in the option name: Show cursor/selection indicator (or similar). It seems we probably aren't going to get enough solid feedback at this stage. Therefore, I suggest we proceed with selection not being affected by show cursor, since it's more work to implement this and that'd be silly if no one cares. We can always add it later. I have one caveat, though: if it turns out that people do want to disable selection, I would want this to be controlled by the same option. We can clarify the option name to make this clear. Sound fair? |
Sounds good. If people end up wanting to disable the selection indicator I'll happily look at it. Barring that I think all that stands in the way of incubation is a small documentation change:
Instead of "all cursors" it is maybe better to say something like "all focus and review cursors" or "the cursors in focus and review mode". |
…w Show cursor and Cursor shape options in the Braille Settings dialog. Fixes #5198.
Incubated in c7394ff. |
* Alva BC6: Add more key bindings. * Alva BC6: Add detection of secondary cursor routing buttons, currently unassigned. These are virtual buttons that are triggered by a long-press of the cursor routing buttons. For backwards compatibility the original name, routing, is still used for the primary action. * Alva BC6: Update user documentation. * Alva BC6: Add two more bindings for controlling the cursor shape and state. Requires #5198. * Alva BC6: Use the new braille_toFocus script. Requires #5250. * Improve command names for the BC6 in the user guide.
Reported by dkager on 2015-07-05 15:11
It would be useful to have a way to turn off the braille cursor. Here "cursor" means both the blinking dots 7 and 8 as well as the permanent highlighting marking with the same dot pattern. This improves the reading experience if the user doesn't need to edit anything and may also be a work-around for issue #5158. In general I also find it easier to read with the cursor off even in editable text as long as I can influence where the cursor will end up myself, i.e. using cursor routing keys to position it before editing.
Things I'm not sure about:
I'd welcome all feedback on this.
Blocking #5206
The text was updated successfully, but these errors were encountered: