← Back to team overview

kicad-developers team mailing list archive

Re: Indication of modifier buttons to tools and dialogs


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:

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:

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)


On Wed, Mar 15, 2017 at 7:11 AM, Kristoffer Ödmark <
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> 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
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
> --
>  -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

Follow ups