Keyboard Shortcut Design

From K-3D

Jump to: navigation, search

Overview

Our current mechanism for editing keyboard shortcuts is problematic: shortcuts can only be assigned to menu items, and the current behavior is unreliable - see bug http://sourceforge.net/tracker/index.php?func=detail&aid=1635916&group_id=11113&atid=111113

In a nutshell, it seems that GTK-style editing for shortcuts (highlight a menu item, then hit a key while it's still highlighted) is unreliable, and likely poorly maintained. It is telling that I couldn't find any GTK application that intentionally uses this functionality.

Inkscape

Inkscape does not provide in-program editing of shortcuts at all. All customization is through an XML configuration file, see /usr/share/inkscape/keys/default.xml. A sample:

<?xml version="1.0"?>
<keys name="Inkscape default">

  <bind key="n" modifiers="Ctrl" action="FileNew" display="true"/>
  <bind key="N" modifiers="Ctrl" action="FileNew" />
  
  <bind key="o" modifiers="Ctrl" action="FileOpen" display="true"/>
  <bind key="O" modifiers="Ctrl" action="FileOpen" />
  
  <bind action="FileRevert" />
  
  <bind key="s" modifiers="Ctrl" action="FileSave" display="true"/>

... and-so-on ...                                                                                      

Gnome Desktop

The Gnome desktop uses a relatively plain shortcut editor:

Gnome Desktop shortcut editor.

Gnome Terminal

Gnome Terminal uses an even simpler shortcut editor functionally similar to the Gnome desktop:

Gnome Terminal shortcut editor.

The GIMP

The GIMP provides a more elaborate editor that mirrors the menu hierarchy and includes menu icons:

The GIMP shortcut editor.

Open Office

Open Office has a shortcut editor that hurts just looking at it:

Open Office shortcut editor.

Umbrello UML Modeler

Umbrello is a KDE (Qt) application:

Umbrello UML modeler.