diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp
index 1aca1216ea8ccdc35614daa62ebc92766bd45202..f1c613f21f96fd1a92d172bc7be657a16b9bcb2b 100644
--- a/Fltk/Callbacks.cpp
+++ b/Fltk/Callbacks.cpp
@@ -1,4 +1,4 @@
-// $Id: Callbacks.cpp,v 1.313 2004-12-28 20:46:30 geuzaine Exp $
+// $Id: Callbacks.cpp,v 1.314 2004-12-29 01:25:08 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -1455,21 +1455,8 @@ void clip_reset_cb(CALLBACK_ARGS)
   Draw();
 }
 
-// Help Menu
-
-// The fltk guys still have to decide how to map apple keys. Let's
-// just keep the "Windows-Unix" style stuff at the moment. We might
-// want to change all occurences of FL_CTRL with FL_COMMAND in the
-// future. FL_COMMAND would get mapped to Ctrl on Windows/Unix and to
-// Cmd on Macs.
-#if 0
-#define XX "Cmd "
-#else
-#define XX "Ctrl"
-#endif
-
-// If you change the following, please also change the texinfo
-// documentation (doc/texinfo/shortcuts.texi)
+// Help Menu (if you change the following, please also change the
+// texinfo documentation in doc/texinfo/shortcuts.texi)
 
 void help_short_cb(CALLBACK_ARGS)
 {
@@ -1486,46 +1473,69 @@ void help_short_cb(CALLBACK_ARGS)
   Msg(DIRECT, "  1 or F1       mesh lines");
   Msg(DIRECT, "  2 or F2       mesh surfaces");
   Msg(DIRECT, "  3 or F3       mesh volumes");
+
   Msg(DIRECT, "  Alt+a         hide/show small axes"); 
-  Msg(DIRECT, "  Shift+a       raise (show) all open windows");
   Msg(DIRECT, "  Alt+Shift+a   hide/show big moving axes"); 
+  Msg(DIRECT, "  Ctrl+a        raise (show) all open windows");
+
   Msg(DIRECT, "  Alt+b         hide/show all bounding boxes");
+
   Msg(DIRECT, "  Alt+c         loop through predefined color schemes");
+  Msg(DIRECT, "  Ctrl+Shift+c  show clipping plane window");
+
   Msg(DIRECT, "  Alt+d         change mesh display mode (solid/wireframe)");
   Msg(DIRECT, "  Shift+d       decrease animation delay");
-  Msg(DIRECT, "  "XX"+Shift+d  increase animation delay");
+  Msg(DIRECT, "  Ctrl+Shift+d  increase animation delay");
+
   Msg(DIRECT, "  Alt+f         change redraw mode (fast/full)"); 
+
   Msg(DIRECT, "  g             go to geometry module");
   Msg(DIRECT, "  Shift+g       show geometry options");
+
   Msg(DIRECT, "  Alt+h         hide/show all post-processing views"); 
+
   Msg(DIRECT, "  Alt+i         hide/show all post-processing scales");
-  Msg(DIRECT, "  Shift+i       show statistics window"); 
+  Msg(DIRECT, "  Ctrl+i        show statistics window"); 
+
   Msg(DIRECT, "  Alt+l         hide/show geometry lines");
   Msg(DIRECT, "  Alt+Shift+l   hide/show surface mesh edges");
+  Msg(DIRECT, "  Ctrl+l        show message console");
+
   Msg(DIRECT, "  m             go to mesh module");
   Msg(DIRECT, "  Alt+m         change visibility of all mesh entities");
   Msg(DIRECT, "  Shift+m       show mesh options");
-  Msg(DIRECT, "  "XX"+m        merge file"); 
+  Msg(DIRECT, "  Ctrl+m        merge file"); 
+
   Msg(DIRECT, "  Shift+n       show general options"); 
-  Msg(DIRECT, "  "XX"+n        new file"); 
+  Msg(DIRECT, "  Ctrl+n        new file"); 
+
   Msg(DIRECT, "  Alt+o         change projection mode (ortho/perspective)");
-  Msg(DIRECT, "  Shift+o       show option window"); 
-  Msg(DIRECT, "  "XX"+o        open file"); 
+  Msg(DIRECT, "  Ctrl+o        open file"); 
+  Msg(DIRECT, "  Ctrl+Shift+o  show option window"); 
+
   Msg(DIRECT, "  p             go to post-processor module");
   Msg(DIRECT, "  Alt+p         hide/show geometry points");
   Msg(DIRECT, "  Shift+p       show general post-processing options");
   Msg(DIRECT, "  Alt+Shift+p   hide/show mesh points");
-  Msg(DIRECT, "  "XX"+q        quit");
-  Msg(DIRECT, "  "XX"+r        rename current project file");
+
+  Msg(DIRECT, "  Ctrl+q        quit");
+
+  Msg(DIRECT, "  Ctrl+r        rename current project file");
+
   Msg(DIRECT, "  Alt+s         hide/show geometry surfaces");
   Msg(DIRECT, "  Alt+Shift+s   hide/show mesh surfaces");
-  Msg(DIRECT, "  "XX"+s        save mesh in default format");
-  Msg(DIRECT, "  "XX"+Shift+s  save file as");
+  Msg(DIRECT, "  Ctrl+s        save file as");
+  Msg(DIRECT, "  Ctrl+Shift+s  save mesh in default format");
+
   Msg(DIRECT, "  Alt+t         loop through interval modes for all post-processing views"); 
+
   Msg(DIRECT, "  Alt+v         hide/show geometry volumes");
   Msg(DIRECT, "  Alt+Shift+v   hide/show mesh volumes");
+  Msg(DIRECT, "  Ctrl+Shift+v  show visibility window");
+
   Msg(DIRECT, "  Alt+w         enable/disable all lighting");
   Msg(DIRECT, "  Shift+w       show current post-processing view options");
+
   Msg(DIRECT, "  Alt+x         set X view"); 
   Msg(DIRECT, "  Alt+y         set Y view"); 
   Msg(DIRECT, "  Alt+z         set Z view"); 
@@ -1541,17 +1551,17 @@ void help_mouse_cb(CALLBACK_ARGS)
   Msg(DIRECT, "  move                - highlight the elementary geometrical entity");
   Msg(DIRECT, "                        currently under the mouse pointer and display");
   Msg(DIRECT, "                        its properties in the status bar");
-  Msg(DIRECT, "                      - size a rubber zoom started with "XX"+Left button");
+  Msg(DIRECT, "                      - size a rubber zoom started with Ctrl+Left button");
   Msg(DIRECT, "  Left button         - rotate");
-  Msg(DIRECT, "                      - accept a rubber zoom started with "XX"+Left button"); 
-  Msg(DIRECT, "  "XX"+Left button     start (anisotropic) rubber zoom"); 
+  Msg(DIRECT, "                      - accept a rubber zoom started with Ctrl+Left button"); 
+  Msg(DIRECT, "  Ctrl+Left button    start (anisotropic) rubber zoom"); 
   Msg(DIRECT, "  Middle button       - zoom (isotropic)");
   Msg(DIRECT, "                      - cancel a rubber zoom");
-  Msg(DIRECT, "  "XX"+Middle button  orthogonalize display"); 
+  Msg(DIRECT, "  Ctrl+Middle button  orthogonalize display"); 
   Msg(DIRECT, "  Right button        - pan");
   Msg(DIRECT, "                      - cancel a rubber zoom");
   Msg(DIRECT, "                      - pop up menu on post-processing view button");
-  Msg(DIRECT, "  "XX"+Right button   reset to default viewpoint");   
+  Msg(DIRECT, "  Ctrl+Right button   reset to default viewpoint");   
   Msg(DIRECT, " ");   
   Msg(DIRECT, "  For a 2 button mouse, Middle button = Shift+Left button");
   Msg(DIRECT, "  For a 1 button mouse, Middle button = Shift+Left button, Right button = Alt+Left button");
@@ -1559,8 +1569,6 @@ void help_mouse_cb(CALLBACK_ARGS)
   WID->create_message_window();
 }
 
