|
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: 15360 (0x3c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbt_Key3, seg_004fce
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Unchecked_Deallocation; with Xlbt_Arithmetic; use Xlbt_Arithmetic; with Xlbt_String; use Xlbt_String; package Xlbt_Key3 is ------------------------------------------------------------------------------ -- X Library Key Codes, Symbols, and Translations - Full Interface -- -- Xlbt_Key3 - Types and structures used to describe and keep track of keys -- on the keyboard. ------------------------------------------------------------------------------ -- Copyright 1989 - 1991 by Rational, Santa Clara, California. -- Copyright 1985 - 1989 by the Massachusetts Institute of Technology -- -- All Rights Reserved. -- -- Permission to use, copy, modify, and distribute this software and its -- documentation for any purpose and without fee is hereby granted, -- provided that the above copyright notice(s) appear in all copies and that -- both that copyright notice(s) and this permission notice appear in -- supporting documentation, and that the names of MIT or Rational not be -- used in advertising or publicity pertaining to distribution of the software -- without specific, written prior permission. -- -- MIT and Rational disclaim all warranties with regard to this software, -- including all implied warranties of merchantability and fitness, in no -- event shall MIT or Rational be liable for any special, indirect or -- consequential damages or any damages whatsoever resulting from loss of use, -- data or profits, whether in an action of contract, negligence or other -- tortious action, arising out of or in connection with the use or performance -- of this software. ------------------------------------------------------------------------------ --\x0c ------------------------------------------------------------------------------ -- X_Compose_Status - Compose sequence status structure, used w/X_Lookup_String. ------------------------------------------------------------------------------ type X_Compose_Status is record Compose_Ptr : X_String_Pointer; -- state table pointer Chars_Matched : S_Long; -- match state end record; None_X_Compose_Status : constant X_Compose_Status := (None_X_String_Pointer, 0); ------------------------------------------------------------------------------ -- X_Key_Button_Mask ------------------------------------------------------------------------------ --/ if Bit0_Sign_Bit then type X_Key_Button_Mask_Index is (Any_Modifier, Xkbmi14, -- Unused Xkbmi13, -- Unused Button_5_Mask, Button_4_Mask, Button_3_Mask, Button_2_Mask, Button_1_Mask, Mod_5_Mask, Mod_4_Mask, Mod_3_Mask, Mod_2_Mask, Mod_1_Mask, Control_Mask, Lock_Mask, Shift_Mask); --/ else -- not Bit0_Sign_Bit --// --// type X_Key_Button_Mask_Index is --// (Shift_Mask, --// Lock_Mask, --// Control_Mask, --// Mod_1_Mask, --// Mod_2_Mask, --// Mod_3_Mask, --// Mod_4_Mask, --// Mod_5_Mask, --// Button_1_Mask, --// Button_2_Mask, --// Button_3_Mask, --// Button_4_Mask, --// Button_5_Mask, --// Xkbmi13, -- Unused --// Xkbmi14, -- Unused --// Any_Modifier); --// --/ end if; type X_Key_Button_Mask is array (X_Key_Button_Mask_Index) of Boolean; --/ if Length_Clauses then for X_Key_Button_Mask'Size use 16; --/ elsif Pack then --// pragma Pack (X_Key_Button_Mask); --/ end if; None_X_Key_Button_Mask : constant X_Key_Button_Mask := (others => False); ------------------------------------------------------------------------------ -- X_Key_Code - simple "numeric" index of 8 bits -- -- Any_Key - Special X_Key_Code passed to Grab_Key ------------------------------------------------------------------------------ type X_Key_Code is new U_Char; --/ if Length_Clauses then for X_Key_Code'Size use 8; --/ end if; type X_Key_Code_Array is array (S_Natural range <>) of X_Key_Code; type X_Key_Code_List is access X_Key_Code_Array; --/ if Pack then --// pragma Pack (X_Key_Code_Array); --/ end if; --/ if Enable_Deallocation then pragma Enable_Deallocation (X_Key_Code_List); --/ end if; None_X_Key_Code : constant X_Key_Code := 0; None_X_Key_Code_List : constant X_Key_Code_List := null; Any_Key : constant X_Key_Code := 0; procedure Free_X_Key_Code_List is new Unchecked_Deallocation (X_Key_Code_Array, X_Key_Code_List); ------------------------------------------------------------------------------ -- X_Key_Modifier names. Used to build a X_Set_Modifier_Mapping request or -- to read a X_Get_Modifier_Mapping request. These correspond to the -- masks defined above. ------------------------------------------------------------------------------ type X_Key_Modifier is (Shift_Map_Index, Lock_Map_Index, Control_Map_Index, Mod_1_Map_Index, Mod_2_Map_Index, Mod_3_Map_Index, Mod_4_Map_Index, Mod_5_Map_Index); ------------------------------------------------------------------------------ -- X_Key_Sym ------------------------------------------------------------------------------ type X_Key_Sym is new S_Long; --/ if Length_Clauses then for X_Key_Sym'Size use 32; --/ end if; None_X_Key_Sym : constant X_Key_Sym := 0; No_Symbol : constant X_Key_Sym := 0; ----Special key symbol meaning "this key does nothing" ------------------------------------------------------------------------------ -- X_Key_Sym_List ------------------------------------------------------------------------------ type X_Key_Sym_Array is array (S_Natural range <>) of X_Key_Sym; type X_Key_Sym_List is access X_Key_Sym_Array; --/ if Pack then --// pragma Pack (X_Key_Sym_Array); --/ end if; --/ if Enable_Deallocation then pragma Enable_Deallocation (X_Key_Sym_List); --/ end if; None_X_Key_Sym_List : constant X_Key_Sym_List := null; procedure Free_X_Key_Sym_List is new Unchecked_Deallocation (X_Key_Sym_Array, X_Key_Sym_List); ------------------------------------------------------------------------------ -- X_Key_Sym_List_2d ------------------------------------------------------------------------------ --/ if not TeleGen2_2d_Bug then type X_Key_Sym_Array_2d is array (X_Ky_Code range <>, U_Char range <>) of X_Key_Sym; --/ else --// type X_Key_Sym_Array_2d is array (Telegen2_2d_Bug range <>, --// U_Char range <>) of X_Key_Sym; --// --/ end if; type X_Key_Sym_List_2d is access X_Key_Sym_Array_2d; --/ if Pack then --// pragma Pack (X_Key_Sym_Array_2d); --/ end if; --/ if Enable_Deallocation then pragma Enable_Deallocation (X_Key_Sym_List_2d); --/ end if; None_X_Key_Sym_List_2d : constant X_Key_Sym_List_2d := null; procedure Free_X_Key_Sym_List_2d is new Unchecked_Deallocation (X_Key_Sym_Array_2d, X_Key_Sym_List_2d); --------------------------------------------------------------------------------- -- X_Key_Trans ------------------------------------------------------------------------------ type X_Key_Trans_Rec; type X_Key_Trans is access X_Key_Trans_Rec; --/ if Enable_Deallocation then pragma Enable_Deallocation (X_Key_Trans); --/ end if; type X_Key_Trans_Rec is record Next : -- next on list X_Key_Trans := null; Str : -- string to return when the time comes X_String_Pointer := null; Key : -- key symbol rebound X_Key_Sym := None_X_Key_Sym; State : -- modifier state X_Key_Button_Mask := None_X_Key_Button_Mask; Modifiers : -- modifier key symbols you want X_Key_Sym_List := null; end record; None_X_Key_Trans : constant X_Key_Trans := null; procedure Free_X_Key_Trans (Kt : in out X_Key_Trans); procedure Free_X_Key_Trans_List (Kt : in out X_Key_Trans); ------------------------------------------------------------------------------ -- X_Modifier_Key_Code_List ------------------------------------------------------------------------------ type X_Modifier_Key_Code_Sub_Array is array (X_Key_Modifier) of X_Key_Code; --/ if Pack then --// pragma Pack (X_Modifier_Key_Code_Sub_Array); --/ end if; type X_Modifier_Key_Code_Array is array (S_Natural range <>) of X_Modifier_Key_Code_Sub_Array; --/ if Pack then --// pragma Pack (X_Modifier_Key_Code_Array); --/ end if; type X_Modifier_Key_Code_List is access X_Modifier_Key_Code_Array; --/ if Enable_Deallocation then pragma Enable_Deallocation (X_Modifier_Key_Code_List); --/ end if; procedure Free_X_Modifier_Key_Code_List is new Unchecked_Deallocation (X_Modifier_Key_Code_Array, X_Modifier_Key_Code_List); ------------------------------------------------------------------------------ -- X_Modifier_Keymap ------------------------------------------------------------------------------ type X_Modifier_Keymap_Rec is record -- A record indicating: -- a) the maximum number of keys per modifier for the display -- b) a 2-dimensional (max_keypermod X modifiers) array indicating -- keys modified. Max_Keypermod : U_Char := 0; Modifiermap : X_Modifier_Key_Code_List := null; end record; type X_Modifier_Keymap is access X_Modifier_Keymap_Rec; --/ if Enable_Deallocation then pragma Enable_Deallocation (X_Modifier_Keymap); --/ end if; None_X_Modifier_Keymap : constant X_Modifier_Keymap := null; procedure Free_X_Modifier_Keymap (Map : in out X_Modifier_Keymap); end Xlbt_Key3;
nblk1=e nid=0 hdr6=1c [0x00] rec0=19 rec1=00 rec2=01 rec3=050 [0x01] rec0=12 rec1=00 rec2=02 rec3=024 [0x02] rec0=21 rec1=00 rec2=03 rec3=036 [0x03] rec0=00 rec1=00 rec2=0e rec3=004 [0x04] rec0=23 rec1=00 rec2=04 rec3=004 [0x05] rec0=1c rec1=00 rec2=05 rec3=02a [0x06] rec0=00 rec1=00 rec2=0d rec3=03a [0x07] rec0=1b rec1=00 rec2=06 rec3=028 [0x08] rec0=1b rec1=00 rec2=07 rec3=052 [0x09] rec0=00 rec1=00 rec2=0c rec3=002 [0x0a] rec0=1d rec1=00 rec2=08 rec3=000 [0x0b] rec0=19 rec1=00 rec2=09 rec3=08a [0x0c] rec0=1d rec1=00 rec2=0a rec3=046 [0x0d] rec0=17 rec1=00 rec2=0b rec3=000 tail 0x2150096d0819784725d80 0x42a00088462063203