2012/11/13 Eli Zaretskii <[email protected]> > > Trying to display everything that you could do (insertion, backward or > > forward deletion, or just a non-editing move), and that has still not > been > > decided by the user will just complicate things for everyone. Stay > focused > > only to correctly render the current state on each side of the insertion > > point, and nothing else. > > The focus should be on helping the user.
Yes that's exactly the point : helping the user interpret in which state he is **currently** in the text editor (or text reader, if the caret(s) are just there to allowing navigating and selecting text in a read-only document). The help of two carets is needed because there's even an ambiguity about simple moves: using left and right arrow function keys, which should be repeatable throughout the same paragraph, even if the LEFT arrow appears to move visually to the right due to a change of visual direction in the logical encoding. But showing everything he could do after will not help : too much information kills the information, and the user may not even perform an editing action (just a move action, or starting a text selection, or performing a deletion in either directions, or inserting some text, not necesarly a single character). Note that text editors may have different conventions (or configurable user preferences) here about how to map the LEFT and RIGHT move function keys : going strictly in the direction indicated by the arrow key, or going to the same forward/backward logical direction : * for text editors in read-only mode, it is probably better to use a consistant logical direction, to allow faster navigation and reading by constantly pressing the same key (which however may be chosen as the LEFT or RIGHT arrow key, according to the UBA direction determined at the start of the whole document; some editors may chose the LEFT and RIGHT arrow key mapping at the paragraph level, using the visual direction determined by the UBA at the start of the paragraph). * for text editors working in read-write mode, it is probably better to use a consistant visual direction for mapping the LEFT and RIGHT move keys ; but BACKSPACE should still delete in the backward logical direction (same keystroke used for immediate corrections of a bad keystroke) which is left or right according to UBA resolution, and the DELETE key should still delete in the forward logical direction (also left or right visually depending on UBA resolution).

