← Back to team overview

kicad-developers team mailing list archive

Re: Indication of modifier buttons to tools and dialogs

 

I like this. This seems like a good way. Althougt there are a lot of unused space in my status bar ( the one that shows z: x and y, adn dx and dy. Which was where i wanted some small tool status indication.

On 03/15/2017 03:22 PM, Wayne Stambaugh wrote:
Why not just use the current message panel?  You could show the modifier
keys and hotkeys for the current tool immediately after the tool is
selected before any object action takes place.  Once an object is
selected by the current tool, it will just replace the tool help with
the object properties as it currently does. This gives the user a chance
to see the modifier keys before performing any actions.  When the user
learns the tool immediate hotkey, the tool help would no longer be seen
because it would be replaced by the object properties immediately.  I
would think that once a user was comfortable enough to use the hotkey,
they would already be aware of the modifier keys.  Just food for
thought.  I'm not a be fan of using valuable screen area to display help
information.

On 3/15/2017 10:06 AM, Jon Evans wrote:
Yes, that's what I meant, it would be for the current mode, and would
change based on what you are doing.  It would also be hide-able so that
advanced users get the screen real estate back.

There are no problems with combined modifiers, you just list each action
in a different box.  In fact, you could even have the modifiers change
the box, so when you hold down the Ctrl key, it shows you exactly what
will happen when you do various things with it held down

Maybe once I have some more things done off my to-do list I will spend
some more time making a mockup of this.

Best,
Jon

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

    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>
        <mailto: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>>
                <mailto: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>>
                        <mailto: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>>
                            <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>>
                            <mailto: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>>
                            <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>>
                            <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>>
                    <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>>
                    <mailto: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>>
                    <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>>
                    <https://help.launchpad.net/ListHelp
        <https://help.launchpad.net/ListHelp>
                <https://help.launchpad.net/ListHelp
        <https://help.launchpad.net/ListHelp>>>



            --
             -Kristoffer



    --
     -Kristoffer




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


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


--
 -Kristoffer


Follow ups

References