User interaction implementations

From Create Wiki

Jump to: navigation, search

This page is supposed to be a reference for those developers, who are considering a new common standard for any kind of user-application interaction. It should give you a summary of what others do in that area. See also Common User Access (CUA)

Contents

Abbreviations

LMB - left mouse button
MMB - middle mouse button
RMB - right mouse button

Zooming

Here is how zooming is implemented in different opensource applications.

Table 1-1. Zooming - Incremental from keyboard
Application Behaviour
Cinepaint + to zoom in, - to zoom out, whole number multiples / divisors: 3:1 2:1 1:1 1:2 1:3 1:4, 1 for 1:1
GIMP + to zoom in, - to zoom out (numpad +/- does not work). 0-2-4-6-9-13-18-25-33-50-67-100%, then by 50% each step, 1 for 1:1 zoom ratio
Inkscape + - zoom in, - - zoom out (numpad +/- works) - by 50% each
Karbon14 Ctrl++ - zoom in (factor 1.5), Ctrl+- - zoom out (factor 0.75)
Krita  ???
Scribus Ctrl++ - zoom in (factor 100%), Ctrl+- - zoom out (factor 100%)
sK1 F2 and select zoom area for zoom in. F3 - zoom out
Skencil < - zoom out (factor 0.5), > - zoom in (factor 2)
Blender  ???
Audacity Ctrl+1 - zoom in, Ctrl+2 - zoom normal, Ctrl+3 - zoom out


Table 1-2. Zooming - Incremental with mouse
Application Behaviour
Cinepaint currently none
GIMP Ctrl + mouse wheel, same steps as from keyboard
Inkscape Ctrl + mouse wheel, by 50% each rotation step
Karbon14  ???
Krita  ???
Scribus Ctrl + mouse wheel, by 100% each rotation step
sK1 Shift + mouse wheel
Skencil Not implemented
Blender  ???
Audacity  ???
Table 1-3. Zooming - By presets
Application Behaviour
Cinepaint <image menu> -> View -> Pan Zoom Window, 5 free selectable presets, remember with ctrl + #
GIMP in menu View - Scale: incremental zoom out (-), incremental zoom in (+), fit image to window (Shift+Ctrl+E), Fit window to image (Ctrl+E), 16:1, 8:1, 4:1 (Alt+4), 2:1 (Alt+2), 1:1 (1), 1:2, 1:4, 1:8, 1:16, Other... . Presets are configurable
Inkscape 1 - 1:1, 2 - 1:2, 3 - zoom to selection, 4 - zoom to drawing, 5 - zoom to page, 6 - zoom to page width, ` - previous zoom, Shift + ` - next zoom
Karbon14 zoom to page width, zoom fit whole page, 25%, 50%, 100%, 200%, 300%, 400%, 800%
Krita  ???
Scribus Ctrl + 0 - fit page in window, Ctrl + 1 - zoom to 100%, rest of possible presets are configurable
sK1  ???
Skencil Menu View: 100%, zoom out (<), zoom in (>), submenu Zoom with some predefined zoom factors, fit drawing to window (Shift + F4), fit selection to window (Ctrl + F4), fit page to window (F4), restore previous view (F3)
Blender  ???
Audacity  ???
Table 1-4. Zooming - From menu/toolbar
Application Behaviour
Cinepaint <image menu> -> View -> Zoom -> [16:1,8:1,4:1,2:1,1:1,1:2,4:1,8:1,16:1]
GIMP in menu View - Scale: incremental zoom out (-), incremental zoom in (+), fit image to window (Shift+Ctrl+E), Fit window to image (Ctrl+E), 16:1, 8:1, 4:1 (Alt+4), 2:1 (Alt+2), 1:1 (1), 1:2, 1:4, 1:8, 1:16, Other... . Presets are configurable
Inkscape Presets are present in View menu, Commands toolbar contains zoom to selection/drawing/page buttons only, both incremental zoom in/out and presets buttons are available in context sensitive toolbar for Zoom tool
Karbon14 presets are present in View menu and View toolbar
Krita  ???
Scribus Navigation toolbar in the bottom has percentage spinbox, 1:1 button and -/+ buttons - incremental by 100%
sK1  ???
Skencil Presets in menu View, Zoom tool available in toolbar or via the View menu as Zoom area
Blender  ???
Audacity  ???
Table 1-5. Zooming - by a zoom tool
Application Behaviour
Cinepaint from Toolbox, LMB to zoom in, Shift + LMB to zoom out
GIMP Available from toolbox and Tools menu, no hotkey by default, zoom in by default, LMB to zoom in, Ctrl+LMB to zoom out, Drag LMB to zoom to selection
Inkscape Available from toolbox or Z hotkey, zoom in by default, LMB to zoom in, Shift+LMB to zoom out, Drag LMB to zoom to selection
Karbon14 available from toolbox, LMB to zoom in, RMB to zoom out, Drag LMB to zoom to selection
Krita  ???
Scribus Available from toolbox or Z hotkey, LMB to zoom in, Shift+LMB to zoom out— +/- 25% each step, Drag LMB to zoom to selection
sK1  ???
Skencil Zoom tool in the toolbar or from menu: LMB to zoom in, Ctrl+LMB to zoom out— factor of 2 each step, Drag LMB to zoom to selection
Blender  ???
Audacity  ???

