Index: /trunk/SophyaPI/PIext/basexecut.cc
===================================================================
--- /trunk/SophyaPI/PIext/basexecut.cc	(revision 483)
+++ /trunk/SophyaPI/PIext/basexecut.cc	(revision 484)
@@ -1111,4 +1111,24 @@
 usage += "\n  Related commands: newwin zone stacknext gratt";  
 piac->RegisterHelp(kw, usage, grp);
- 
-}
+
+kw = "PIConsole";
+usage = "Text output area and command editing window (console) \n";
+usage += ">>>> Mouse controls : \n";
+usage += "o Button-1: Rectangle selection for copy/paste \n";
+usage += "o Button-2: Paste text in the command editing line \n";
+usage += "o Button-3: activate display option menu \n";
+usage += ">>>> Keyboard controls : \n";
+usage += "o <Alt>O : activate display option menu   \n";
+usage += "o <Alt>V : Paste text in the command editing line \n";
+usage += "o <Alt>A : Selection of the whole window for copy \n";
+usage += "o <Alt>L : Command history (List of command history buffer) \n";
+usage += "o <Ctl>A : Command editing -> Goto the beginning of line \n";
+usage += "o <Ctl>E : Command editing -> Goto the end of line \n";
+usage += "o <Ctl>K : Command editing -> Clear to the end of line \n";
+usage += "o <Ctl>C : Command editing -> Clear the line \n";
+usage += "o Cursor left,right : Command editing -> Move cursor \n";
+usage += "o Cursor Up,Down : recall command from history buffer \n";
+usage += "o Backspace,Del : Command editing \n";
+usage += "o <Return>,<Enter> : Execute command \n";
+piac->RegisterHelp(kw, usage, grp);
+}
Index: /trunk/SophyaPI/PIext/piacmd.cc
===================================================================
--- /trunk/SophyaPI/PIext/piacmd.cc	(revision 483)
+++ /trunk/SophyaPI/PIext/piacmd.cc	(revision 484)
@@ -918,20 +918,59 @@
 CmdHGroup::iterator it;
 for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++) 
-  fprintf(fip,"\\item {\\bf %s } \n", (*it).first.c_str());
+  fprintf(fip,"\\item {\\bf %s }  (p. \\pageref{%s}) \n", 
+         (*it).first.c_str(), (*it).first.c_str());
 
 fputs("\\end{itemize} \n",fip);
+
+fputs("\\newpage \n",fip);
+
+CmdExmap::iterator ite;
+fputs("% ----- Liste de toutes les commandes ----- \n",fip);
+fputs("\\begin{center} \n ", fip);
+fputs("\\rule{2cm}{1mm} List of {\\bf piapp} Help items \\rule{2cm}{1mm} \n", fip);
+fputs("\n \n  \\vspace{5mm} \n",fip);
+fputs("\\begin{tabular}{llllll}  \n", fip);
+int kt = 0;
+for(ite = helpexmap.begin(); ite != helpexmap.end(); ite++) {
+  fprintf(fip,"%s & p. \\pageref{%s} ", (*ite).first.c_str(),  (*ite).first.c_str() );
+  kt++;
+  if (kt < 3) fputs(" & ", fip);
+  else  { fputs(" \\\\  \n", fip);  kt = 0; }
+  }
+if (kt == 1) fputs("  &  &  &   \\\\  \n", fip);
+else if (kt == 2)  fputs("  &   \\\\  \n", fip);
+fputs("\\end{tabular} \n", fip);
+fputs("\\end{center} \n", fip);
+fputs("\n \n \\vspace{1cm} \n",fip);
+
+fputs("\\begin{center} \n ", fip);
+fputs("\\rule{2cm}{1mm} List of {\\bf piapp} Commands \\rule{2cm}{1mm} \n", fip);
+fputs("\n \n  \\vspace{5mm} \n",fip);
+fputs("\\begin{tabular}{llllll} \n", fip);
+kt = 0;
+for(ite = cmdexmap.begin(); ite != cmdexmap.end(); ite++) {
+  fprintf(fip,"%s & p. \\pageref{%s} ", (*ite).first.c_str(), (*ite).first.c_str() );
+  kt++;
+  if (kt < 3) fputs(" & ", fip);
+  else  { fputs(" \\\\  \n", fip);  kt = 0; }
+  }
+if (kt == 1) fputs("  &  &  &   \\\\  \n", fip);
+else if (kt == 2)  fputs("  &   \\\\  \n", fip);
+fputs("\\end{tabular} \n", fip);
+fputs("\\end{center} \n", fip);
+// fputs("\\newline \n",fip);
 
 fputs("% ----- Liste des commandes dans chaque groupe ----- \n",fip);
 fputs("\\newpage \n",fip);
-CmdExmap::iterator ite;
 int gid;
 for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++) {
   gid = (*it).second;
   if (gid == 0)  continue;
-  fprintf(fip,"\\subsection{%s} \n", (*it).first.c_str());
+  fprintf(fip,"\\subsection{%s} \\label{%s} \n", 
+          (*it).first.c_str(), (*it).first.c_str());
   for(ite = helpexmap.begin(); ite != helpexmap.end(); ite++) {
     if ((*ite).second.group != gid)  continue;
-    fprintf(fip,"{ \\Large $ \\star \\star \\star $ }  Help item {\\bf \\Large %s } \n", 
-            (*ite).first.c_str());
+    fprintf(fip,"{ \\Large $ \\star \\star \\star $ }  Help item {\\bf \\Large %s } \\label{%s} \n", 
+            (*ite).first.c_str(), (*ite).first.c_str());
     fputs("\\begin{verbatim} \n",fip);
     fprintf(fip,"%s\n", (*ite).second.us.c_str());
@@ -940,6 +979,6 @@
   for(ite = cmdexmap.begin(); ite != cmdexmap.end(); ite++) {
     if ((*ite).second.group != gid)  continue;
-    fprintf(fip,"{ \\Large $ \\star \\star \\star $ }  Command {\\bf \\Large %s } \n", 
-            (*ite).first.c_str());
+    fprintf(fip,"{ \\Large $ \\star \\star \\star $ }  Command {\\bf \\Large %s } \\label{%s} \n", 
+            (*ite).first.c_str(), (*ite).first.c_str());
     fputs("\\begin{verbatim} \n",fip);
     fprintf(fip,"%s\n", (*ite).second.us.c_str());
Index: /trunk/SophyaPI/PIext/piacmd.h
===================================================================
--- /trunk/SophyaPI/PIext/piacmd.h	(revision 483)
+++ /trunk/SophyaPI/PIext/piacmd.h	(revision 484)
@@ -61,5 +61,5 @@
 
   virtual void		RegisterCommand(string& keyw, string& usage, CmdExecutor * ce, 
-                                        string grp="Command");
+                                        string grp="Commands");
   virtual void		RegisterHelp(string& keyw, string& usage, string& grp);
   virtual void		LoadModule(string& fnameso, string& name);
