Status: Unconfirmed
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 1523 by
i...@wis.am: selection shortcuts similar to web
https://bugs.chromium.org/p/pdfium/issues/detail?id=1523What steps will reproduce the problem?
1. select text
2. press shift + ⬅/➡/⬇/⬆ arrow
or press ctrl + ⬅/➡/⬇/⬆ arrow
or press ctrl + shift + ⬅/➡/⬇/⬆ arrow
or shift + Home/End
What is the expected output? What do you see instead?
match chromium's web renderer's behavior. here's a table with complete descriptions for all selection states and shortcuts behavior for your development pleasure :) :
| shortcut \ cursor/selcetion-state | `start` cursor is before `end` cursor (forward selection) | `start` cursor is after `end` cursor (reverse selection) | `start` == `end` (no selection *) |
|-----------------------------------|--------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|-------------------------------------|
| shift + ⬅ | unselect last char | select next char after `end` (appears at the beginning of selection) | select character before cursor |
| shift + ➡ | select next char | unselect char before `end` (appears at the beginning of selection) | select character after cursor |
| shift + ⬇ | extend selection forward (down) until char below `end` cursor | shrink selection backward (down) until char vertically adjacent to `end` in the next line (visually, unrelated to newline) | select down until char below cursor |
| shift + ⬆ | shrink selection backward (up) until char above `end` cursor | extend selection forward (up) until char in the previous line that's vertically adjacent to `end` (visually, ..) | select up until char above cursor |
| ctrl + shift + ⬅ | unselect word/part-of-a-word at the end | select next word/part-of-a-word after `end` (appears at the beginning of selection) | select previous word/part-of-word |
| ctrl + shift + ➡ | extend selection from end to include next word/part-of-last-word | unselect last word/part-of-a-word of before `end` (appears at the beginning of selection) | select next word/part-of-word |
| ctrl + shift + ⬇ | extend selection forward (down) until next block's nearest char that's vertically adjacent to `end` | 1. remove reverse selection 2. select from `start` until next block's nearest char that's vertically adjacent to `end` | <- same as 2 |
| ctrl + shift + ⬆ | shrink selection backward (up) until previous block's nearest char that's vertically adjacent to `end` | extend selection forward (up) until next block's nearest character that's vertically adjacent to `end` | <- same but no extending |
| ctrl + ⬅ | | | move cursor to beginning of word |
| ctrl + ➡ | | | move cursor to end of word |
| ctrl + ⬇ | | | move cursor to previous block |
| ctrl + ⬆ | | | move cursor to next block |
| shift + End | extend selection from `end` until end of line | extend selection from `start` until end of line | <- same |
| shift + Home | multi-line: unselect last half-selected line, single-line: select from `start` until beginning of line | extend selection from `end` to beginning of line | <- same |
| End | | | move cursor to end of line |
| Home | | | move cursor to beginning of line |* `start` == `end` cursor position means nothing is selected but the cursor has a position, it could be set if a text has been clicked, the behavior described in the last column is only in contenteditable, otherwise nothing happens.
What version of the product are you using? On what operating system?
copied and pasted from chrome://version:
Chromium 81.0.4044.129 (Official Build) Arch Linux (64-bit)
Revision 3d71af9f5704a40b85806f4d08925db24605ba25-refs/branch-heads/4044@{#979}
OS Linux
JavaScript V8 8.1.307.31
Flash (Disabled)
User Agent Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36
Command Line /usr/lib/chromium/chromium --flag-switches-begin --flag-switches-end --disable-webrtc-apm-in-audio-service
Executable Path /usr/lib/chromium/chromium
Profile Path /home/wis/.config/chromium/Default
Please provide any additional information below.
in normal web mode there's no blinking cursor to show the cursor's position, however in conteneditable mode you can see a blinking cursor,
which is very useful for reading with a screen-reader, I read the web in contenteditable mode by moving the cursor with the arrow keys,
and these shortcuts to select text for my screen-reader to read out for accessibility reasons.
I would really appreciate it if you include the blinking cursor mode feature similar to the web's contenteditable mode, without the ability to edit of-course, it's a pdf after-all, just the blinking cursor,
it could be toggled with a key press or a shortcut that the embedded pdfium viewer listens to.
--
You received this message because:
1. The project was configured to send all issue notifications to this address
You may adjust your notification preferences at:
https://bugs.chromium.org/hosting/settings