← Back to team overview

kicad-developers team mailing list archive

Re: Indication of modifier buttons to tools and dialogs

 

It's a thought, I will play with it to see.  I think there might be some
situations where the suggested help we would want to show is different when
no objects are selected vs. when one or more objects are selected, so it
would conflict in that case.

But, I know there is an object properties system on the roadmap... I assume
that will also involve some new GUI, since the message panel is not really
the right way to display editable properties.  Maybe once that comes to
exist, the former message panel can be a (hide-able) contextual help panel?

-Jon

On Wed, Mar 15, 2017 at 9:22 AM, Wayne Stambaugh <stambaughw@xxxxxxxxx>
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
>

References