|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 103427 (0x19403) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦6098efb53⟧ └─⟦this⟧
procedure Rational_Access_Commands;-- Rational_Access universal keymap -- Keymap Version 0_5_0 6/3/92 -- -- Do not move these comments. with Access_List; with Activity; with Ada; with Cmvc; with Command; with Common; with Compilation; with Debug; with Design_Implementation; with Editor; with Io; with Job; with Library; with Mail; with Menu_Operations; with Operator; with Queue; with Speller; with System_Utilities; with Text; with What; with Rational_Access_Key_Names; procedure Rational_Access_Commands is use Rational_Access_Key_Names; type Intent is (Interrupt, Prompt, Execute); Action : Intent; Key1, Key2, Key3, Key4, Key5, Key6 : Key_Names; begin case Action is when Interrupt => case Key1 is when C_G => Job.Interrupt; when M_G => Job.Kill (0); when others => null; end case; when Prompt => case Key1 is when M_H => case Key2 is when 'c' | 'C' => What.Does (Name => ""); when others => null; end case; when M_O => case Key2 is when 'f' | 'F' => Editor.Image.Find (Name => ""); when others => null; end case; when F1 | Help => What.Does (Name => ""); when others => null; end case; when Execute => case Key1 is when S_F1 | S_Help => Editor.Key.Prompt (Key_Code => ""); when F2 => Menu_Operations.File.Open; when S_F2 => Menu_Operations.Compile.Demote; when F3 => Common.Explain; when S_F3 => Common.Clear_Underlining; when F4 => Menu_Operations.Cm.Check_Out; when S_F4 => Menu_Operations.Cm.Check_In; when F5 => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => True); when S_F5 => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when F6 => Common.Create_Command; when S_F6 => Common.Complete; when F7 => Common.Enclosing (In_Place => False, Library => False); when S_F7 => Common.Enclosing (In_Place => True, Library => False); when F8 => Menu_Operations.Compile.Promote; when S_F8 => Compilation.Make (Unit => "<IMAGE>", Scope => Compilation.All_Parts, Goal => Compilation.Coded, Limit => "<ALL_WORLDS>", Effort_Only => False, Response => "<PROFILE>"); when F9 => Common.Format; when S_F9 => Common.Semanticize; --when F10 => -- Reserved for Motif Menu bar when S_F10 => What.Home_Library; when F11 => Menu_Operations.File.New_File; when S_F11 => Common.Object.Insert; when F12 => Editor.Cursor.Next (Prompt => True, Underline => True); when S_F12 => Editor.Cursor.Previous (Prompt => True, Underline => True); -- Item/Operation keys for compatibility with the old way when Object | C_Help => -- C_Help is alternative to C_F1 case Key2 is when '!' | '1' => Common.Expand; when '.' | '>' => Common.Elide; when '/' | '?' => Common.Explain; when 'A' | 'a' => Common.Object.First_Child; when 'B' | 'b' => Common.Object.First_Child; when 'C' | 'c' => Common.Object.Copy; when 'D' | 'K' | 'd' | 'k' => Common.Object.Delete; when 'E' | 'e' => Common.Object.Last_Child; when 'G' | 'g' => Common.Abandon; when 'H' | 'h' => Common.Object.Parent; when 'I' | 'i' => Common.Object.Insert; when 'J' | 'j' => Common.Object.Child; when 'M' | 'm' => Common.Object.Move; when 'N' | 'n' => Common.Object.Next; when 'R' | 'r' => Common.Redo; when 'S' | 's' => Common.Sort_Image; when 'U' | 'u' => Common.Undo; when 'V' | 'v' => Common.Redo; when 'X' | 'x' => Common.Release; when Tab => Editor.Char.Tab_To_Comment; when Carriage_Return | S_Carriage_Return => Common.Commit; when Up | S_Up => Common.Object.Previous; when Down | S_Down => Common.Object.Next; when Left | S_Left => Common.Object.Parent; when Right | S_Right => Common.Object.Child; when others => null; end case; when Region => case Key2 is when '"' | ''' | '6' | '^' => Editor.Region.Capitalize; when '(' | '9' | '[' | '{' => Editor.Region.Start; when ')' | '0' | ']' | '}' => Editor.Region.Finish; when '+' | '=' => Editor.Region.Uncomment; when ',' | '<' => Editor.Region.Lower_Case; when '-' | '_' => Editor.Region.Comment; when '.' | '>' => Editor.Region.Upper_Case; when 'A' | 'a' | Begin_Of => Editor.Region.Beginning_Of; when 'B' | 'b' => Editor.Region.Beginning_Of; when 'C' | 'c' => Editor.Region.Copy; when 'D' | 'K' | 'd' | 'k' => Editor.Region.Delete; when 'E' | 'e' | End_Key => Editor.Region.End_Of; when 'F' | 'f' => Editor.Region.Fill; when 'H' | 'h' => Editor.Hold_Stack.Previous; when 'J' | 'j' => Editor.Hold_Stack.Next; when 'M' | 'm' => Editor.Region.Move; when 'N' | 'n' => Editor.Hold_Stack.Push; when 'P' | 'p' => Editor.Hold_Stack.Copy_Top; when 'Q' | 'q' => Editor.Region.Justify; when 'R' | 'r' => Editor.Hold_Stack.Rotate; when 'T' | 't' => Editor.Hold_Stack.Swap; when 'U' | 'u' => Editor.Hold_Stack.Top; when 'X' | 'x' => Editor.Region.Off; when Delete | S_Delete => Editor.Hold_Stack.Delete_Top; when Up | S_Up => Editor.Hold_Stack.Top; when Down | S_Down => Editor.Hold_Stack.Push; when Left | S_Left => Editor.Hold_Stack.Previous; when Right | S_Right => Editor.Hold_Stack.Next; when others => null; end case; when Window => case Key2 is when '!' | '1' => Editor.Window.Expand; when '.' | '>' => Editor.Window.Expand (-4); when '/' | '?' => Editor.Window.Directory; when 'A' | 'a' => Editor.Window.Beginning_Of; when 'B' | 'b' => Editor.Window.Beginning_Of; when 'C' | 'c' => Editor.Window.Copy; when 'D' | 'K' | 'W' | 'X' | 'd' | 'k' | 'w' | 'x' => Editor.Window.Delete; when 'E' | 'e' => Editor.Window.End_Of; when 'F' | 'f' => Editor.Window.Focus; when 'H' | 'h' => Common.Enclosing (In_Place => False, Library => False); when 'J' | 'j' => Editor.Window.Join (1); when 'M' | 'Z' | 'm' | 'z' | Carriage_Return | S_Carriage_Return => Editor.Window.Promote; when 'N' | 'n' => Editor.Window.Next; when 'O' | 'o' => Editor.Window.Join (1); when 'T' | 't' => Editor.Window.Transpose; when 'U' | 'u' => Editor.Window.Previous; when 'V' | 'v' => Editor.Window.Child; when 'Y' | 'y' => Editor.Window.Demote; when Delete | S_Delete => Editor.Window.Join (-1); when Up | S_Up => Editor.Window.Previous; when Down | S_Down => Editor.Window.Next; when Left | S_Left => Editor.Window.Parent; when Right | S_Right => Editor.Window.Child; when others => null; end case; when Image => case Key2 is when 'A' | 'a' | Begin_Of => Editor.Image.Beginning_Of; when 'B' | 'b' => Editor.Image.Beginning_Of; when 'E' | 'e' => Editor.Image.End_Of; when 'F' | 'f' => Editor.Set.Fill_Mode (True); when 'H' | 'h' => Editor.Image.Left; when 'I' | 'i' => Editor.Set.Insert_Mode (True); when 'J' | 'j' => Editor.Image.Right; when 'N' | 'n' => Editor.Image.Down; when 'O' | 'o' => Editor.Set.Insert_Mode (False); when 'U' | 'u' => Editor.Image.Up; when 'X' | 'x' => Editor.Set.Fill_Mode (False); when Up | S_Up => Editor.Image.Up; when Down | S_Down => Editor.Image.Down; when Left | S_Left => Editor.Image.Left; when Right | S_Right => Editor.Image.Right; when others => null; end case; when Line => case Key2 is when '$' | '4' => Editor.Line.Center; when ',' | '<' => Editor.Line.Lower_Case; when '.' | '>' => Editor.Line.Upper_Case; when '/' | '?' => What.Line; when '6' | '^' => Editor.Line.Capitalize; when 'A' | 'a' | Begin_Of => Editor.Line.Beginning_Of; when 'B' | 'b' => Editor.Line.Beginning_Of; when 'C' | 'c' => Editor.Line.Copy; when 'D' | 'd' => Editor.Line.Delete; when 'E' | 'e' | End_Key => Editor.Line.End_Of; when 'I' | 'i' => Editor.Line.Insert (1); when 'J' | 'j' => Editor.Line.Join; when 'K' | 'k' => Editor.Line.Delete_Forward; when 'O' | 'o' => Editor.Line.Open; when 'T' | 't' => Editor.Line.Transpose; when Delete | S_Delete => Editor.Line.Delete_Forward; when others => null; end case; when Word => case Key2 is when ',' | '<' => Editor.Word.Lower_Case; when '.' | '>' => Editor.Word.Upper_Case; when '/' | '?' => Speller.Check_Text (Data => "<TEXT>"); when '6' | '^' => Editor.Word.Capitalize; when 'A' | 'a' | Begin_Of => Editor.Word.Beginning_Of; when 'B' | 'b' => Editor.Word.Beginning_Of; when 'D' | 'd' => Editor.Word.Delete; when 'E' | 'e' => Editor.Word.End_Of; when 'I' | 'i' => Speller.Learn_Word (The_Word => "", Dictionary => 0); when 'J' | 'j' => Editor.Word.Next; when 'K' | 'k' => Editor.Word.Delete_Forward; when 'M' | 'm' => Speller.Check_Image; when 'N' | 'n' => Speller.Explain_Next; when 'R' | 'r' => Speller.Learn_Replacement (The_Word => "", Choice => 1, Dictionary => 0); when 'T' | 't' => Editor.Word.Transpose; when 'W' => Speller.Speller_Window (In_Place => True); when 'X' | 'x' => Speller.Exchange_Word (Choice => 1); when 'w' => Speller.Speller_Window (In_Place => False); when Delete | S_Delete => Editor.Word.Delete_Forward; when C_0 => Speller.Exchange_Word (Choice => 10); when C_1 => Speller.Exchange_Word (Choice => 1); when C_2 => Speller.Exchange_Word (Choice => 2); when C_3 => Speller.Exchange_Word (Choice => 3); when C_4 => Speller.Exchange_Word (Choice => 4); when C_5 => Speller.Exchange_Word (Choice => 5); when C_6 => Speller.Exchange_Word (Choice => 6); when C_7 => Speller.Exchange_Word (Choice => 7); when C_8 => Speller.Exchange_Word (Choice => 8); when C_9 => Speller.Exchange_Word (Choice => 9); when Down | S_Down => Speller.Explain_Next; when Left | S_Left => Editor.Word.Previous; when Right | S_Right => Editor.Word.Next; when C_W | Cs_W => Speller.Speller_Window (In_Place => False); when others => null; end case; when Mark => case Key2 is when '(' | '9' | 'A' | '[' | 'a' | '{' | Begin_Of => Editor.Macro.Start; when ')' | '0' | 'E' | ']' | 'e' | '}' | End_Key => Editor.Macro.Finish; when 'B' | 'b' => Editor.Macro.Start; when 'F' | 'f' => Editor.Macro.Bind; when 'H' | 'h' => Editor.Mark.Previous; when 'J' | 'j' => Editor.Mark.Next; when 'M' | 'X' | 'm' | 'x' | Carriage_Return | S_Carriage_Return => Editor.Macro.Execute; when 'N' | 'n' => Editor.Mark.Push; when 'P' | 'p' => Editor.Mark.Copy_Top; when 'R' | 'r' => Editor.Mark.Rotate; when 'T' | 't' => Editor.Mark.Swap; when 'U' | 'u' => Editor.Mark.Top; when Delete | S_Delete | Backspace | S_Backspace => Editor.Mark.Delete_Top; when Up | S_Up => Editor.Mark.Top; when Down | S_Down => Editor.Mark.Push; when Left | S_Left => Editor.Mark.Previous; when Right | S_Right => Editor.Mark.Next; when others => null; end case; -- misc characters. when ' ' | S_Space => Editor.Char.Insert_Character (1, ' '); when C_0 => Editor.Set.Argument_Digit (0); when C_1 => Editor.Set.Argument_Digit (1); when C_2 => Editor.Set.Argument_Digit (2); when C_3 => Editor.Set.Argument_Digit (3); when C_4 => Editor.Set.Argument_Digit (4); when C_5 => Editor.Set.Argument_Digit (5); when C_6 => Editor.Set.Argument_Digit (6); when C_7 => Editor.Set.Argument_Digit (7); when C_8 => Editor.Set.Argument_Digit (8); when C_9 => Editor.Set.Argument_Digit (9); when C_Minus => -- rat diff Editor.Set.Argument_Minus; --when Numeric_Comma | S_Numeric_Comma => -- Editor.Set.Argument_Prefix; when Carriage_Return | S_Carriage_Return => Editor.Line.Indent; when C_Carriage_Return => Common.Commit; when M_Carriage_Return => Command.Debug; when Up => Editor.Cursor.Up; when S_Up => Editor.Image.Up; when C_Up => Common.Object.Previous; when M_Up => Editor.Cursor.Previous (Prompt => True, Underline => True); when Cm_Up => Editor.Window.Previous; when Down => Editor.Cursor.Down; when S_Down => Editor.Image.Down; when C_Down => Common.Object.Next; when M_Down => Editor.Cursor.Next (Prompt => True, Underline => True); when Cm_Down => Editor.Window.Next; when Left => Editor.Cursor.Left; when S_Left => Editor.Image.Left; when C_Left => Common.Object.Parent; when M_Left => Editor.Word.Previous; when Cm_Left => Common.Enclosing (In_Place => True, Library => False); when Right => Editor.Cursor.Right; when S_Right => Editor.Image.Right; when C_Right => Common.Object.Child; when M_Right => Editor.Word.Next; when Cm_Right => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => False); when Tab | S_Tab => Editor.Char.Tab_Forward; -- when M_Tab => -- Motif defined --Editor.Char.Tab_To_Comment; when Cm_Tab => What.Tabs; when Begin_Of => Editor.Line.Beginning_Of; when S_Begin_Of => Editor.Image.Beginning_Of; when C_Begin_Of => What.Line; when Cm_Begin_Of => Editor.Window.Beginning_Of; when End_Key => Editor.Line.End_Of; when S_End_Key => Editor.Image.End_Of; when C_End_Key => Text.End_Of_Input; when Cm_End_Key => Editor.Window.End_Of; when Page_Down => Editor.Image.Down; when Page_Up => Editor.Image.Up; when Delete => -- Editor.Char.Delete_Forward; Editor.Char.Delete_Backward; when Backspace => Editor.Char.Delete_Backward; when S_Delete | S_Backspace => Editor.Region.Delete; when C_Delete => Editor.Line.Delete_Backward (Repeat => 1); when C_Backspace => Editor.Line.Delete_Forward (Repeat => 1); when M_Delete => Editor.Word.Delete_Forward; when M_Backspace => Editor.Word.Delete_Backward; when Cm_Delete | Cm_Backspace => Editor.Char.Delete_Spaces; -- Non-Alpha when C_Less_Than | C_Comma => Editor.Word.Lower_Case; when M_Less_Than | M_Comma => Editor.Image.Beginning_Of; when Cm_Less_Than | Cm_Comma => Common.Undo; when C_Greater_Than | C_Period => Editor.Word.Upper_Case; when M_Greater_Than | M_Period => Editor.Image.End_Of; when Cm_Greater_Than | Cm_Period => Common.Redo; when C_Left_Bracket => Editor.Region.Start; when M_Left_Bracket => Editor.Macro.Start; when C_Right_Bracket => Editor.Region.Finish; when M_Right_Bracket => Editor.Macro.Finish; when M_Exclam | M_1 => Common.Expand; when Cm_Exclam => Editor.Window.Expand (Lines => 4); when C_At_Sign => Editor.Mark.Push; when C_Circumflex => Editor.Word.Capitalize; when M_Right_Paren | M_0 => Common.Elide; when Cm_Right_Paren => Editor.Window.Expand (Lines => -4); when M_Equal => Editor.Macro.Bind; when C_Backslash => Editor.Region.Off; when M_Slash | M_Question => Common.Explain; -- mostly for compatibility when Cm_Slash | Cm_Question => Editor.Window.Directory; when C_Quotation | C_Tick => -- differ fromRat Editor.Char.Quote; -- Alphabetic when C_A => Editor.Line.Beginning_Of; when C_B => Editor.Cursor.Backward; when C_C => Menu_Operations.Edit.Copy; when M_C => Common.Create_Command; when Cm_C | Cs_C => Editor.Line.Copy; when C_D => Editor.Char.Delete_Forward; when M_D => Editor.Word.Delete; when Cm_D | Cs_D => Editor.Line.Delete; when C_E => Editor.Line.End_Of; when Cm_E | Cs_E => Editor.Window.Demote; when C_F => Editor.Cursor.Forward; when C_H => Editor.Cursor.Left; when M_J => Editor.Word.Next; when C_J => Editor.Cursor.Right; when C_K => Editor.Line.Delete_Forward; when M_K => Editor.Word.Delete_Forward; when Cm_K | Cs_K => Editor.Window.Delete; when C_L => Editor.Screen.Redraw; when M_L => Editor.Screen.Clear; when Cm_L | Cs_L => Editor.Window.Expand; when C_M => Editor.Mark.Push; when Cm_M | Cs_M => Editor.Mark.Previous; when C_N => Editor.Cursor.Down; when M_N => Editor.Cursor.Next (Prompt => True, Underline => True); when Cm_N | Cs_N => Editor.Window.Next; when C_O => Editor.Line.Open; when Cm_P | Cs_P => Editor.Window.Promote; when C_Q => Editor.Key.Name; when M_Q => Editor.Key.Prompt (Key_Code => ""); when C_R => Editor.Search.Previous (Target => "", Wildcard => False); when Cm_R | Cs_R => Editor.Search.Replace_Previous (Target => "", Replacement => "", Repeat => 1, Wildcard => False); when C_S => Editor.Search.Next (Target => "", Wildcard => False); when Cm_S => Editor.Search.Replace_Next (Target => "", Replacement => "", Repeat => 1, Wildcard => False); when C_T => Editor.Char.Transpose; when Cm_T | Cs_T => Editor.Line.Transpose; when M_T => Editor.Word.Transpose; when C_U => Editor.Cursor.Up; when M_U => Editor.Cursor.Previous (Prompt => True, Underline => True); when Cm_U | Cs_U => Editor.Window.Previous; when C_V => Editor.Image.Down; when M_V => Editor.Image.Up; when C_W => Editor.Region.Delete; when C_X => Editor.Set.Designation_Off; when M_X => Editor.Macro.Execute; when C_Y => Editor.Hold_Stack.Top; when M_Y => Editor.Hold_Stack.Next; when C_Z => Editor.Image.Up; -- the next 8 are the left-hand function keys on -- a sun keyboard. Disable them. The top two -- (L1, L2) leave alone as they are mapped to F11, F12 when Props => Editor.Noop; -- Menu_Operations.File.Properties; when Undo => Editor.Noop; when Front => Editor.Noop; when Copy => Editor.Noop; -- Menu_Operations.Edit.Copy; when Open => Editor.Noop; -- Menu_Operations.File.Open; when Paste => Editor.Noop; -- Menu_Operations.Edit.Paste; when Find => Editor.Noop; when Cut => Editor.Noop; -- Menu_Operations.Edit.Cut; when M_2 | M_At_Sign => case Key2 is when 'C' | 'c' => Editor.Char.Insert_String ("--| @COMPONENT_KIND "); when 'D' | 'd' => Editor.Char.Insert_String ("--| @DECOMPOSITION "); when 'N' | 'n' => Editor.Char.Insert_String ("--| @NOTE "); when 'R' | 'r' => case Key3 is when 'A' | 'a' => Editor.Char.Insert_String ("--| @RAISES "); when 'F' | 'f' => Editor.Char.Insert_String ("--| @REQUIREMENT FUNCTION "); when 'I' | 'i' => Editor.Char.Insert_String ("--| @REQUIREMENT INTERFACE "); when 'S' | 's' => Editor.Char.Insert_String ("--| @REQUIREMENT SUBFUNCTION "); when others => null; end case; when 'S' | 's' => Editor.Char.Insert_String ("--| @STATES ("); when M_2 | M_At_Sign => Editor.Char.Insert_String ("--| @"); when others => null; end case; --------------- -- Menu maps -- --------------- when M_B => -- debug menu case Key2 is when 'g' | 'G' => Debug.Execute (Name => ""); when 'o' | 'O' => Debug.Stop (Name => ""); when 's' | 'S' => Debug.Run (Stop_At => Debug.Statement); when 'l' | 'L' => Debug.Run (Stop_At => Debug.Local_Statement); when 'r' | 'R' => Debug.Run (Stop_At => Debug.Returned, Count => 1, In_Task => ""); when 'b' | 'B' => Menu_Operations.Debug.Break_Here; when 'k' | 'K' => Menu_Operations.Debug.Break; when 'a' | 'A' => Menu_Operations.Debug.Activate_Break; when 'v' | 'V' => Menu_Operations.Debug.Remove_Break; when 'c' | 'C' => case Key3 is when 'c' | 'C' => Menu_Operations.Debug.Context_Control; when 'e' | 'E' => Menu_Operations.Debug.Context_Evaluation; when others => null; end case; when 't' | 'T' => case Key3 is when 'e' | 'E' => Menu_Operations.Debug. Information_Exceptions; when 'r' | 'R' => Debug.Information (Info_Type => Debug.Rendezvous); when 'c' | 'C' => Debug.Information (Info_Type => Debug.Space); when 'a' | 'A' => Debug.Task_Display (For_Task => "", Task_Set => Debug.All_Tasks); when 's' | 'S' => Debug.Task_Display (For_Task => "", Task_Set => Debug.Stopped); when others => null; end case; when 'd' | 'D' => case Key3 is when 'b' | 'B' => Debug.Show (Debug.Breakpoints); when 's' | 'S' => Debug.Show (Debug.Steps); when 'h' | 'H' => Debug.Show (Debug.Stops_And_Holds); when 'e' | 'E' => Debug.Show (Debug.Exceptions); when 'l' | 'L' => Debug.Show (Debug.Libraries); when 'a' | 'A' => Debug.Show (Debug.All_State); when others => null; end case; when 'p' | 'P' => case Key3 is when 's' | 'S' => Debug.Put (Variable => "<SELECTION>"); when 'p' | 'P' => Debug.Put (Variable => ""); when others => null; end case; when 'e' | 'E' => Debug.Source (Location => "", Stack_Frame => 0); when 'h' | 'H' => Debug.Stack; when 'm' | 'M' => Menu_Operations.Debug.Modify; when 'q' | 'Q' => Menu_Operations.Debug.Quit; when others => null; end case; when M_P => -- Program/Compilation menu case Key2 is when 'f' | 'F' => Common.Format; when 't' | 'T' => Common.Complete; when 'e' | 'E' => Common.Semanticize; when 'c' | 'C' => Menu_Operations.Compile.Code; when 'i' | 'I' => Menu_Operations.Compile.Install; when 's' | 'S' => Menu_Operations.Compile.Source; when 'a' | 'A' => Menu_Operations.Compile.Archive; when 'n' | 'N' => case Key3 is when 'i' | 'I' => Menu_Operations.Dispatch (2); when 'e' | 'E' => Menu_Operations.Dispatch (3); when 'd' | 'D' => Menu_Operations.Dispatch (4); when 'p' | 'P' => Menu_Operations.Dispatch (5); when others => null; end case; when 'o' | 'O' => Menu_Operations.Compile.Options; when 'p' | 'P' => Menu_Operations.Compile.Promote; when 'd' | 'D' => Menu_Operations.Compile.Demote; when 'r' | 'R' => Menu_Operations.Edit.Rename_Ada; when 'g' | 'G' => Menu_Operations.Compile.Show_Usage; when 'w' | 'W' => Menu_Operations.Compile.Show_Unused; when 'l' | 'L' => Menu_Operations.Compile.Load; when 'u' | 'U' => Menu_Operations.Compile.Parse; when 'v' | 'V' => Menu_Operations.Compile.Build_Private_Part; when 'b' | 'B' => Menu_Operations.Compile.Build_Body; when 'm' | 'M' => Menu_Operations.Compile.Make_Separate; when 'k' | 'K' => Menu_Operations.Compile.Make_Inline; when others => null; end case; when M_E => -- edit menu case Key2 is when 't' | 'T' => Menu_Operations.Edit.Cut; when 'c' | 'C' => Menu_Operations.Edit.Copy; when 'p' | 'P' => Menu_Operations.Edit.Paste; when 'a' | 'A' => Menu_Operations.Region.Capitalize; when 'u' | 'U' => Menu_Operations.Region.Uppercase; when 'r' | 'R' => Menu_Operations.Region.Lowercase; when 'm' | 'M' => Menu_Operations.Region.Make_Comment; when 'o' | 'O' => Menu_Operations.Region.Uncomment; when 'f' | 'F' => Menu_Operations.Region.Fill; when 'j' | 'J' => Menu_Operations.Region.Justify; when 'e' | 'E' => Menu_Operations.Edit.Insert_File; when 'w' | 'W' => Menu_Operations.Edit.Overwrite_Mode; when 'i' | 'I' => Menu_Operations.Edit.Insert_Mode; when 'l' | 'L' => Menu_Operations.Edit.Fill_Mode; when 'n' | 'N' => Menu_Operations.Edit.No_Fill_Mode; when 'd' | 'D' => Menu_Operations.Edit.Underlines_Off; when others => null; end case; when M_F => -- File menu case Key2 is when 'n' | 'N' => case Key3 is when 'f' | 'F' => Menu_Operations.File.New_File; when 'a' | 'A' => Menu_Operations.File.New_Ada; when 'w' | 'W' => Menu_Operations.File.New_World; when 'd' | 'D' => Menu_Operations.File.New_Directory; when 's' | 'S' => Menu_Operations.File.New_Subsystem; when 'v' | 'V' => Menu_Operations.File.New_Working_View; when 'p' | 'P' => Menu_Operations.File.New_Spec_View; when 'r' | 'R' => Menu_Operations.File.New_Release_View; when 'c' | 'C' => Menu_Operations.File.New_Code_View; when 't' | 'T' => Menu_Operations.File.New_Switch_File; when 'y' | 'Y' => Menu_Operations.File.New_Activity; when 'm' | 'M' => Menu_Operations.File.New_Mailbox; when 'u' | 'U' => Menu_Operations.File.New_Venture; when 'o' | 'O' => Menu_Operations.File.New_Work_Order; when 'l' | 'L' => Menu_Operations.File.New_Work_Order_List; when 'e' | 'E' => Menu_Operations.File.New_System; when 'g' | 'G' => Menu_Operations.File.New_Gateway; when others => null; end case; when 'o' | 'O' => Menu_Operations.File.Open; when 'b' | 'B' => Menu_Operations.Dispatch (1); when 'c' | 'C' => Menu_Operations.File.Close; when 's' | 'S' => Menu_Operations.File.Save; when 'v' | 'V' => Menu_Operations.File.Revert; when 'p' | 'P' => Menu_Operations.File.Print; when 't' | 'T' => Menu_Operations.File.Properties; when 'y' | 'Y' => Menu_Operations.File.Copy; when 'm' | 'M' => Menu_Operations.File.Move; when 'd' | 'D' => Menu_Operations.File.Delete; when 'r' | 'R' => Menu_Operations.File.Run; when 'e' | 'E' => -- windows quit null; when others => null; end case; when M_H => -- Help menu case Key2 is when 'u' | 'U' => Menu_Operations.Help.Explain_Underline; when 'k' | 'K' => Editor.Key.Name (Key_Code => ""); --when 'b' | 'B' => -- Menu_Operations.Help.On_Keybindings; -- executed locally on workstation when 'h' | 'H' => Menu_Operations.Help.On_Help; when others => null; end case; when M_M => -- CM menu case Key2 is when 'o' | 'O' => Menu_Operations.Cm.Check_Out; when 'i' | 'I' => Menu_Operations.Cm.Check_In; when 'b' | 'B' => Menu_Operations.Cm.Abandon; when 'a' | 'A' => Menu_Operations.Cm.Accept_Changes; when 'j' | 'J' => Menu_Operations.Cm.Join; when 's' | 'S' => Menu_Operations.Cm.Sever; when 'm' | 'M' => Menu_Operations.Cm.Imports; when 'e' | 'E' => Menu_Operations.Cm.Properties; when 'c' | 'C' => Menu_Operations.Dispatch (7); when 'd' | 'D' => Menu_Operations.Dispatch (10); when 'g' | 'G' => Menu_Operations.Dispatch (8); when 'r' | 'R' => -- report... case Key3 is when 'c' | 'C' => Cmvc.Show_All_Controlled (In_View => "<CURSOR>"); when 'u' | 'U' => Cmvc.Show_All_Uncontrolled (In_View => "<CURSOR>"); when 'd' | 'D' => Cmvc.Show_Out_Of_Date_Objects; when 'o' | 'O' => Cmvc.Show_All_Checked_Out; when 'i' | 'I' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => False, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => True, Show_Referencers => False, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => False, Response => "<PROFILE>"); when 'r' | 'R' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => False, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => False, Show_Referencers => True, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => False, Response => "<PROFILE>"); when 'e' | 'E' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => False, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => False, Show_Referencers => False, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => True, Response => "<PROFILE>"); when 'm' | 'M' => Cmvc.Information (For_View => "<CURSOR>", Show_Model => True, Show_Whether_Frozen => False, Show_View_Kind => False, Show_Creation_Time => False, Show_Imports => False, Show_Referencers => False, Show_Unit_Summary => False, Show_Controlled_Objects => False, Show_Last_Release_Numbers => False, Show_Path_Name => False, Show_Subpath_Name => False, Show_Switches => False, Show_Exported_Units => False, Response => "<PROFILE>"); when 'h' | 'H' => Menu_Operations.Dispatch (6); -- history box when others => null; end case; when 't' | 'T' => -- *** should dispatch and do dialog box Activity.Edit; when others => null; end case; when M_O => -- Tools menu case Key2 is when 'm' | 'M' => case Key3 is when 'r' | 'R' => Menu_Operations.Tools.Read_Mail; when 'n' | 'N' => Mail.Send; when 's' | 'S' => Common.Promote; when 'p' | 'P' => Mail.Reply (To_All => False); when 'a' | 'A' => Mail.Reply (To_All => True); when 'f' | 'F' => Mail.Forward; when 'm' | 'M' => Mail.Remail; when 'd' | 'D' => Common.Object.Delete; when 'u' | 'U' => Common.Undo; when 'c' | 'C' => Common.Semanticize; when 'e' | 'E' => Mail.Expunge; when 't' | 'T' => Menu_Operations.Dispatch (14); when others => null; end case; --when 'f' | 'F' => -- Menu_Operations.Tools.Find_Image; -- direct bind when 's' | 'S' => case Key3 is when 'w' | 'W' => Speller.Check_Text; when 'i' | 'I' => Speller.Check_Image; when 'r' | 'R' => Speller.Exchange_Word; when 'a' | 'A' => Speller.Learn_Word; when 'l' | 'L' => Speller.Learn_Replacement (The_Word => "", Choice => 1, Dictionary => 0); when 'e' | 'E' => Speller.Explain_Next; when others => null; end case; when 'c' | 'C' => case Key3 is when 'b' | 'B' => Editor.Macro.Start; when 'e' | 'E' => Editor.Macro.Finish; when 'x' | 'X' => Editor.Macro.Execute; when 'k' | 'K' => Editor.Macro.Bind (Key => ""); when others => null; end case; when 'o' | 'O' => case Key3 is when 'b' | 'B' => Menu_Operations.Tools.Operator_Backup; when 'v' | 'V' => Menu_Operations.Tools. Operator_Verify_Backup; when 'h' | 'H' => Menu_Operations.Tools. Operator_Backup_History; when 'u' | 'U' => Menu_Operations.Tools.Operator_Edit_User; when 'g' | 'G' => Menu_Operations.Tools.Operator_Edit_Group; when 'f' | 'F' => Menu_Operations.Tools.Operator_Force_Logoff; when 'r' | 'R' => Menu_Operations.Tools.System_Manager_Report; when 's' | 'S' => Menu_Operations.Tools. System_Manager_Shutdown; when 'c' | 'C' => Menu_Operations.Tools. System_Manager_Cancel_Shutdown; when others => null; end case; when 'b' | 'B' => Menu_Operations.Tools.Bind_To_Key; when others => null; end case; when M_S => -- session menu case Key2 is when 'p' | 'P' => Menu_Operations.Session.Profile; when 'l' | 'L' => Menu_Operations.Session.Search_List; when 's' | 'S' => Menu_Operations.Session.Switches; when 'a' | 'A' => Menu_Operations.Dispatch (11); when 'j' | 'J' => case Key3 is when 'j' | 'J' => What.Users (False); when 'a' | 'A' => What.Users (True); -- Menu_Operations.Session.All_Jobs; when 'd' | 'D' => Menu_Operations.Session.Disable_Job; when 'e' | 'E' => Menu_Operations.Session.Enable_Job; when 'k' | 'K' => Menu_Operations.Session.Kill_Job; when 'c' | 'C' => -- job.connect Menu_Operations.Dispatch (15); when others => null; end case; when 'u' | 'U' => Menu_Operations.Session.Users; when 'm' | 'M' => Menu_Operations.Session.Machine_Information; when 'i' | 'I' => Menu_Operations.Session.End_Of_Input; when 'r' | 'R' => Menu_Operations.File.Quit; when 'k' | 'K' => Menu_Operations.Tools.Show_Locks; when 'n' | 'N' => case Key3 is when 'h' | 'H' => Menu_Operations.Tools.Screen_Push; -- ??? when 'p' | 'P' => Menu_Operations.Tools.Screen_Pop; when 'w' | 'W' => -- set window frames Menu_Operations.Dispatch (13); when others => null; end case; when others => null; end case; when M_I => -- Navigate menu case Key2 is when 's' | 'S' => Editor.Search.Next (Target => "", Wildcard => False); when 'b' | 'B' => Editor.Search.Previous (Target => "", Wildcard => False); when 'r' | 'R' => Editor.Search.Replace_Next (Target => "", Replacement => "", Repeat => 1, Wildcard => False); when 'n' | 'N' => Editor.Cursor.Next (Repeat => 1, Prompt => False, Underline => True); when 'p' | 'P' => Editor.Cursor.Previous (Repeat => 1, Prompt => False, Underline => True); when 'i' | 'I' => Menu_Operations.Traverse.Next_Item; when 'm' | 'M' => Menu_Operations.Traverse.Previous_Item; when 'd' | 'D' => Menu_Operations.Traverse.Definition; when 'e' | 'E' => Menu_Operations.Traverse.Enclosing; when 't' | 'T' => Menu_Operations.Region.Beginning_Of; when 'g' | 'G' => Menu_Operations.Region.End_Of; when 'o' | 'O' => Menu_Operations.Traverse.Other_Part; when 'h' | 'H' => Menu_Operations.Traverse.Home_Library; when 'l' | 'L' => Menu_Operations.Traverse.Resolve_Name; when others => null; end case; -- Window panel buttons and other functions when Menu_Pick => case Key2 is when 'b' => case Key3 is when 'a' => Editor.Window.Demote; when 'b' => Editor.Window.Delete; when 'c' => Editor.Image.End_Of; when 'd' => Editor.Window.Join (Repeat => 99); when 'e' => Editor.Image.Beginning_Of; when 'f' => Editor.Window.Promote; when 'g' => Editor.Image.Left; when 'h' => Editor.Image.Right; when 'i' => Editor.Window.Copy; when 'j' => Editor.Window.Join; when 'k' => Editor.Window.Join (-1); when 'l' => Editor.Window.Expand; when 'm' => Editor.Window.Expand (-4); when 'n' => Editor.Window.Focus; when 'o' => Editor.Image.Down; when 'p' => Editor.Image.Up; when 'q' => -- dialog box completion Menu_Operations.Click_Ok; when others => null; end case; when 'c' => case Key3 is when 'a' => Menu_Operations.Load_Image_Palette; when 'b' => -- get version info Menu_Operations.Dispatch (9); when others => null; end case; when 'q' => case Key3 is when 'r' | 'R' => Menu_Operations.Dispatch (12); -- for F? bar support when 'p' | 'P' => Editor.Key.Prompt (Key_Code => ""); when 'd' | 'D' => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when 'c' | 'C' => Common.Create_Command; when 'e' | 'E' => Common.Enclosing (In_Place => True, Library => False); when others => null; end case; when 'w' => case Key3 is when '!' => Editor.Window.Expand; when '>' => Editor.Window.Expand (-4); when '?' => Editor.Window.Directory; when 'b' => Editor.Window.Beginning_Of; when 'c' => Editor.Window.Copy; when 'd' => Editor.Window.Delete; when 'e' => Editor.Window.End_Of; -- when 'F' | 'f' => -- Editor.Window.Focus; when 'h' => Common.Enclosing (In_Place => False, Library => False); when 'j' => Editor.Window.Join (1); when 'm' => Editor.Window.Promote; when 'n' => Editor.Window.Next; when 't' => Editor.Window.Transpose; when 'u' => Editor.Window.Previous; when 'v' => Editor.Window.Child; when 'y' => Editor.Window.Demote; when 'l' => Editor.Window.Parent; when others => null; end case; when 'i' => case Key3 is when 'b' => Editor.Image.Beginning_Of; when 'e' => Editor.Image.End_Of; when 'f' => Editor.Set.Fill_Mode (True); when 'h' => Editor.Image.Left; when 'i' => Editor.Set.Insert_Mode (True); when 'j' => Editor.Image.Right; when 'n' => Editor.Image.Down; when 'o' => Editor.Set.Insert_Mode (False); when 'u' => Editor.Image.Up; when 'x' => Editor.Set.Fill_Mode (False); when others => null; end case; when 'l' => case Key3 is when '$' => Editor.Line.Center; when '<' => Editor.Line.Lower_Case; when '>' => Editor.Line.Upper_Case; when '?' => What.Line; when '6' => Editor.Line.Capitalize; when 'b' => Editor.Line.Beginning_Of; when 'c' => Editor.Line.Copy; when 'd' => Editor.Line.Delete; when 'e' => Editor.Line.End_Of; when 'i' => Editor.Line.Insert (1); when 'j' => Editor.Line.Join; when 'k' => Editor.Line.Delete_Forward; when 'o' => Editor.Line.Open; when 't' => Editor.Line.Transpose; when 'x' => Editor.Line.Delete_Forward; when others => null; end case; when 'm' => case Key3 is when 'a' => Editor.Macro.Start; when 'e' => Editor.Macro.Finish; when 'f' => Editor.Macro.Bind; when 'h' => Editor.Mark.Previous; when 'j' => Editor.Mark.Next; when 'x' => Editor.Macro.Execute; when 'n' => Editor.Mark.Push; when 'p' => Editor.Mark.Copy_Top; when 'r' => Editor.Mark.Rotate; when 't' => Editor.Mark.Swap; when 'u' => Editor.Mark.Top; when 'o' => Editor.Mark.Delete_Top; when others => null; end case; when 'o' => case Key3 is when '1' => Common.Expand; when '>' => Common.Elide; when '?' => Common.Explain; -- when 'A' | 'a' => -- Common.Object.First_Child; -- when 'B' | 'b' => -- Common.Object.First_Child; when 'c' => Common.Object.Copy; when 'd' => Common.Object.Delete; when 'e' => Common.Object.Last_Child; when 'g' => Common.Abandon; when 'h' => Common.Object.Parent; when 'i' => Common.Object.Insert; when 'j' => Common.Object.Child; when 'm' => Common.Object.Move; when 'n' => Common.Object.Next; when 'r' => Common.Redo; when 's' => Common.Sort_Image; when 'u' => Common.Undo; -- when 'V' | 'v' => -- Common.Redo; when 'x' => Common.Release; when 't' => Editor.Char.Tab_To_Comment; when 'f' => Common.Commit; when 'p' => Common.Object.Previous; -- when Down | S_Down => -- Common.Object.Next; -- when Left | S_Left => -- Common.Object.Parent; -- when Right | S_Right => -- Common.Object.Child; when others => null; end case; when 'r' => case Key3 is when '6' => Editor.Region.Capitalize; when '[' => Editor.Region.Start; when ']' => Editor.Region.Finish; when '+' => Editor.Region.Uncomment; when '<' => Editor.Region.Lower_Case; when '-' => Editor.Region.Comment; when '>' => Editor.Region.Upper_Case; when 'b' => Editor.Region.Beginning_Of; when 'c' => Editor.Region.Copy; when 'd' => Editor.Region.Delete; when 'e' => Editor.Region.End_Of; when 'f' => Editor.Region.Fill; when 'h' => Editor.Hold_Stack.Previous; when 'j' => Editor.Hold_Stack.Next; when 'm' => Editor.Region.Move; when 'n' => Editor.Hold_Stack.Push; when 'p' => Editor.Hold_Stack.Copy_Top; when 'q' => Editor.Region.Justify; when 'r' => Editor.Hold_Stack.Rotate; when 't' => Editor.Hold_Stack.Swap; when 'u' => Editor.Hold_Stack.Top; when 'x' => Editor.Region.Off; when 'z' => Editor.Hold_Stack.Delete_Top; when others => null; end case; when 'd' => case Key3 is when '<' => Editor.Word.Lower_Case; when '>' => Editor.Word.Upper_Case; when '?' => Speller.Check_Text (Data => "<TEXT>"); when '6' => Editor.Word.Capitalize; when 'b' => Editor.Word.Beginning_Of; when 'd' => Editor.Word.Delete; when 'e' => Editor.Word.End_Of; when 'i' => Speller.Learn_Word (The_Word => "", Dictionary => 0); when 'j' => Editor.Word.Next; when 'k' => Editor.Word.Delete_Forward; when 'm' => Speller.Check_Image; when 'n' => Speller.Explain_Next; when 'r' => Speller.Learn_Replacement (The_Word => "", Choice => 1, Dictionary => 0); when 't' => Editor.Word.Transpose; when 'W' => Speller.Speller_Window (In_Place => True); when 'x' => Speller.Exchange_Word (Choice => 1); when 'w' => Speller.Speller_Window (In_Place => False); when 'z' => Editor.Word.Delete_Forward; -- when Down | S_Down => -- Speller.Explain_Next; -- when Left | S_Left => -- Editor.Word.Previous; -- when Right | S_Right => -- Editor.Word.Next; -- when C_W | Cs_W => -- Speller.Speller_Window (In_Place => False); when others => null; end case; when others => null; end case; -- Mouse button mapping when Mouse_Down => Editor.Screen.Down; when Mouse_Right => Editor.Screen.Right; when Mouse_Image_Down => Editor.Image.Down; when Mouse_Image_Right => Editor.Image.Right; when Mouse_Button1 => Editor.Set.Input_Logging_Off; when Mouse_Button1_Dbl => Common.Definition (Name => "<CURSOR>", In_Place => False, Visible => True); when Mouse_Button2_Dbl => Common.Object.Parent (Repeat => 1); when Mouse_Button3 => Editor.Noop; when Mouse_Button3_Dbl => Common.Enclosing (In_Place => False, Library => False); when Mouse_Button4 => Editor.Region.Start; when Mouse_Button4_Up => Editor.Region.Finish; when Mouse_Button4_Dbl => Common.Definition (Name => "<CURSOR>", In_Place => True, Visible => True); when Mouse_Button5 => Editor.Region.Copy; when Mouse_Button5_Dbl => Common.Object.Child (Repeat => 1); when Mouse_Button6 => Editor.Region.Finish; when Mouse_Button6_Dbl => Common.Enclosing (In_Place => True, Library => False); when Mouse_Minus => Editor.Set.Argument_Minus; when Mouse_0 => Editor.Set.Argument_Digit (Argument => 0); when Mouse_1 => Editor.Set.Argument_Digit (Argument => 1); when Mouse_2 => Editor.Set.Argument_Digit (Argument => 2); when Mouse_3 => Editor.Set.Argument_Digit (Argument => 3); when Mouse_4 => Editor.Set.Argument_Digit (Argument => 4); when Mouse_5 => Editor.Set.Argument_Digit (Argument => 5); when Mouse_6 => Editor.Set.Argument_Digit (Argument => 6); when Mouse_7 => Editor.Set.Argument_Digit (Argument => 7); when Mouse_8 => Editor.Set.Argument_Digit (Argument => 8); when Mouse_9 => Editor.Set.Argument_Digit (Argument => 9); when Menu_Return => Editor.Line.Insert (1); when X_No_Op => Editor.Noop; when X_Screen_Height => Editor.Screen.Set_Lines (24); when X_Screen_Width => Editor.Screen.Set_Columns (80); when others => null; end case; end case; end Rational_Access_Commands;package Rational_Access_Key_Names is ----Generic X Keysym key file. ----05/23/89 - Mouse_0..Mouse_9 ----4/15/92 type Key_Names is ( ----Special non-X11 keys we need for Rational Menus Menu_Job_Kill, Menu_Job_Disable, Menu_Debug_Stop, Menu_Return, Mouse_Argument, Mouse_Down, Mouse_Right, Mouse_Image_Down, Mouse_Image_Right, Mouse_Button1, Mouse_Button2, Mouse_Button3, Mouse_Button4, Mouse_Button5, Mouse_Button6, Mouse_Button1_Up, Mouse_Button2_Up, Mouse_Button3_Up, Mouse_Button4_Up, Mouse_Button5_Up, Mouse_Button6_Up, Mouse_Button1_Dbl, Mouse_Button2_Dbl, Mouse_Button3_Dbl, Mouse_Button4_Dbl, Mouse_Button5_Dbl, Mouse_Button6_Dbl, Menu_Pick, Mouse_Minus, Mouse_0, Mouse_1, Mouse_2, Mouse_3, Mouse_4, Mouse_5, Mouse_6, Mouse_7, Mouse_8, Mouse_9, X_No_Op, X_Screen_Height, X_Screen_Width, X_Screen_Redraw, ----X11 Miscellaneous Keys Backspace, -- back space, back char S_Backspace, C_Backspace, M_Backspace, Cs_Backspace, Cm_Backspace, Ms_Backspace, Cms_Backspace, Tab, S_Tab, C_Tab, M_Tab, Cs_Tab, Cm_Tab, Ms_Tab, Cms_Tab, Linefeed, -- Linefeed, LF C_Linefeed, M_Linefeed, Cm_Linefeed, S_Linefeed, Cs_Linefeed, Ms_Linefeed, Cms_Linefeed, Carriage_Return,-- Return, enter C_Carriage_Return, M_Carriage_Return, Cm_Carriage_Return, S_Carriage_Return, Cs_Carriage_Return, Ms_Carriage_Return, Cms_Carriage_Return, Escape, C_Escape, M_Escape, Cm_Escape, S_Escape, Cs_Escape, Ms_Escape, Cms_Escape, Delete, -- Delete, rubout C_Delete, M_Delete, Cm_Delete, S_Delete, Cs_Delete, Ms_Delete, Cms_Delete, Left, -- Move left, left arrow C_Left, M_Left, Cm_Left, S_Left, Cs_Left, Ms_Left, Cms_Left, Up, -- Move up, up arrow C_Up, M_Up, Cm_Up, S_Up, Cs_Up, Ms_Up, Cms_Up, Right, -- Move right, right arrow C_Right, M_Right, Cm_Right, S_Right, Cs_Right, Ms_Right, Cms_Right, Down, -- Move down, down arrow C_Down, M_Down, Cm_Down, S_Down, Cs_Down, Ms_Down, Cms_Down, Alt, C_Alt, M_Alt, Cm_Alt, S_Alt, Cs_Alt, Ms_Alt, Cms_Alt, Alt_Graph, C_Alt_Graph, M_Alt_Graph, Cm_Alt_Graph, S_Alt_Graph, Cs_Alt_Graph, Ms_Alt_Graph, Cms_Alt_Graph, Compose, C_Compose, M_Compose, Cm_Compose, S_Compose, Cs_Compose, Ms_Compose, Cms_Compose, Stop, C_Stop, M_Stop, Cm_Stop, S_Stop, Cs_Stop, Ms_Stop, Cms_Stop, Again, C_Again, M_Again, Cm_Again, S_Again, Cs_Again, Ms_Again, Cms_Again, Props, C_Props, M_Props, Cm_Props, S_Props, Cs_Props, Ms_Props, Cms_Props, Undo, C_Undo, M_Undo, Cm_Undo, S_Undo, Cs_Undo, Ms_Undo, Cms_Undo, Front, C_Front, M_Front, Cm_Front, S_Front, Cs_Front, Ms_Front, Cms_Front, Copy, C_Copy, M_Copy, Cm_Copy, S_Copy, Cs_Copy, Ms_Copy, Cms_Copy, Open, C_Open, M_Open, Cm_Open, S_Open, Cs_Open, Ms_Open, Cms_Open, Paste, C_Paste, M_Paste, Cm_Paste, S_Paste, Cs_Paste, Ms_Paste, Cms_Paste, Find, C_Find, M_Find, Cm_Find, S_Find, Cs_Find, Ms_Find, Cms_Find, Cut, C_Cut, M_Cut, Cm_Cut, S_Cut, Cs_Cut, Ms_Cut, Cms_Cut, Help, C_Help, M_Help, Cm_Help, S_Help, Cs_Help, Ms_Help, Cms_Help, Object, Region, Window, Image, Line, Word, Mark, Pause, C_Pause, M_Pause, Cm_Pause, S_Pause, Cs_Pause, Ms_Pause, Cms_Pause, Print, C_Print, M_Print, Cm_Print, S_Print, Cs_Print, Ms_Print, Cms_Print, Num_Lock, C_Num_Lock, M_Num_Lock, Cm_Num_Lock, S_Num_Lock, Cs_Num_Lock, Ms_Num_Lock, Cms_Num_Lock, Scroll_Lock, C_Scroll_Lock, M_Scroll_Lock, Cm_Scroll_Lock, S_Scroll_Lock, Cs_Scroll_Lock, Ms_Scroll_Lock, Cms_Scroll_Lock, Kp_Equal, C_Kp_Equal, M_Kp_Equal, Cm_Kp_Equal, S_Kp_Equal, Cs_Kp_Equal, Ms_Kp_Equal, Cms_Kp_Equal, Kp_Divide, C_Kp_Divide, M_Kp_Divide, Cm_Kp_Divide, S_Kp_Divide, Cs_Kp_Divide, Ms_Kp_Divide, Cms_Kp_Divide, Kp_Multiply, C_Kp_Multiply, M_Kp_Multiply, Cm_Kp_Multiply, S_Kp_Multiply, Cs_Kp_Multiply, Ms_Kp_Multiply, Cms_Kp_Multiply, Kp_Subtract, C_Kp_Subtract, M_Kp_Subtract, Cm_Kp_Subtract, S_Kp_Subtract, Cs_Kp_Subtract, Ms_Kp_Subtract, Cms_Kp_Subtract, Begin_Of, C_Begin_Of, M_Begin_Of, Cm_Begin_Of, S_Begin_Of, Cs_Begin_Of, Ms_Begin_Of, Cms_Begin_Of, Page_Up, C_Page_Up, M_Page_Up, Cm_Page_Up, S_Page_Up, Cs_Page_Up, Ms_Page_Up, Cms_Page_Up, Kp_Add, C_Kp_Add, M_Kp_Add, Cm_Kp_Add, S_Kp_Add, Cs_Kp_Add, Ms_Kp_Add, Cms_Kp_Add, Kp_5, C_Kp_5, M_Kp_5, Cm_Kp_5, S_Kp_5, Cs_Kp_5, Ms_Kp_5, Cms_Kp_5, End_Key, C_End_Key, M_End_Key, Cm_End_Key, S_End_Key, Cs_End_Key, Ms_End_Key, Cms_End_Key, Page_Down, C_Page_Down, M_Page_Down, Cm_Page_Down, S_Page_Down, Cs_Page_Down, Ms_Page_Down, Cms_Page_Down, Kp_Enter, C_Kp_Enter, M_Kp_Enter, Cm_Kp_Enter, S_Kp_Enter, Cs_Kp_Enter, Ms_Kp_Enter, Cms_Kp_Enter, Insert, C_Insert, M_Insert, Cm_Insert, S_Insert, Cs_Insert, Ms_Insert, Cms_Insert, Kp_Decimal, C_Kp_Decimal, M_Kp_Decimal, Cm_Kp_Decimal, S_Kp_Decimal, Cs_Kp_Decimal, Ms_Kp_Decimal, Cms_Kp_Decimal, F1, C_F1, M_F1, Cm_F1, S_F1, Cs_F1, Ms_F1, Cms_F1, F2, C_F2, M_F2, Cm_F2, S_F2, Cs_F2, Ms_F2, Cms_F2, F3, C_F3, M_F3, Cm_F3, S_F3, Cs_F3, Ms_F3, Cms_F3, F4, C_F4, M_F4, Cm_F4, S_F4, Cs_F4, Ms_F4, Cms_F4, F5, C_F5, M_F5, Cm_F5, S_F5, Cs_F5, Ms_F5, Cms_F5, F6, C_F6, M_F6, Cm_F6, S_F6, Cs_F6, Ms_F6, Cms_F6, F7, C_F7, M_F7, Cm_F7, S_F7, Cs_F7, Ms_F7, Cms_F7, F8, C_F8, M_F8, Cm_F8, S_F8, Cs_F8, Ms_F8, Cms_F8, F9, C_F9, M_F9, Cm_F9, S_F9, Cs_F9, Ms_F9, Cms_F9, F10, C_F10, M_F10, Cm_F10, S_F10, Cs_F10, Ms_F10, Cms_F10, F11, C_F11, M_F11, Cm_F11, S_F11, Cs_F11, Ms_F11, Cms_F11, F12, C_F12, M_F12, Cm_F12, S_F12, Cs_F12, Ms_F12, Cms_F12, ----X11 Latin1 keys ' ', C_Space, M_Space, Cm_Space, S_Space, Cs_Space, Ms_Space, Cms_Space, '!', C_Exclam, M_Exclam, Cm_Exclam, '"', C_Quotation, M_Quotation, Cm_Quotation, '#', C_Sharp, M_Sharp, Cm_Sharp, '$', C_Dollar, M_Dollar, Cm_Dollar, '%', C_Percent, M_Percent, Cm_Percent, '&', C_Ampersand, M_Ampersand, Cm_Ampersand, ''', C_Tick, M_Tick, Cm_Tick, '(', C_Left_Paren, M_Left_Paren, Cm_Left_Paren, ')', C_Right_Paren, M_Right_Paren, Cm_Right_Paren, '*', C_Star, M_Star, Cm_Star, '+', C_Plus, M_Plus, Cm_Plus, ',', C_Comma, M_Comma, Cm_Comma, '-', C_Minus, M_Minus, Cm_Minus, '.', C_Period, M_Period, Cm_Period, '/', C_Slash, M_Slash, Cm_Slash, '0', C_0, M_0, Cm_0, '1', C_1, M_1, Cm_1, '2', C_2, M_2, Cm_2, '3', C_3, M_3, Cm_3, '4', C_4, M_4, Cm_4, '5', C_5, M_5, Cm_5, '6', C_6, M_6, Cm_6, '7', C_7, M_7, Cm_7, '8', C_8, M_8, Cm_8, '9', C_9, M_9, Cm_9, ':', C_Colon, M_Colon, Cm_Colon, ';', C_Semicolon, M_Semicolon, Cm_Semicolon, '<', C_Less_Than, M_Less_Than, Cm_Less_Than, '=', C_Equal, M_Equal, Cm_Equal, '>', C_Greater_Than, M_Greater_Than, Cm_Greater_Than, '?', C_Question, M_Question, Cm_Question, '@', C_At_Sign, M_At_Sign, Cm_At_Sign, 'a', C_A, M_A, Cm_A, 'A', Cs_A, Ms_A, Cms_A, 'b', C_B, M_B, Cm_B, 'B', Cs_B, Ms_B, Cms_B, 'c', C_C, M_C, Cm_C, 'C', Cs_C, Ms_C, Cms_C, 'd', C_D, M_D, Cm_D, 'D', Cs_D, Ms_D, Cms_D, 'e', C_E, M_E, Cm_E, 'E', Cs_E, Ms_E, Cms_E, 'f', C_F, M_F, Cm_F, 'F', Cs_F, Ms_F, Cms_F, 'g', C_G, M_G, Cm_G, 'G', Cs_G, Ms_G, Cms_G, 'h', C_H, M_H, Cm_H, 'H', Cs_H, Ms_H, Cms_H, 'i', C_I, M_I, Cm_I, 'I', Cs_I, Ms_I, Cms_I, 'j', C_J, M_J, Cm_J, 'J', Cs_J, Ms_J, Cms_J, 'k', C_K, M_K, Cm_K, 'K', Cs_K, Ms_K, Cms_K, 'l', C_L, M_L, Cm_L, 'L', Cs_L, Ms_L, Cms_L, 'm', C_M, M_M, Cm_M, 'M', Cs_M, Ms_M, Cms_M, 'n', C_N, M_N, Cm_N, 'N', Cs_N, Ms_N, Cms_N, 'o', C_O, M_O, Cm_O, 'O', Cs_O, Ms_O, Cms_O, 'p', C_P, M_P, Cm_P, 'P', Cs_P, Ms_P, Cms_P, 'q', C_Q, M_Q, Cm_Q, 'Q', Cs_Q, Ms_Q, Cms_Q, 'r', C_R, M_R, Cm_R, 'R', Cs_R, Ms_R, Cms_R, 's', C_S, M_S, Cm_S, 'S', Cs_S, Ms_S, Cms_S, 't', C_T, M_T, Cm_T, 'T', Cs_T, Ms_T, Cms_T, 'u', C_U, M_U, Cm_U, 'U', Cs_U, Ms_U, Cms_U, 'v', C_V, M_V, Cm_V, 'V', Cs_V, Ms_V, Cms_V, 'w', C_W, M_W, Cm_W, 'W', Cs_W, Ms_W, Cms_W, 'x', C_X, M_X, Cm_X, 'X', Cs_X, Ms_X, Cms_X, 'y', C_Y, M_Y, Cm_Y, 'Y', Cs_Y, Ms_Y, Cms_Y, 'z', C_Z, M_Z, Cm_Z, 'Z', Cs_Z, Ms_Z, Cms_Z, '[', C_Left_Bracket, M_Left_Bracket, Cm_Left_Bracket, '\', C_Backslash, M_Backslash, Cm_Backslash, ']', C_Right_Bracket, M_Right_Bracket, Cm_Right_Bracket, '^', C_Circumflex, M_Circumflex, Cm_Circumflex, '_', C_Underline, M_Underline, Cm_Underline, '`', C_Grave, M_Grave, Cm_Grave, '{', C_Left_Brace, M_Left_Brace, Cm_Left_Brace, '|', C_Bar, M_Bar, Cm_Bar, '}', C_Right_Brace, M_Right_Brace, Cm_Right_Brace, '~', C_Tilde, M_Tilde, Cm_Tilde ); ----Convenient names for control characters. Nul : constant Key_Names := C_At_Sign; Home : constant Key_Names := Begin_Of; C_Home : constant Key_Names := C_Begin_Of; M_Home : constant Key_Names := M_Begin_Of; Cm_Home : constant Key_Names := Cm_Begin_Of; S_Home : constant Key_Names := S_Begin_Of; Cs_Home : constant Key_Names := Cs_Begin_Of; Ms_Home : constant Key_Names := Ms_Begin_Of; Cms_Home : constant Key_Names := Cms_Begin_Of; Kp_0 : constant Key_Names := Insert; S_Kp_0 : constant Key_Names := S_Insert; C_Kp_0 : constant Key_Names := C_Insert; M_Kp_0 : constant Key_Names := M_Insert; Cs_Kp_0 : constant Key_Names := Cs_Insert; Ms_Kp_0 : constant Key_Names := Ms_Insert; Cm_Kp_0 : constant Key_Names := Cm_Insert; Cms_Kp_0 : constant Key_Names := Cms_Insert; Kp_1 : constant Key_Names := End_Key; S_Kp_1 : constant Key_Names := S_End_Key; C_Kp_1 : constant Key_Names := C_End_Key; M_Kp_1 : constant Key_Names := M_End_Key; Cs_Kp_1 : constant Key_Names := Cs_End_Key; Ms_Kp_1 : constant Key_Names := Ms_End_Key; Cm_Kp_1 : constant Key_Names := Cm_End_Key; Cms_Kp_1 : constant Key_Names := Cms_End_Key; Kp_2 : constant Key_Names := Down; S_Kp_2 : constant Key_Names := S_Down; C_Kp_2 : constant Key_Names := C_Down; M_Kp_2 : constant Key_Names := M_Down; Cs_Kp_2 : constant Key_Names := Cs_Down; Ms_Kp_2 : constant Key_Names := Ms_Down; Cm_Kp_2 : constant Key_Names := Cm_Down; Cms_Kp_2 : constant Key_Names := Cms_Down; Kp_3 : constant Key_Names := Page_Down; S_Kp_3 : constant Key_Names := S_Page_Down; C_Kp_3 : constant Key_Names := C_Page_Down; M_Kp_3 : constant Key_Names := M_Page_Down; Cs_Kp_3 : constant Key_Names := Cs_Page_Down; Ms_Kp_3 : constant Key_Names := Ms_Page_Down; Cm_Kp_3 : constant Key_Names := Cm_Page_Down; Cms_Kp_3 : constant Key_Names := Cms_Page_Down; Kp_4 : constant Key_Names := Left; S_Kp_4 : constant Key_Names := S_Left; C_Kp_4 : constant Key_Names := C_Left; M_Kp_4 : constant Key_Names := M_Left; Cs_Kp_4 : constant Key_Names := Cs_Left; Ms_Kp_4 : constant Key_Names := Ms_Left; Cm_Kp_4 : constant Key_Names := Cm_Left; Cms_Kp_4 : constant Key_Names := Cms_Left; Kp_6 : constant Key_Names := Right; S_Kp_6 : constant Key_Names := S_Right; C_Kp_6 : constant Key_Names := C_Right; M_Kp_6 : constant Key_Names := M_Right; Cs_Kp_6 : constant Key_Names := Cs_Right; Ms_Kp_6 : constant Key_Names := Ms_Right; Cm_Kp_6 : constant Key_Names := Cm_Right; Cms_Kp_6 : constant Key_Names := Cms_Right; Kp_7 : constant Key_Names := Begin_Of; S_Kp_7 : constant Key_Names := S_Begin_Of; C_Kp_7 : constant Key_Names := C_Begin_Of; M_Kp_7 : constant Key_Names := M_Begin_Of; Cs_Kp_7 : constant Key_Names := Cs_Begin_Of; Ms_Kp_7 : constant Key_Names := Ms_Begin_Of; Cm_Kp_7 : constant Key_Names := Cm_Begin_Of; Cms_Kp_7 : constant Key_Names := Cms_Begin_Of; Kp_8 : constant Key_Names := Up; S_Kp_8 : constant Key_Names := S_Up; C_Kp_8 : constant Key_Names := C_Up; M_Kp_8 : constant Key_Names := M_Up; Cs_Kp_8 : constant Key_Names := Cs_Up; Ms_Kp_8 : constant Key_Names := Ms_Up; Cm_Kp_8 : constant Key_Names := Cm_Up; Cms_Kp_8 : constant Key_Names := Cms_Up; Kp_9 : constant Key_Names := Page_Up; S_Kp_9 : constant Key_Names := S_Page_Up; C_Kp_9 : constant Key_Names := C_Page_Up; M_Kp_9 : constant Key_Names := M_Page_Up; Cs_Kp_9 : constant Key_Names := Cs_Page_Up; Ms_Kp_9 : constant Key_Names := Ms_Page_Up; Cm_Kp_9 : constant Key_Names := Cm_Page_Up; Cms_Kp_9 : constant Key_Names := Cms_Page_Up; L1 : constant Key_Names := Stop; C_L1 : constant Key_Names := C_Stop; M_L1 : constant Key_Names := M_Stop; Cm_L1 : constant Key_Names := Cm_Stop; S_L1 : constant Key_Names := S_Stop; Cs_L1 : constant Key_Names := Cs_Stop; Ms_L1 : constant Key_Names := Ms_Stop; Cms_L1 : constant Key_Names := Cms_Stop; L2 : constant Key_Names := Again; C_L2 : constant Key_Names := C_Again; M_L2 : constant Key_Names := M_Again; Cm_L2 : constant Key_Names := Cm_Again; S_L2 : constant Key_Names := S_Again; Cs_L2 : constant Key_Names := Cs_Again; Ms_L2 : constant Key_Names := Ms_Again; Cms_L2 : constant Key_Names := Cms_Again; L3 : constant Key_Names := Props; C_L3 : constant Key_Names := C_Props; M_L3 : constant Key_Names := M_Props; Cm_L3 : constant Key_Names := Cm_Props; S_L3 : constant Key_Names := S_Props; Cs_L3 : constant Key_Names := Cs_Props; Ms_L3 : constant Key_Names := Ms_Props; Cms_L3 : constant Key_Names := Cms_Props; L4 : constant Key_Names := Undo; C_L4 : constant Key_Names := C_Undo; M_L4 : constant Key_Names := M_Undo; Cm_L4 : constant Key_Names := Cm_Undo; S_L4 : constant Key_Names := S_Undo; Cs_L4 : constant Key_Names := Cs_Undo; Ms_L4 : constant Key_Names := Ms_Undo; Cms_L4 : constant Key_Names := Cms_Undo; L5 : constant Key_Names := Front; C_L5 : constant Key_Names := C_Front; M_L5 : constant Key_Names := M_Front; Cm_L5 : constant Key_Names := Cm_Front; S_L5 : constant Key_Names := S_Front; Cs_L5 : constant Key_Names := Cs_Front; Ms_L5 : constant Key_Names := Ms_Front; Cms_L5 : constant Key_Names := Cms_Front; L6 : constant Key_Names := Copy; C_L6 : constant Key_Names := C_Copy; M_L6 : constant Key_Names := M_Copy; Cm_L6 : constant Key_Names := Cm_Copy; S_L6 : constant Key_Names := S_Copy; Cs_L6 : constant Key_Names := Cs_Copy; Ms_L6 : constant Key_Names := Ms_Copy; Cms_L6 : constant Key_Names := Cms_Copy; L7 : constant Key_Names := Open; C_L7 : constant Key_Names := C_Open; M_L7 : constant Key_Names := M_Open; Cm_L7 : constant Key_Names := Cm_Open; S_L7 : constant Key_Names := S_Open; Cs_L7 : constant Key_Names := Cs_Open; Ms_L7 : constant Key_Names := Ms_Open; Cms_L7 : constant Key_Names := Cms_Open; L8 : constant Key_Names := Paste; C_L8 : constant Key_Names := C_Paste; M_L8 : constant Key_Names := M_Paste; Cm_L8 : constant Key_Names := Cm_Paste; S_L8 : constant Key_Names := S_Paste; Cs_L8 : constant Key_Names := Cs_Paste; Ms_L8 : constant Key_Names := Ms_Paste; Cms_L8 : constant Key_Names := Cms_Paste; L9 : constant Key_Names := Find; C_L9 : constant Key_Names := C_Find; M_L9 : constant Key_Names := M_Find; Cm_L9 : constant Key_Names := Cm_Find; S_L9 : constant Key_Names := S_Find; Cs_L9 : constant Key_Names := Cs_Find; Ms_L9 : constant Key_Names := Ms_Find; Cms_L9 : constant Key_Names := Cms_Find; L10 : constant Key_Names := Cut; C_L10 : constant Key_Names := C_Cut; M_L10 : constant Key_Names := M_Cut; Cm_L10 : constant Key_Names := Cm_Cut; S_L10 : constant Key_Names := S_Cut; Cs_L10 : constant Key_Names := Cs_Cut; Ms_L10 : constant Key_Names := Ms_Cut; Cms_L10 : constant Key_Names := Cms_Cut; end Rational_Access_Key_Names;52 1