Symbol properties dialog - can't exit Fields grid using keyboard

Bug #1810569 reported by Ben Gamari
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Committed
Low
Jeff Young

Bug Description

Currently (as of 5.0.1) the schematic editor's symbol properties dialog essential requires the use of the mouse. There is no reason why this should be the case: most programs assign keystrokes to UI elements accessible with combinations of Alt and letter keys which when pressed give focus to the element.

Tags: eeschema ui
Ben Gamari (bgamari)
description: updated
Revision history for this message
Ben Gamari (bgamari) wrote :

I've not yet verified this but it's possible that this has been fixed in master by c8b02674dcc80b19c7f8af94ddd5cd3027b17373.

Revision history for this message
Seth Hillbrand (sethh) wrote :

Please add your KiCad version information

Changed in kicad:
status: New → Incomplete
Revision history for this message
Ben Gamari (bgamari) wrote :

Done.

description: updated
Changed in kicad:
status: Incomplete → New
Revision history for this message
Seth Hillbrand (sethh) wrote :

We can use keyboard to move around the grid but can't exit the grid.

I think we should use arrow keys in the grid and tab between items. Otherwise we don't have a keyboard shortcut to move to the next item.

@Ben- Here is the version information we need to help work with the reports. You can get this from Help->About KiCad
Application: kicad
Version: (6.0.0-rc1-dev-1489-gcec97ebfa6-dirty), release build
Libraries:
    wxWidgets 3.0.4
Platform: Linux 4.18.0-3-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=OFF
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Changed in kicad:
importance: Undecided → Low
milestone: none → 5.1.0
status: New → Triaged
summary: - Symbol properties dialog unusable with keyboard
+ Symbol properties dialog - can't exit Fields grid using keyboard
Revision history for this message
Ben Gamari (bgamari) wrote :
Download full text (10.6 KiB)

