← Back to team overview

kicad-developers team mailing list archive

Re: Indication of modifier buttons to tools and dialogs

 

I was thinking the message panel above the statusbar rather than the
statusbar.  The message panel is already kind of a general purpose
messaging area.  Although it is primarily used for object property
display, it is also used to indicate file saves and other transient
messages.

On 3/15/2017 10:50 AM, Kristoffer Ödmark wrote:
> 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
>>
> 


References