-#undef XX
-
 void help_command_line_cb(CALLBACK_ARGS)
 {
   Msg(DIRECT, " ");
diff --git a/Fltk/GUI.cpp b/Fltk/GUI.cpp
index bdc210961c533e5e1439ba03d9e0c003e066d8dc..586489de36e20b5f72a8123db099a61b65f68361 100644
--- a/Fltk/GUI.cpp
+++ b/Fltk/GUI.cpp
@@ -1,4 +1,4 @@
-// $Id: GUI.cpp,v 1.394 2004-12-28 20:37:18 geuzaine Exp $
+// $Id: GUI.cpp,v 1.395 2004-12-29 01:25:08 geuzaine Exp $
 //
 // Copyright (C) 1997-2004 C. Geuzaine, J.-F. Remacle
 //
@@ -82,16 +82,16 @@ Fl_Menu_Item m_menubar_table[] = {
     {"&Open...",    FL_CTRL+'o', (Fl_Callback *)file_open_cb, 0},
     {"M&erge...",   FL_CTRL+'m', (Fl_Callback *)file_merge_cb, 0, FL_MENU_DIVIDER},
     {"&Rename...",  FL_CTRL+'r', (Fl_Callback *)file_rename_cb, 0, FL_MENU_DIVIDER},
-    {"Sa&ve mesh",  FL_CTRL+'s', (Fl_Callback *)mesh_save_cb, 0},
-    {"Save &as...", FL_CTRL+FL_SHIFT+'s', (Fl_Callback *)file_save_as_cb, 0, FL_MENU_DIVIDER},
+    {"Save &as...", FL_CTRL+'s', (Fl_Callback *)file_save_as_cb, 0, FL_MENU_DIVIDER},
+    {"Sa&ve mesh",  FL_CTRL+FL_SHIFT+'s', (Fl_Callback *)mesh_save_cb, 0},
     {"&Quit",       FL_CTRL+'q', (Fl_Callback *)file_quit_cb, 0},
     {0},
   {"&Tools", 0, 0, 0, FL_SUBMENU},
-    {"&Options...",         FL_SHIFT+'o', (Fl_Callback *)options_cb, 0},
-    {"&Visibility...",      FL_SHIFT+'v', (Fl_Callback *)visibility_cb, 0},
-    {"&Clipping planes...", FL_SHIFT+'c', (Fl_Callback *)clip_cb, 0},
-    {"S&tatistics...",      FL_SHIFT+'i', (Fl_Callback *)statistics_cb, 0, FL_MENU_DIVIDER},
-    {"M&essage console...", FL_SHIFT+'l', (Fl_Callback *)message_cb, 0},
+    {"&Options...",         FL_CTRL+FL_SHIFT+'o', (Fl_Callback *)options_cb, 0},
+    {"&Visibility...",      FL_CTRL+FL_SHIFT+'v', (Fl_Callback *)visibility_cb, 0},
+    {"&Clipping planes...", FL_CTRL+FL_SHIFT+'c', (Fl_Callback *)clip_cb, 0},
+    {"S&tatistics...",      FL_CTRL+'i', (Fl_Callback *)statistics_cb, 0, FL_MENU_DIVIDER},
+    {"M&essage console...", FL_CTRL+'l', (Fl_Callback *)message_cb, 0},
     {0},
   {"&Help", 0, 0, 0, FL_SUBMENU},
     {"&Current options...",      0, (Fl_Callback *)status_xyz1p_cb, (void*)5, FL_MENU_DIVIDER},
@@ -116,15 +116,15 @@ Fl_Menu_Item m_sys_menubar_table[] = {
     {"Open...",    FL_CTRL+'o', (Fl_Callback *)file_open_cb, 0},
     {"Merge...",   FL_CTRL+'m', (Fl_Callback *)file_merge_cb, 0, FL_MENU_DIVIDER},
     {"Rename...",  FL_CTRL+'r', (Fl_Callback *)file_rename_cb, 0, FL_MENU_DIVIDER},
-    {"Save Mesh",  FL_CTRL+'s', (Fl_Callback *)mesh_save_cb, 0},
-    {"Save As...", FL_CTRL+FL_SHIFT+'s', (Fl_Callback *)file_save_as_cb, 0},
+    {"Save As...", FL_CTRL+'s', (Fl_Callback *)file_save_as_cb, 0},
+    {"Save Mesh",  FL_CTRL+FL_SHIFT+'s', (Fl_Callback *)mesh_save_cb, 0},
     {0},
   {"Tools",0,0,0,FL_SUBMENU},
-    {"Options...",         FL_SHIFT+'o', (Fl_Callback *)options_cb, 0},
-    {"Visibility...",      FL_SHIFT+'v', (Fl_Callback *)visibility_cb, 0},
-    {"Clipping Planes...", FL_SHIFT+'c', (Fl_Callback *)clip_cb, 0},
-    {"Statistics...",      FL_SHIFT+'i', (Fl_Callback *)statistics_cb, 0, FL_MENU_DIVIDER},
-    {"Message Console...", FL_SHIFT+'l', (Fl_Callback *)message_cb, 0},
+    {"Options...",         FL_CTRL+FL_SHIFT+'o', (Fl_Callback *)options_cb, 0},
+    {"Visibility...",      FL_CTRL+FL_SHIFT+'v', (Fl_Callback *)visibility_cb, 0},
+    {"Clipping Planes...", FL_CTRL+FL_SHIFT+'c', (Fl_Callback *)clip_cb, 0},
+    {"Statistics...",      FL_CTRL+'i', (Fl_Callback *)statistics_cb, 0, FL_MENU_DIVIDER},
+    {"Message Console...", FL_CTRL+'l', (Fl_Callback *)message_cb, 0},
     {0},
   {"Help",0,0,0,FL_SUBMENU},
     {"Current Options...",      0, (Fl_Callback *)status_xyz1p_cb, (void*)5, FL_MENU_DIVIDER},
@@ -504,7 +504,7 @@ int GUI::global_shortcuts(int event)
     quit_selection = 1;
     return 0;   // trick: do as if we didn't use it
   }
-  else if(Fl::test_shortcut(FL_SHIFT + 'a')) { 
+  else if(Fl::test_shortcut(FL_CTRL + 'a')) { 
     // raise all open windows (graphics first, then options, then menu)
     if(g_window && g_window->shown()) g_window->show();
     if(opt_window && opt_window->shown()) opt_window->show();
diff --git a/doc/texinfo/shortcuts.texi b/doc/texinfo/shortcuts.texi
index 515f5867e79b5f3027aa5466619393038045e5c1..a03acb1bdb0a28d7075fa081f98df32078650502 100644
--- a/doc/texinfo/shortcuts.texi
+++ b/doc/texinfo/shortcuts.texi
@@ -38,18 +38,21 @@ mesh volumes
 @item Alt+a
 hide/show small axes
 
-@item Shift+a
-raise (show) all open windows
-
 @item Alt+Shift+a
 hide/show big moving axes
 
+@item Ctrl+a
+raise (show) all open windows
+
 @item Alt+b
 hide/show all bounding boxes
 
 @item Alt+c
 loop through predefined color schemes
 
+@item Ctrl+Shift+c
+show clipping plane window
+
 @item Alt+d
 change mesh display mode (solid/wireframe)
 
@@ -74,7 +77,7 @@ hide/show all post-processing views
 @item Alt+i
 hide/show all post-processing scales
 
-@item Shift+i
+@item Ctrl+i
 show statistics window
 
 @item Alt+l
@@ -83,6 +86,9 @@ hide/show geometry lines
 @item Alt+Shift+l
 hide/show surface mesh edges
 
+@item Ctrl+l
+show message console
+
 @item m
 go to mesh module
 
@@ -104,12 +110,12 @@ new file
 @item Alt+o
 change projection mode (ortho/perspective)
 
-@item Shift+o
-show option window
-
 @item Ctrl+o
 open file
 
+@item Ctrl+Shift+o
+show option window
+
 @item p
 go to post-processor module
 
@@ -135,10 +141,10 @@ hide/show geometry surfaces
 hide/show mesh surfaces
 
 @item Ctrl+s
-save mesh in default format
+save file as
 
 @item Ctrl+Shift+s
-save file as
+save mesh in default format
 
 @item Alt+t
 loop through interval modes for all post-processing views
@@ -149,6 +155,9 @@ hide/show geometry volumes
 @item Alt+Shift+v
 hide/show mesh volumes
 
+@item Ctrl+Shift+v
+show visibility window
+
 @item Alt+w
 enable/disable all lighting