> Thanks,
> Tamar
>
> On Thu, Dec 27, 2018 at 6:27 AM Ben Gamari <email address hidden> wrote:
>
>> TL;DR. https://gitlab.haskell.org/ghc/ghc.git is now the official
>> upstream GHC repository. Various introductory notes are
>> discussed. Let me know if you have any trouble.
>>
>> Also, please do verify the correctness of the email address
>> associated with your Trac account in the next few weeks. It will
>> be used to map users when we transition Trac tickets to GitLab.
>>
>>
>>
>> Hello everyone,
>>
>> I am happy to announce that CI on GHC's GitLab instance [1] is now
>> stable. At this point https://gitlab.haskell.org/ghc/ghc.git is to be
>> considered the official upstream repository of GHC.
>>
>> The rest of this email is meant to serve as a brief introduction and
>> status update. It can also be viewed on the GitLab Wiki [2].
>>
>> [1] https://gitlab.haskell.org/
>> [2] https://gitlab.haskell.org/ghc/ghc/wikis/welcome
>>
>>
>> # Getting started
>>
>> To get started on GitLab you will first want to either create a new account
>> [1] or login with your GitHub credentials [2].
>>
>> Once you have an account you should add an SSH key [3] so that you can push
>> to your repositories. If you currently have commit rights to GHC notify me
>> (Ben Gamari) of your user name so I can grant you similar rights in GitLab.
>>
>>
>> [1] https://gitlab.haskell.org/users/sign_in
>> [2] https://gitlab.haskell.org/users/auth/github
>> [3] https://gitlab.haskell.org/profile/keys
>>
>>
>> # Updating your development environment
>>
>> You can updated existing working directory (assuming the usual upstream
>> remote name of `origin`) for the new upstream repository location by
>> running the following:
>>
>> git remote set-url origin https://gitlab.haskell.org/ghc/ghc.git
>> git remote set-url --push origin <email address hidden>:ghc/ghc
>>
>> This is all that should be necessary; a quick `git pull origin master`
>> should verify that everything is working as expected.
>>
>>
>> # Continuous integration
>>
>> Continuous integration is now provided by GitLab's native continuous
>> integration infrastructure. We currently test a variety of
>> configurations, including many that neither Phabricator nor
>> CircleCI/Appveyor previously tested (see [1] for an example run):
>>
>> * With the make build system:
>> * x86_64/Linux on Fedora 27, Debian 8, and Debian 9
>> * i386/Linux on Debian 9
>> * aarch64/Linux on Debian 9 (currently broken due to a variety of
>> issues)
>> * x86_64/Windows
>> * x86_64/Darwin
>> * x86_64/Linux on Debian 9 in a few special configurations:
>> * unregisterised (still a bit fragile due to #16085)
>> * integer-simple
>> * building GHC with -fllvm
>> * With Hadrian:
>> * x86_64/Linux on Debian 9
>> * x86_64/Windows (currently broken due to #15950)
>>
>> We also run a slightly larger set of jobs on a nightly basis. Note that
>> binary distributions are saved from most builds and are available for
>> download for a few weeks (we may put in place a longer retention policy
>> for some builds in the future).
>>
>> There are admittedly a few ki...

Revision history for this message
Ben Gamari (bgamari) wrote :

Sigh, my apologies. That was not what I intended to paste.

Below is the Kicad version information.

Application: kicad
Version: 5.0.0, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.62.0 OpenSSL/1.0.2p zlib/1.2.11 libssh2/1.8.0 nghttp2/1.32.0
Platform: Linux 4.19.12 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.60.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.62.0
    Compiler: GCC 7.3.0 with C++ ABI 1011

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=OFF
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Revision history for this message
Ben Gamari (bgamari) wrote :

> We can use keyboard to move around the grid but can't exit the grid.

> I think we should use arrow keys in the grid and tab between items. Otherwise we don't have a keyboard shortcut to move to the next item.

Navigation with the tab key is nice however what we really need is a keyboard accelerator for each UI element.

For instance, consider the workflow to add a new field to a symbol. Currently (as of Kicad 5.0.1) this requires that one uses the mouse to click on the + button, then (again with the mouse) select the Field Name text box.

It should be possible to accomplish this without leaving the keyboard. I would think I should be able to press (for instance) Alt+A to activate the + button, then Alt+N to select the Field Name, then tab to move focus to Field Value. Or even better: pressing the + button could automatically give focus to the Field Name field.

Revision history for this message
Jeff Young (jeyjey) wrote :

Ctrl-Tab exits the grid on Mac. Does this not work on other platforms?

It's true that we have no accelerator for Add, but once you do add the Field Name is selected automatically and a Tab will move to the Field Value. (Again, at least on Mac....)

Revision history for this message
Seth Hillbrand (sethh) wrote :

Nope. I'm pretty sure that Ctrl-Tab cycles the visible application windows on MSW and it does nothing for linux.

Revision history for this message
Wayne Stambaugh (stambaughw) wrote :

@Seth, I think you mean Alt-Tab. Ctrl-Tab does not exit the grid on windows. Ctrl+Enter is the same as clicking the default button so for most dialogs that would be the OK button.

tags: added: ui
Revision history for this message
Seth Hillbrand (sethh) wrote :

This is not critical for v5.1

Changed in kicad:
milestone: 5.1.0 → 6.0.0-rc1
Revision history for this message
John Beard (john-j-beard) wrote :

KiCad UI guidelines[1] recommend the GNOME HIG[2], which states:

> Ctrl+Tab and Shift+Ctrl+Tab:

> Moves keyboard focus out of the enclosing widget to the next/previous control, in those situations where Tab alone has another function

So, at least on Linux, Ctrl-Tab would be the "expected" key to exit a grid to move to the "next" field.

[1]: http://docs.kicad-pcb.org/doxygen/md_Documentation_development_ui-policy.html
[2]: https://developer.gnome.org/hig/stable/keyboard-input.html.en

tags: added: eeschema
Revision history for this message
Jeff Young (jeyjey) wrote :

I believe I've hooked up ctrl-tab to work in MSW and GTK. (I can't be 100% sure, as I can only test on OSX.)

Changed in kicad:
assignee: nobody → Jeff Young (jeyjey)
status: Triaged → In Progress
Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision cda3a82c668ca66b7d22ebc4b4a7040b90456509
https://git.launchpad.net/kicad/patch/?id=cda3a82c668ca66b7d22ebc4b4a7040b90456509

Changed in kicad:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.