Gnome Key Binding Standard



Hi there!

I recently came across the non-existent "gnome key binding standard"
again (aka http://www.gnome.org/devel/sg/i_dont_exist_yet.html).

I thought I'd put up some proposal for that, just to make a start
(I don't know any Gnome internal status of discussion on this issue);
the following is just a draft (or "wish list") based on the
experience with various programs and on my personal needs
and thoughts.

Unfortunately, I cannot currently plan on implementing this myself
(maybe later this year...?).

The main purpose of this is to suggest a basic set of keyboard
functions; the given "possible bindings" are just examples.
Every common binding should of course be globally configurable still.
What's important is the abstract set itself.

Comments welcome!

Cheers
Alex

---

So here are the menu accelerators. I'd consider implementing some
of these (especially cut/copy/paste, maybe undo/redo) in text
entry fields as well, overriding the actual menu accelerators for
as long as the entry field has focus.

One might even consider extending the configurability of key
bindings beyond the scope of accelerators, eg to allow
configuration of keyboard functions of all GTK objects,
something like "keyboard themes" (eg wether Tab means a real
tab character or wether it will navigate you to the next object
if a text entry field is having focus).

This could then extend to mouse button functions (eg what to
use as the drag button, with possible modifiers for various
dragging modes, like move, copy, or link).

Not all of the functions should be absolutely freely configurable,
of course (eg it should avoid definition conflicts of any kind).

Also, there should be a means of detecting (and acting upon) a
collision of an application-specific non-standard menu accelerator
(for a non-standard function) with a user-configured common binding
(eg user has globally bound "find" to Ctrl+H for some reason, while
an application's default for its menu item "Display Histogram"
is also Ctrl+H); the global configuration by the _user_ should
always have precedence then (to avoid confusion and the risk of
involuntarily launching the wrong function).

And finally, any Gnome key definition should be flexible enough
to deal with old X11 style key mapping as well as the new XKB
extensions, ie be able to handle various kinds of modifiers.
Also, it should be possible to bind more than one key to the same
function for the sake of being universal.

( Overlooked or forgotten something? Certainly... )


MENU ACCELERATORS:

--------------------------------------------------------------------------
function	possible binding	equivalent to menu item
(abstract)	(set by user)		(implemented by programmer)
--------------------------------------------------------------------------

create_new	  Ctrl+N		File/New (or File/New...)

open_old	  Ctrl+O		File/Open...

save		  Ctrl+S		File/Save
				    (or File/Save_As... if no File/Save)

save_as		  Ctrl+Shift+S		File/Save_As...

print		  Ctrl+P		File/Print (or File/Print...)

print_setup	  Ctrl+Shift+P		File/Printer_Setup...
			      (or maybe File/Print_As...)

quit		  Ctrl+Q		File/Quit

---

undo		  Ctrl+Z		Edit/Undo

redo		  Ctrl+Y		Edit/Redo

cut		  Ctrl+X		Edit/Cut

copy		  Ctrl+C		Edit/Copy

paste		  Ctrl+V		Edit/Paste

delete		  DEL			Edit/Delete

sel_all		  Ctrl+A		Edit/Select_All

---

find		  Ctrl+F		Edit/Find... (dialog)

find_next	  Ctrl+G		Edit/Find_Next

find_prev	  Ctrl+Shift+G		Edit/Find_Previous

replace		  Ctrl+R		Edit/Replace... (dialog)

replace_next	  Ctrl+T		Edit/Replace_Next

replace_prev	  Ctrl+Shift+T		Edit/Replace_Previous

goto		  Ctrl+L		Edit/Goto_Line...

---

macro_create	  Ctrl+Shift+K		Macro/Record (and finish)

macro_replay	  Ctrl+K		Macro/Play

---

help		  F1 and HELP		Help/Program_Help

--------------------------------------------------------------------------


NOT IN THE PROPOSAL:

--------------------------------------------------------------------------
common key functions
not in the above list		reasons
--------------------------------------------------------------------------

close window (eg Ctrl+W)	there should be a window manager close_
				window key for this, which is sufficient
				(it should be editable there)

--------------------------------------------------------------------------

Again, comments are welcome!


-- 
__ __  __ ___________________________________________________________
  /_/\/_/
  \ \/ /                email: achenbac@stud.uni-frankfurt.de
   \ \/\
   /\ \ \
  /_/\_\/  E  L  A .
_____________________________________________________________________



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]