Usability request : Scroll image display all the way to edges or corners

Moderator: jsachs

pierrelabreche
Posts: 414
Joined: January 29th, 2019, 11:47 pm
What is the make/model of your primary camera?: Nikon Z8

Usability request : Scroll image display all the way to edges or corners

Post by pierrelabreche »

It would be convenient to kave keyboard shortcuts to scroll the displayed image all the way, without using the scroll bars, to top, bottom, left or right edges, and also to top-left and bottom-right corners.

Suggestions, using for example the control key.
Cntrl-home : top-left
Cntrl-end : bottom-right
Cntrl-right-arrow: right edge
Cntrl-left-arrow: left edge
Cntrl-top-arrow: top edge
Cntrl-bottom-arrow: bottom edge
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Usability request : Scroll image display all the way to edges or corners

Post by jsachs »

There are a lot of ways to do this...

One option would be to re-assign the arrow keys which currently navigate around the image browser and make them scroll instead. Then I could use the 8 keys around the edge of the numeric keypad to scroll up, down, right, left or to one of the corners of the current image. This would prioritize scrolling. To navigate the image browser you could use Alt or Ctrl.

Another option is to leave the current keyboard shortcuts as they are and use the Alt or Ctrl key to select scrolling vs navigating in the image browser. Using Alt would be consistent with Alt drag scrolling the image.

Another possibility is to interpret the arrow keys depending on where you clicked last -- either in the image browser or in the main image area.

Another possibility is to add one or two buttons to the main tool bar area to select what happens when you press and arrow key.

And probably other options...

Another variation has to do with how far you scroll for each key press - 1/4 window, 3/4 window or all the way to the edge of the image. Personally, I think 1/4 window is the most useful since it is common to want to make a relatively small scroll and you can always repeat it if necessary to go further. Combining with Shift could also magnify the amount of the scroll.

Any preferences?
Jonathan Sachs
Digital Light & Color
pierrelabreche
Posts: 414
Joined: January 29th, 2019, 11:47 pm
What is the make/model of your primary camera?: Nikon Z8

Re: Usability request : Scroll image display all the way to edges or corners

Post by pierrelabreche »

First of all, thanks for considering this request ! I've numbered your items for reference.
  1. One option would be to re-assign the arrow keys which currently navigate around the image browser and make them scroll instead. Then I could use the 8 keys around the edge of the numeric keypad to scroll up, down, right, left or to one of the corners of the current image. This would prioritize scrolling. To navigate the image browser you could use Alt or Ctrl.
  2. Another option is to leave the current keyboard shortcuts as they are and use the Alt or Ctrl key to select scrolling vs navigating in the image browser. Using Alt would be consistent with Alt drag scrolling the image.
  3. Another possibility is to interpret the arrow keys depending on where you clicked last -- either in the image browser or in the main image area.
  4. Another possibility is to add one or two buttons to the main tool bar area to select what happens when you press and arrow key.
    And probably other options...
  5. Another variation has to do with how far you scroll for each key press - 1/4 window, 3/4 window or all the way to the edge of the image. Personally, I think 1/4 window is the most useful since it is common to want to make a relatively small scroll and you can always repeat it if necessary to go further. Combining with Shift could also magnify the amount of the scroll.
Here are my comments, and a more detailed suggestion.
  1. Integrating your comments, I would like the ability to :
    • Scroll or move by a small number of pixels, by a quarter or a half window, by a complete window.
    • Jump all the way to an edge
    • Jump to top left
    • Jump to bottom right
  2. The arrow keys currently have no effect unless Alt is pressed. This is an opportunity to assign an action when neither Alt or Ctrl are pressed.
  3. A numeric keypad is often not provided in ultra portable notebooks of in some compact keyboards, a more general solution is to work with the arrow keys.
  4. It is difficult for a PC user to keep up with the specific conventions of each of the programs. I suggest the keyboard shortcuts to roughly follow those of Excel for moving in a worksheet. Refer to "Move or scroll through a worksheet ...", and Keyboard shortcuts in Excel
Here is a first shot, not completely reviewed for completeness and consistency.