Panning

Here is how panning is implemented in different opensource applications.

Table 2-1. Panning - from keyboard
Application Behaviour
Cinepaint none
GIMP in Zoom tool mode arrow keys scroll view in respective directions, Shift+arrow keys scroll with a larger step, Ctrl+arrow keys scroll to borders of an image
Inkscape in any mode Ctrl+arrow keys scroll view in respective directions
Karbon14  ???
Krita  ???
Scribus Page Up/Down scroll up or down respectively
sK1  ???
Skencil Scroll up/down with PageUp/PageDown or mouse wheel. Otherwise use scrollbars
Blender  ???
Audacity  ???
Table 2-2. Panning - with a mouse
Application Behaviour
Cinepaint Drag MMB to pan around
GIMP Either press Spacebar and pan with a mouse, or Drag MMB to pan around. This is a configurable behaviour.
Inkscape Drag MMB to pan around
Karbon14  ???
Krita  ???
Scribus Push Space down, hold it and pan around with LMB
sK1  ???
Skencil Not implemented
Blender  ???
Audacity  ???

Resizing

Here is how resizing is implemented in different opensource applications.

Table 3-1. Resizing - with mouse
Application Behaviour
Cinepaint  ???
GIMP Ctrl keeps ratio (interactive Resize Tool)
Inkscape/SVN Draging the scale handles with Alt now scales selection by an integer factor, i.e. up to 2, 3, 4, etc. times the original size or

down to 1/2. 1/3, 1/4, etc. of the original size. Shift transforms selection around the center, Ctrl keeps ratio.

Karbon14 Alt and Ctrl aren't used, Shift keeps ratio.
Krita  ???
Scribus Alt isn't used, Shift transforms the object to a square, Ctrl keeps ratio.
sK1 As of SVN trunk, ratio is always kept, when you drag corner handles
Skencil  ???
Blender  ???


Tools hotkeys

Table 4-1. Bitmap graphics applications
Tool Cinepaint GIMP Krita
Rect Select  ??? R  ???
Ellipse Select  ??? E  ???
Free Select  ??? F  ???
Fuzzy Select  ??? Z  ???
Select By Color  ??? Shift+O  ???
Scissors I I  ???
Paths  ??? B  ???
Color Picker  ??? O  ???
Magnify  ???  ???
Measure  ???  ???
Move  ??? M  ???
Copy & Resize  ??? Shift+C  ???
Rotate  ??? Shift+R  ???
Scale  ??? Shift+T  ???
Shear  ??? Shift+S  ???
Perspective  ??? Shift+P  ???
Flip  ??? Shift+F  ???
Text T T  ???
Bucket Fill  ??? Shift+B  ???
Blend  ??? L  ???
Pencil  ??? N  ???
Paintbrush  ??? P  ???
Eraser  ??? Shift+E  ???
Airbrush  ??? A  ???
Ink  ??? K  ???
Clone  ??? C  ???
Convolve  ??? V  ???
Smudge  ??? S  ???
Dodge/Burn ??? Shift+D  ???
Spline S  ???  ???
Heal N/A H  ???
Perspective clone N/A -  ???



Table 4-2. Vector graphics applications/DTP
Tool Inkscape Karbon14 Scribus sK1 Skencil
Select S  ??? C  ??? Space (toggles between some tools) (+ S in 0.7.x)
Node editor N  ??? not present  ??? Space (toggles between some tool) (+ E in 0.7.x)
Zoom Z  ??? Z  ??? Z (0.7.x)
Draw rectangular R  ??? S - shape, P - polygon  ??? R
Draw ellipse E  ??? S - shape, P - polygon  ??? C ("circle") (0.7.x)
Draw star *  ??? S - shape, P - polygon  ??? not present
Draw spiral I  ??? S - shape, P - polygon  ??? not present
Freehand P  ??? F  ??? F (tool only in 0.7.x)
Bezier curve B  ??? B  ??? B (0.7.x)
Lines B  ??? L  ??? L (0.7.x)
Calligraphic C  ??? not present  ??? not present
Gradient G  ???  ???  ??? not present as tool
Bucket fill U  ???  ???  ???  ???
Text T  ???  ???  ??? T (0.7.x)
Connector O  ??? not present  ??? not present
Dropper D  ??? Y  ??? not present
 ???  ???  ???  ???  ???  ???
 ???  ???  ???  ???  ???  ???
 ???  ???  ???  ???  ???  ???
 ???  ???  ???  ???  ???  ???


Table 4-3. 3D applications
Tool Blender
 ???  ???
 ???  ???
Table 4-4. Audio/MIDI applications
Tool Audacity
Selection F1
Envelope editor F2
Sample editor F3
Zoom F4
Shift F5
Multi-instrument mode F6
Personal tools