Created attachment 41307 [details]
Demonstration of wrong cursor movement in RTL cell
When using the cursor keys to move to next/previous cell, the direction of
movement depends on the directionality of the cell (LTR = Left to Right, or RTL
= Right To Left).
For example, when a cell is defined to have LTR direction, and the user presses
the left arrow key, the cursor moves to the previous cell (to the left).
However, if a cell is set to RTL direction, and the uses presses the left arrow
key, the cursor moves to the next cell (to the right).
This is incorrect behavior and very confusing. The user expects the cursor keys
to behave logically - progress to the next cell relative to the direction of the
table, not to the next cell relative to the direction of text in the current cell.
An example of how this behavior is very confusing:
A user creates a table in a Hebrew document. Hebrew is an RTL language and so
the direction of the document, and by default of the table, is RTL. The then
selects one of the columns and clicks the LTR tool-button, to make all cells in
the column have LTR text. This is because the column is intended for email
addresses, which are always in English.
The user then uses the left arrow key to move from the first (right-most)
column, to the next, then to the next, etc. Then the user reaches the email
column (which is LTR), and again presses the left arrow key.
The user expects the cursor to move to the next column - to the left, however
the cursor moves to the previous column! Repeated presses on the left arrow key
cause the cursor to remain "trapped" among the email column and the column that
The solution: cursor movement between cells should depend on the direction of
the table, not the direction of the text in the current cell.
it is - http://www.openoffice.org/issues/show_bug.cgi?id=55248
This is a Writer table, so I guess putting Cedric in CC would be more appropriate.
Does this bug apply to the direction of the cursor in general when navigating through RTL documents in general? As of now, the right arrow makes the cursor go right and the left arrow goes left. Is this a separate issue or the same? Also, I'm having trouble locating the code for the language directionality. Any pointers there?
(In reply to comment #3)
> Does this bug apply to the direction of the cursor in general when navigating
> through RTL documents in general? As of now, the right arrow makes the cursor
> go right and the left arrow goes left. Is this a separate issue or the same?
The bug refers only to cursor movement between table cells.
(In reply to comment #4)
> (In reply to comment #3)
> > Does this bug apply to the direction of the cursor in general when navigating
> > through RTL documents in general? As of now, the right arrow makes the cursor
> > go right and the left arrow goes left. Is this a separate issue or the same?
> The bug refers only to cursor movement between table cells.
Ok. The inversion of the arrow keys is still an issue. Right means right and left means left. A way of fixing the cell cursor movement could be to fixing the inverse arrow key movement as well. Or is that not a concern?
[This is an automated message.]
This bug was filed before the changes to Bugzilla on 2011-10-16. Thus it
started right out as NEW without ever being explicitly confirmed. The bug is
changed to state NEEDINFO for this reason. To move this bug from NEEDINFO back
to NEW please check if the bug still persists with the 3.5.0 beta1 or beta2 prereleases.
Details on how to test the 3.5.0 beta1 can be found at:
more detail on this bulk operation: http://nabble.documentfoundation.org/RFC-Operation-Spamzilla-tp3607474p3607474.html
An EasyHack should have been checked by developers and thus is confirmed regardless of age. Moving back to NEW from NEEDINFO again. Sorry for the hassle.
Seems like this is not just about table cells - it happens whenever the cursor crosses a boundary between LTR and RTL paragraphs / text runs.
Interestingly, it doesn't trigger with RTL words in an otherwise LTR paragraph - the cursor does move right when the Left key is pressed inside the RTL word, but it doesn't get trapped on the boundary.
OK, so this is actually 2 separate bugs:
1. With caret movement set to Logical, caret gets trapped between LTR and RTL text runs (not just table cells).
2. With Visual caret movement, caret is trapped at the end of an RTL cell containing LTR text.
I assume the original poster meant the 2nd bug, the 1st one can be dealt with in a separate bug report.
Removed EASYHACK from summary
adding LibreOffice developer list as CC to unresolved EasyHacks for better visibility.
see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
Restricted my LibreOffice hacking area
Please read this message in its entirety before responding.
Your bug was confirmed at least 1 year ago and has not had any activity on it for over a year. Your bug is still set to NEW which means that it is open and confirmed. It would be nice to have the bug confirmed on a newer version than the version reported in the original report to know that the bug is still present -- sometimes a bug is inadvertently fixed over time and just never closed.
If you have time please do the following:
1) Test to see if the bug is still present on a currently supported version of LibreOffice (preferably 4.2 or newer).
2) If it is present please leave a comment telling us what version of LibreOffice and your operating system.
3) If it is NOT present please set the bug to RESOLVED-WORKSFORME and leave a short comment telling us your version and Operating System
Please DO NOT
1) Update the version field
2) Reply via email (please reply directly on the bug tracker)
3) Set the bug to RESOLVED - FIXED (this status has a particular meaning that is not appropriate in this case)
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LibreOffice is powered by a team of volunteers, every bug is confirmed (triaged) by human beings who mostly give their time for free. We invite you to join our triaging by checking out this link:
There are also other ways to get involved including with marketing, UX, documentation, and of course developing - http://www.libreoffice.org/get-help/mailing-lists/.
Lastly, good bug reports help tremendously in making the process go smoother, please always provide reproducible steps (even if it seems easy) and attach any and all relevant material
adding LibreOffice developer list as CC to unresolved Writer EasyHacks for better visibility.
see e.g. http://nabble.documentfoundation.org/minutes-of-ESC-call-td4076214.html for details
Migrating Whiteboard tags to Keywords: (easyHack)
Seeing this is marked as an easy hack, but without code pointers:
Writer keyboard input for the main editing area is in general handled in SwEditWin::KeyInput(), sw/source/uibase/docvw/edtwin.cxx. Put a breakpoint at the start of the member function in a debugger, then hit the key you're interested in, that'll allow you to see where the exact code is for the actual use case.
JanI is default CC for Easy Hacks (Add Jan; remove LibreOffice Dev List from CC)
I have committed a patch to fix this issue and also tested it on my system. Please review it.
Jaskaran committed a patch related to this issue.
It has been pushed to "master":
tdf#32531 Fix for key movement in table cell of different directionality
It will be available in 5.2.0.
The patch should be included in the daily builds available at
http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
Affected users are encouraged to test the fix and report feedback.
The commit here caused bug 101361, which is rather major usability regression for RTL documents. So I’m reverting this commit and re-opening the bug until a better fix is provided.
I've seen you have already fixed Bug 101361.
Are you still working on a better fix for the current report?
(In reply to tommy27 from comment #23)
> I've seen you have already fixed Bug 101361.
> Are you still working on a better fix for the current report?
No, I’m not working on this bug.
let's put it back to NEW to see if there's someone who wants to pick it.
Sill happens in LibreOffice 5.4.1 (Debian, 64bit)
Still happens in:
Build ID: 1:5.4.2-3~bpo9+1
CPU threads: 8; OS: Linux 4.9; UI render: default; VCL: gtk2;
Locale: en-US (en_US.utf8); Calc: group
OS: Debian Stretch (Debian 9.2, with some backported packages)
Bug still manifests with:
Build ID: 5d19a1bfa650b796764388cd8b33a5af1f5baa1b
CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk2;
Locale: en-GB (en_GB.UTF-8); Calc: group threaded
Note that in the example file, pressing the right arrow while in the row with text should move you rightwards from cell to cell to cell, but in the RTL cell, you are moved back to the previous LTR cell, so right-arrow'ing puts you an infinite back-and-forth.
To make sure we're focusing on the bugs that affect our users today, LibreOffice QA is asking bug reporters and confirmers to retest open, confirmed bugs which have not been touched for over a year.
There have been thousands of bug fixes and commits since anyone checked on this bug report. During that time, it's possible that the bug has been fixed, or the details of the problem have changed. We'd really appreciate your help in getting confirmation that the bug is still present.
If you have time, please do the following:
Test to see if the bug is still present with the latest version of LibreOffice from https://www.libreoffice.org/download/
If the bug is present, please leave a comment that includes the information from Help - About LibreOffice.
If the bug is NOT present, please set the bug's Status field to RESOLVED-WORKSFORME and leave a comment that includes the information from Help - About LibreOffice.
Please DO NOT
Update the version field
Reply via email (please reply directly on the bug tracker)
Set the bug's Status field to RESOLVED - FIXED (this status has a particular meaning that is not
appropriate in this case)
If you want to do more to help you can test to see if your issue is a REGRESSION. To do so:
1. Download and install oldest version of LibreOffice (usually 3.3 unless your bug pertains to a feature added after 3.3) from http://downloadarchive.documentfoundation.org/libreoffice/old/
2. Test your bug
3. Leave a comment with your results.
4a. If the bug was present with 3.3 - set version to 'inherited from OOo';
4b. If the bug was not present in 3.3 - add 'regression' to keyword
Feel free to come ask questions or to say hello in our QA chat: https://kiwiirc.com/nextclient/irc.freenode.net/#libreoffice-qa
Thank you for helping us make LibreOffice even better for everyone!