← Back to team overview

kicad-developers team mailing list archive

Re: Indication of modifier buttons to tools and dialogs

 

Yes, you are correct, but putting the buttons and their function in the same box would get problems with combined modifiers shift+ctrl options etc.

But I was thinking of only showing current mode and not all possible modes at the same time. Mostly you would learn them anyway kinda quick, you would only need to know they can be learned. by indicating which buttons are available as modifiers in this tool.

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

I didn't show in my mockup, but you could easily use a UI like this to
show modifier keys info as well.

-Jon

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

    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>
        <mailto: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>
                <mailto: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>
                    <https://launchpad.net/~kicad-developers
        <https://launchpad.net/~kicad-developers>>
                    Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
        <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
                    <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx
        <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>>
                    Unsubscribe :
        https://launchpad.net/~kicad-developers
        <https://launchpad.net/~kicad-developers>
                    <https://launchpad.net/~kicad-developers
        <https://launchpad.net/~kicad-developers>>
                    More help   : https://help.launchpad.net/ListHelp
        <https://help.launchpad.net/ListHelp>
                    <https://help.launchpad.net/ListHelp
        <https://help.launchpad.net/ListHelp>>


            --
             -Kristoffer

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



    --
     -Kristoffer



--
 -Kristoffer


Follow ups

References