Making Keyboard Mapping Easier to Manage and Navigate

Related to the discussion from Establish Default Keyboard Shortcuts:

Note To Users: This conversation stated on Github, but I moved it here to help clean up the tracker and help it focused on bugs of MyPaint

@odysseywestra Started:

Currently using the Keyboard Mapping tool in the preference window is not easy to navigate or to manage. Even though having everything in alphabetical order and searchable is a good start, yet it still feels overwhelming.

My Proposal is to adapt the layout to that of Gnome Shell’s built-in keybaord shortcut editor. It organizes the keyboard shortcuts into specific categories.

We could categorize our shortcuts by where they are in the main menus. That should make navigation easier. Here is a mockup of what I am proposing:

So what needs to be done to make this possible?

@achadwick replied

I don’t want to do too much with the old GtkAction interface before we move to GtkApplication /GAction/GMenuModel. This is something that will already need a huge rewrite.

GActions don’t know where they live in their menu, though you could interrogate the GMenuModel structure to find out.

For me, a better interface to searching is the way forward here.

@odysseywestra replies:

Yeah I understand your thinking on this. I didn’t know it was using the old GtkAction interface so yeah I can understand your hesitation on this since it would require a rewrite. I really wish I could write python/GTK right now.

To me it just feels disorganized as it now stands from a UI perspective. If we could organize the GActions via GMenuModel that would at least make the order bearable to scroll through at least. Having this and a better search interface would be a great to improve this.

Here’s my mockup of this:

So what are your guys thoughts? What are your guys ideas in implementing this?