Scroll and zoom by using the mouse and keyboard
  • Scroll up or down : Rotate the wheel forward or back.
  • Scroll left or right: Press and hold CTRL+SHIFT and rotate the wheel forward or backward.
  • Scroll through an image with increased scroll speed: While scrolling, hold down the mouse at the farthest end of the screen for more than X seconds to increase the scrolling speed. Moving the mouse in the opposite direction slows down the scroll speed.
  • Zoom in or out: Hold down CTRL while you rotate the mouse wheel forward or back.
Use the arrow keys to scroll through an image:
  • Scroll by a small distance: hold down an arrow key to slowly move through areas of your image
  • Scroll all the way to the edges of images: Press End, then an arrow key to scroll to the edge.
  • Partial window up or down: Press PAGE UP or PAGE DOWN; alternatively then hold down CTRL while you press the UP ARROW or DOWN ARROW key.
  • Partial window left or right: Hold down CTRL while you press the LEFT ARROW or RIGHT ARROW key.
  • A large distance: Simultaneously hold down CTRL and an arrow key to quickly move through large areas of your image.
  • The distances for pixel scrolling and the partial window scrolling would be set as user preferences.
Keyboard shortcuts for moving the readout tool (only when readout tool is active):
  • Move one pixel up in an image: Up arrow key
  • Move one pixel down in an image: Down arrow key
  • Move one pixel left in an image: Left arrow key
  • Move one pixel right in an image: Right arrow key
  • Move to the edge of the current image: Ctrl+Arrow key
  • Move to the last pixel in an image, to the bottom right: Ctrl+End
  • Move to the beginning of an image, to the top left : Ctrl+Home
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Usability request : Scroll image display all the way to edges or corners

Post by jsachs »

I have taken a closer look at the use of arrow keys...

First, your assertion b is backwards (I think you meant it the other way around) -- arrow keys + Alt are currently unassigned.

A big complication is that in split screen mode there are two sets of scroll bars if the two images are different sizes so you would need to provide a way to distinguish which one you want to scroll.

The mouse wheel is already used for zooming and in some transformations for setting a slider. Using it to zoom works well now in combination with dragging the image to scroll it.
Jonathan Sachs
Digital Light & Color
pierrelabreche
Posts: 414
Joined: January 29th, 2019, 11:47 pm
What is the make/model of your primary camera?: Nikon Z8

Re: Usability request : Scroll image display all the way to edges or corners

Post by pierrelabreche »

Hi Jonathan

About point b. "The arrow keys currently have no effect unless Alt is pressed. This is an opportunity to assign an action when neither Alt or Ctrl are pressed." ... You are right : Ctrl + Arrow-key navigates the image browser. When viewing an image (not in an active transformation), after zooming, If the browser only contains a single image, Ctrl + arrow-key does nothing (I realize that this prompted my incomplete observation that Ctrl + arrow key does nothing). Also, arrow-key alone does nothing on the image display. Alt+Arrow-key scrolls the image.

In split screen mode, there should be be a user interaction to select which side of the split is active for scrolling and zooming. Perhaps the tab key could be used for switching the active split image, i.e. which split image is considered the target for scrolling and zooming. The cycling could be extended to : "image browser" -> Split Image A -> Split image B -> "image browser ...". Shift-tab should work in the reverse direction.

Finally, pressing Ctrl + Mouse-wheel to zoom is very common and "muscle memory" for many users. Both MS Edge and Google Chrome use the Ctrl + Mouse-wheel for zooming, same for MS Excel and MS Word.

As an interim solution, could you first implement a non-conflicting shortcut ( for example the sequence End, Arrow-key or Shift + Arrow-key ) to scroll all the way to an image edge ?

Another improvement would be welcome: When displaying images full-screen, it should be possible to scroll and zoom, until Esc is pressed.

Thanks
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Usability request : Scroll image display all the way to edges or corners

Post by jsachs »

You are confused on a couple of points...

