DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦a75d9d55e⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbp_Key, seg_004f72

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic;  
use Xlbt_Basic;  
with Xlbt_Key;  
use Xlbt_Key;  
with Xlbt_String;  
use Xlbt_String;

package Xlbp_Key is
------------------------------------------------------------------------------
-- X Library Keys
--
-- Xlbp_Key - Used to translate key codes to/from key symbols and strings.
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1987 - 1989 by Digital Equipment Corporation, Maynard, Mass.
-- Copyright 1987 - 1989 by Massachusetts Institute of Technology,
--                          Cambridge, Massachusetts.
--
--                  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 Digital, MIT, or Rational
-- not be used in advertising or publicity pertaining to distribution of
-- the software without specific, written prior permission.
--
-- Digital, MIT, and Rational disclaim all warranties with regard to this
-- software, including all implied warranties of merchantability and fitness,
-- in no event shall Digital, 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
    function X_Key_Code_To_Key_Sym (Display  : X_Display;  
                                    Key_Code : X_Key_Code;  
                                    Column   : U_Char) return X_Key_Sym;
------------------------------------------------------------------------------
--  Display  - Specifies the X_Display context to use in the translation.
--  Key_Code - Specifies the key code to translate.
--  Column   - Specifies the element of the key symbol vector for this key code
--             to return.
--
-- Each key code has a list of possible key symbols associated with it.  That
-- list contains only No_Symbol's if the key does not exist.  For keys that
-- exist the first element of the list (0'th) is the unshifted key name.
-- The second element (1'st) is the shifted key name.  See section 7.9 of the
-- MIT X Library manual ("Keyboard Encoding") for details.
------------------------------------------------------------------------------

    function X_Key_Sym_To_Key_Code (Display    : X_Display;  
                                    Key_Symbol : X_Key_Sym) return X_Key_Code;
------------------------------------------------------------------------------
--  Display    - Specifies the X_Display context to use in the translation.
--  Key_Symbol - Specifies the key symbol to be searched out.
--
-- Returns the key code corresponding to the specified key symbol.  (There may
-- be more than one such key code; the first found is returned.)  Returns 0 if
-- there is no such key for this server/keyboard.
------------------------------------------------------------------------------

    function X_Key_Sym_To_String (Key_Symbol : X_Key_Sym) return X_String;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be named.
--
-- Returns the name of the key symbol; returns "" if there is no such key
-- symbol.
------------------------------------------------------------------------------

    function X_Lookup_Key_Sym (Event  : X_Event;  
                               Column : U_Char) return X_Key_Sym;
------------------------------------------------------------------------------
--  Event  - Specifies the Event containing the key-stroke to be translated.
--  Column - Specifies the index into the key symbol table.
--
-- Uses a given keyboard event and the index specified to return the key symbol
-- corresponding to the key code recorded in the event.  The event has an
-- associated X_Display.  That display's key symbol table is used for the
-- lookup.
------------------------------------------------------------------------------

    procedure X_Lookup_String (Event      :        X_Event;  
                               Buffer     : in out X_String;  
                               Result     : out    S_Natural;  
                               Key_Symbol : out    X_Key_Sym;  
                               Status     : out    X_Compose_Status);
------------------------------------------------------------------------------
--  Event      - Specifies the Event containing the key-stroke to be translated.
--               This indirectly specifies the X_Display which in turn specifies
--               the key symbol table to be used to make the translation.
--  Buffer     - Receives the translated characters.
--  Result     - Receives the number of characters used in the Buffer by the
--              translation.
--  Key_Symbol - Receives the key symbol computed from the event.
--  Status     - Specifies an X_Compose_Status record.
--
-- Maps a key event into an 8-bit Ascii string.
------------------------------------------------------------------------------

    procedure X_Rebind_Key_Sym (Display       : X_Display;  
                                Key_Symbol    : X_Key_Sym;  
                                Modifier_List : X_Key_Sym_Array;  
                                Binding       : X_String);
------------------------------------------------------------------------------
--  Display       - Specifies the X_Display context to rebind within.
--  Key_Symbol    - Specifies the key symbol being rebound.
--  Modifier_List - Specifies the key symbols which are the modifiers associated
--                  with the key-chord being rebound.
--  Binding       - Specifies the the 8-bit Ascii string to be associated with
--                  the rebound key-chord.
--
-- Rebinds, within this application, the meaning of a particular
-- key-chord (a key symbol with zero or more modifiers) for all display
-- connections.  X_Lookup_String will return this string when called with a
-- key event representing this chord.  This provides an easy way to bind
-- long strings to keys.
------------------------------------------------------------------------------

    function X_String_To_Key_Sym (Name : X_String) return X_Key_Sym;
------------------------------------------------------------------------------
--  Name - Specifies the name of the key symbol to convert.
--
-- Converts the name of a key symbol to the associated key symbol code.  Returns
-- No_Symbol if S is not the name of a valid key symbol.
------------------------------------------------------------------------------

    procedure X_Refresh_Keyboard_Mapping (Event : X_Event);
------------------------------------------------------------------------------
--  Event     - Specifies the event that caused the procedure call.  Typically
--             this is a Mapping_Notify event.
--
-- Refreshes the stored modifier and keymap information.  The information is
-- stored on a per-X_Display basis.  The Event has an associated X_Display and
-- that X_Display has its tables refreshed.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- Key symbol macros, used on Key symbols to test for classes of symbols
------------------------------------------------------------------------------

    function X_Is_Keypad_Key (Key_Symbol : X_Key_Sym) return Boolean;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be categorized.
--
-- Returns True if the key symbol is on the key pad.
------------------------------------------------------------------------------

    function X_Is_Cursor_Key (Key_Symbol : X_Key_Sym) return Boolean;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be categorized.
--
-- Returns True if the key symbol is a cursor key.
------------------------------------------------------------------------------

    function X_Is_Pf_Key (Key_Symbol : X_Key_Sym) return Boolean;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be categorized.
--
-- Returns True if the key symbol is a PF key.
------------------------------------------------------------------------------

    function X_Is_Function_Key (Key_Symbol : X_Key_Sym) return Boolean;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be categorized.
--
-- Returns True if the key symbol is a function key.
------------------------------------------------------------------------------

    function X_Is_Misc_Function_Key (Key_Symbol : X_Key_Sym) return Boolean;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be categorized.
--
-- Returns True if the key symbol is a miscellaneous function key.
------------------------------------------------------------------------------

    function X_Is_Modifier_Key (Key_Symbol : X_Key_Sym) return Boolean;
------------------------------------------------------------------------------
--  Key_Symbol - Specifies the key symbol to be categorized.
--
-- Returns True if the key symbol is a modifier key.
------------------------------------------------------------------------------

--\x0c
end Xlbp_Key;  

E3 Meta Data

    nblk1=b
    nid=0
    hdr6=16
        [0x00] rec0=1b rec1=00 rec2=01 rec3=018
        [0x01] rec0=11 rec1=00 rec2=02 rec3=01e
        [0x02] rec0=10 rec1=00 rec2=03 rec3=038
        [0x03] rec0=13 rec1=00 rec2=04 rec3=00a
        [0x04] rec0=10 rec1=00 rec2=05 rec3=064
        [0x05] rec0=11 rec1=00 rec2=06 rec3=076
        [0x06] rec0=12 rec1=00 rec2=07 rec3=060
        [0x07] rec0=13 rec1=00 rec2=08 rec3=02a
        [0x08] rec0=13 rec1=00 rec2=09 rec3=06c
        [0x09] rec0=14 rec1=00 rec2=0a rec3=02a
        [0x0a] rec0=05 rec1=00 rec2=0b rec3=000
    tail 0x21500961c819782b9acc2 0x42a00088462063203