|
|
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 - metrics - 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;