Change cursor appearance to hint at functionality

Issue #181 new
Anastasia Baryshnikova created an issue

Feature request from one of our alpha-testers (Justin Nelson).

I know we have a few shortcuts already, but how can we teach people how to use them? Rob had a great suggestion of changing the cursor shape when specific keys are pressed. Another way may be to show clues next to the navigation buttons when specific keys are pressed. For example, when you press Alt, this message appears next to the navigation buttons:

Press Alt + scroll up to zoom in on this region

[I'm making this up, just to give you an idea]

Comments (8)

  1. Christopher Keil repo owner

    Btw for this I would probably not use a KeyListener, but InputMap and ActionMap for Swing panels in the same way addKeyBindings() is done in DendroController or MatrixViewController, especially since these 2 objects already exist in these classes. It also allows to use modifiers etc. This is a good summary of the difference between the two ways of dealing with keyboard input: https://stackoverflow.com/questions/20873255/keylistener-vs-key-bindings

    The actions mapped to the buttons will then just execute setCursor(cursor type) and that's it. If you look at this documentation you can define the keystroke to trigger the action either by key release or key press.

    So 2 small action objects can be created, one for setting the new cursor and one for resetting the cursor to normal on release, and used for each key stroke type. The reset action can be reused for all button keystrokes that set different cursors.

  2. Log in to comment