1) The arrow keys and Home and End and mouse wheel are currently already assigned -- see the keyboard shortcuts listed in the help file or tutorial. While playing with this, I noticed and fixed some problems with arrow key navigation in the image browser for the next release. Shift arrow keys are also already assigned and used to move the current transformation. Ctrl and Alt are ignored for arrow keys and Home/End so they could potentially be used for something new. The current key assignments implement functions that are not duplicated by the scroll bars in the image browser and are thus have intrinsic value.

2) The tab key is already assigned and it has the Windows default behavior of moving between edit controls in dialog boxes.

I think having a key toggle the action of the arrow keys in split screen mode would be unworkable as you would have no way from looking at the screen of knowing when the arrow keys would do.

Heavily overloading the arrow keys seems like bad design -- too hard to remember what they all do, and this adds no functionality not already present with the scroll bars.

Overall, I am not seeing the value of using arrow keys to scroll given that you can already scroll two different ways: with the scroll bars or using the hand cursor with the mouse wheel, both of which work fine in split screen.
Jonathan Sachs
Digital Light & Color
johnp
Posts: 79
Joined: December 10th, 2009, 11:52 pm
What is the make/model of your primary camera?: Canon 90D

Re: Usability request : Scroll image display all the way to edges or corners

Post by johnp »

Is there a more programmable way to do this?

Maybe allow the user to the user to assign operations (method TBD) to me assigned to
function keys or other keys?

To show my age, I used a Tek 4025 terminal (which semi-sucked) but it had a fully and easily
programmed keyboard. It made up for the poor terminal.

John P
pierrelabreche
Posts: 414
Joined: January 29th, 2019, 11:47 pm
What is the make/model of your primary camera?: Nikon Z8

Re: Usability request : Scroll image display all the way to edges or corners

Post by pierrelabreche »

In reply to Jonathan

1) "The arrow keys and Home and End and mouse wheel are currently already assigned "... Ctrl and Alt are ignored for arrow keys and Home/End so they could potentially be used for something new. "
  • According to PWP documentation and confirmed by behavior of the software:
    Alt-↑ -- Scroll the main image area up, if possible
    Alt-↓ -- Scroll the main image area down, if possible
    Alt-← -- Scroll the main image area left, if possible
    Alt-→ -- Scroll the main image area right, if possible
2) "The tab key is already assigned and it has the Windows default behavior of moving between edit controls in dialog boxes.I think having a key toggle the action of the arrow keys in split screen mode would be unworkable as you would have no way from looking at the screen of knowing when the arrow keys would do."
  • The currently active sub-window (e.g. split screen A or B) could be highlighted using, for example, a different frame. Alternative to the Tab key : how about Ctrl-Tab and mouse hovering?
Heavily overloading the arrow keys seems like bad design -- too hard to remember what they all do, and this adds no functionality not already present with the scroll bars.
  • Consistency with widely used Windows programs could be less of a burden on users to remember. For example, Ctrl-mouse-wheel for zooming used by MS Office and Windows, Google Chrome, MS Edge. Same for MS Excel keyboard shortcuts for spreadsheet scrolling to the end.
Overall, I am not seeing the value of using arrow keys to scroll given that you can already scroll two different ways: with the scroll bars or using the hand cursor with the mouse wheel, both of which work fine in split screen.
  • The request is not to do something new, but to do it more easily and faster by avoiding mouse gestures.
Thanks
jsachs
Posts: 4203
Joined: January 22nd, 2009, 11:03 pm

Re: Usability request : Scroll image display all the way to edges or corners

Post by jsachs »

You are correct about Alt + Arrows -- this was handled in the resource script and not the code so I did not see it.
Jonathan Sachs
Digital Light & Color
tomczak
Posts: 1367
Joined: April 25th, 2009, 12:56 am
What is the make/model of your primary camera?: Fuji X-E2
Contact:

Re: Usability request : Scroll image display all the way to edges or corners

Post by tomczak »

I'm not sure if that has been mentioned: Shift-clicking on a scroll bars will bring the slider to the position clicked on - this could be used to scroll all the way to the edges of the zoomed-in image.
Maciej Tomczak
Phototramp.com
Post Reply