DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 1931 (0x78b) Types: TextFile Names: »B«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦ada0be243⟧ └─⟦this⟧
separate (Xev_Main) procedure Do_Keypress (E : X_Event) is use Text_Io; use S_Long_Io; Ks : X_Key_Sym; Ksname : X_String_Pointer; Nbytes : S_Natural; Key_Code : X_Key_Code; Str : X_String (1 .. 256 + 1); Status : X_Compose_Status; begin Put (" root="); Put (E.Key.Root); Put (", subw="); Put (E.Key.Subwindow); Put (", time="); Put (E.Key.Time); Put (","); New_Line; Put (" x/y=("); Put (E.Key.X); Put (','); Put (E.Key.Y); Put ("), root:x/y=("); Put (E.Key.Root_X); Put (','); Put (E.Key.Root_Y); Put ("),"); New_Line; X_Lookup_String (E, Str, Nbytes, Ks, Status); Put (" state="); Put (E.Key.State); Put (", keycode="); Put (E.Key.Key_Code); Put (" (keysym="); Put (Ks); Put (", "); if Ks = No_Symbol then Put ("No_Symbol"); else declare Ksname : constant X_String := X_Key_Sym_To_String (Ks); begin if Ksname = "" then Put ("(no name)"); else Put (To_String (Ksname)); end if; end; end if; Put ("), same_screen="); Put (E.Key.Same_Screen); Put (','); New_Line; Put (" XLookupString gives "); Put (S_Long (Nbytes), Width => 0); Put (" characters:"""); for I in Str'First .. Nbytes loop if X_Character'Pos (Str (I)) >= Character'Pos (Ascii.Del) or else X_Character'Pos (Str (I)) < Character'Pos (' ') then Put ('\'); Put (S_Long (X_Character'Pos (Str (I))), Base => 8, Width => 0); else Put (Character'Val (X_Character'Pos (Str (I)))); end if; end loop; Put (""""); New_Line; end Do_Keypress;