← Back to team overview

kicad-developers team mailing list archive

Re: Indication of modifier buttons to tools and dialogs

 

Hello Jon,

I do not think that the hotkeys are a problem. The right-click menu shows how they are bound already and the right click menu is adaptable. I personally like the way that works a lot.

It is more a problem regarding the modifiers, Ie buttons that must be held while doing something, they are not selecting stuff, but modifiying already existing functionality, usually slightly.

- Kristoffer

On 03/15/2017 02:29 PM, Jon Evans wrote:
Hi Kristoffer, John,

I agree this is an important problem to solve.

I am not convinced that this is the perfect solution, but I wanted to
share a way a commercial tool does it.
Here's a screenshot from Mentor Graphics Xpedition showing what I mean:
http://i.imgur.com/H0wDK0F.png

At the bottom of the screen is a list of keyboard shortcuts, that change
based on what you are doing.  So, when you are in "place components"
mode the list is different than if you are routing a track, for
example.  The developers chose the most common things to do for each
"tool" that can be active, and assigned them to function-keys.

Note that in Xpedition, the hotkeys themselves change, i.e. the icons on
the bottom of the screen always correspond to the function keys F1-F12.
But, even without adopting that scheme (which would conflict with some
of our existing hotkeys), we could use the UI concept of a larger "quick
reference" to hotkeys (I'm including mouse actions in the definition of
hotkeys here) at the bottom of the screen, for example a quick mockup:
http://i.imgur.com/wB0Yecy.png

Then we would just need to define up to N hotkeys for each tool / tool
mode that should be hinted to the user. (Where N is some number that
looks not too cramped)

-Jon


On Wed, Mar 15, 2017 at 7:11 AM, Kristoffer Ödmark
<kristofferodmark90@xxxxxxxxx <mailto:kristofferodmark90@xxxxxxxxx>> wrote:

    Yes, the status line is way to small it. However it could maybe be
    used to show which modifiers are in use. Not what they do.

    I believe that knowing which modifiers are in use would be enough,
    because many modifiers would probably be very self explanatory once
    activated, for example the angle-snap, having a grid snap etc.

    Then the idea of having an explanatory panel available somehow
    on-demand would probably be best.

    Attached is an idea mockup for putting on the left side in the
    status line.

    It shows when the arc tool is active and has ctrl and shift modifers
    where ctrl is currently held and angle snap-active.



    On 03/15/2017 12:11 PM, John Beard wrote:

        Hi Kristoffer,

        I agree that the "secrecy" of KiCad shortcuts is a pretty major
        issue.
        It serves to make people good at KiCad think it's great, while new
        users struggle (probably in silence) because they don't know
        there's a
        better way.

        Expanding documentation is important here (he says, not having
        documented his new features yet) but it's unreasonable to expect
        users
        to wade through hundreds of screens of prose to be told incidentally
        that the arc tool snaps angles when you hold control.

        I certainly think some sort of easily accessible (at minimum
        hotkey +
        some sort of obvious visual affordance) method for a user to get
        contextual help is very important. Ideally something that doesn't
        break the user's flow. Popping a dialog that you have to dismiss
        is a
        little clunky, I feel. Perhaps some sort of panel that appears only
        while you're holding a key down?

        I'm not a huge fan of the Inkscape-style status line, though it's
        certainly better than nothing. It feels squeezed to me, since the
        information is really more like a list of possible modifiers than a
        one-liner. We do have a little area of the status bar that tells you
        what tool you're in, but that's nowhere near big enough to naively
        plonk screeds of text.

        tl;dr agree but no ideas yet!

        Cheers,

        John

        On Wed, Mar 15, 2017 at 6:34 PM, Kristoffer Ödmark
        <kristofferodmark90@xxxxxxxxx
        <mailto:kristofferodmark90@xxxxxxxxx>> wrote:

            Hello all!

            I just wanted to highlight an emerging problem to catch it
            in its cradle.

            The new tool and dialog patches that has been merged are
            great. But they
            also introduce secret functionaly, examples:

            Ctrl + click:   highlights net ( modifier to select tool )
            ctrl + drag:    snap angles in arc tool
            shift + click:  adds/removes to selection in select mode
            shift + scroll: changes increment values in 3d-previewer

            These are the few examples I found right now, what I would
            like to see is a
            standardized way of informing the users to this before more
            tools get these
            hidden functionality.

            The way that current shortcuts are indicated I think are
            great ( the grey
            text next to their selection in menus Maybe we could expand
            on this to
            create tooltips to the menus with a list of modifier keys
            for the hovered
            tool in the menu.

            Another way that Gimp uses is to put this information at the
            bottom
            information bar, Maybe we could do that as well by modifying
            the current
            position information bar

            Yet another way would be to have tool specific settings
            given screen
            real-estate, much in the way of gimp and inkscape.

            At least I think this issue should be addressed and agreed
            upon before tools
            specify their different modifiers willy-nilly all over the
            place and you
            need a kicad-phd to remember them all. Just having an idea
            on how to do it
            can enable a good team-effort of supporting it.

            --
             -Kristoffer

            _______________________________________________
            Mailing list: https://launchpad.net/~kicad-developers
            <https://launchpad.net/~kicad-developers>
            Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
            <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
            Unsubscribe : https://launchpad.net/~kicad-developers
            <https://launchpad.net/~kicad-developers>
            More help   : https://help.launchpad.net/ListHelp
            <https://help.launchpad.net/ListHelp>


    --
     -Kristoffer

    _______________________________________________
    Mailing list: https://launchpad.net/~kicad-developers
    <https://launchpad.net/~kicad-developers>
    Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
    <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
    Unsubscribe : https://launchpad.net/~kicad-developers
    <https://launchpad.net/~kicad-developers>
    More help   : https://help.launchpad.net/ListHelp
    <https://help.launchpad.net/ListHelp>



--
 -Kristoffer


Follow ups

References