(* Xm/VirtKeysP.def  Nov 19  15:42:18  1996 *)
(* Copyright (c) 1996,1997 XDS Ltd, Russia. All rights reserved. *)

(* Generated by H2D v1.18.5 from Xm/VirtKeysP.h using H2D v1.18.5 *)

(* $RCSfile: VirtKeysP.def,v $ $Revision: 4 $ $Date: 28.07.98 23:15 $ *)

<*+ M2ADDTYPES *>
<*+ M2EXTENSIONS *>
<*+ NOHEADER *>
<* IF NOT DEFINED(GENTYPEDEF) THEN *> <* NEW GENTYPEDEF+ *> <* END *>
<*+ CSTDLIB *>
(* Merged headers: Xm/VirtKeys.h *)

DEFINITION MODULE ["C"] VirtKeysP;

IMPORT SYSTEM, X, Xlib, Xt:=IntrinsicP;
(* H2D:  Required IMPORT clause:
IMPORT VirtKeysP, X, Xlib, IntrinsicP;
*)

(*
 * (c) Copyright 1989, 1990, 1991, 1992 OPEN SOFTWARE FOUNDATION, INC.
 * ALL RIGHTS RESERVED
 *)

(* ----------------------------------------------------- *)
(*                     Xm/VirtKeys.h                     *)
(* ----------------------------------------------------- *)

(*
 * Motif Release 1.2
 *)

CONST
  osfXK_BackSpace = 1004FF08H;
  osfXK_Insert = 1004FF63H;
  osfXK_Delete = 1004FFFFH;
  osfXK_Copy = 1004FF02H;
  osfXK_Cut = 1004FF03H;
  osfXK_Paste = 1004FF04H;
  osfXK_AddMode = 1004FF31H;
  osfXK_PrimaryPaste = 1004FF32H;
  osfXK_QuickPaste = 1004FF33H;
  osfXK_PageLeft = 1004FF40H;
  osfXK_PageUp = 1004FF41H;
  osfXK_PageDown = 1004FF42H;
  osfXK_PageRight = 1004FF43H;
  osfXK_EndLine = 1004FF57H;
  osfXK_BeginLine = 1004FF58H;
  osfXK_Activate = 1004FF44H;
  osfXK_MenuBar = 1004FF45H;
  osfXK_Clear = 1004FF0BH;
  osfXK_Cancel = 1004FF69H;
  osfXK_Help = 1004FF6AH;
  osfXK_Menu = 1004FF67H;
  osfXK_Select = 1004FF60H;
  osfXK_Undo = 1004FF65H;
  osfXK_Left = 1004FF51H;
  osfXK_Up = 1004FF52H;
  osfXK_Right = 1004FF53H;
  osfXK_Down = 1004FF54H;

(********    Public Function Declarations    ********)

PROCEDURE XmTranslateKey ( dpy: Xlib.PtrDisplay;
                           keycode: X.KeyCode;
                           modifiers: Xt.Modifiers;
                           VAR modifiers_return: Xt.Modifiers;
                           VAR keysym_return: X.KeySym );

(********    End Public Function Declarations    ********)

(* ----------------------------------------------------- *)
(*                    Xm/VirtKeysP.h                     *)
(* ----------------------------------------------------- *)

(*
 * Motif Release 1.2
 *)

CONST
  XmKEYCODE_TAG_SIZE = 32;

TYPE
  _XmDefaultBindingStringRec = RECORD
    vendorName: Xt.String;
    defaults  : Xt.String;
  END;

  XmDefaultBindingStringRec = _XmDefaultBindingStringRec;

  XmDefaultBindingString = POINTER TO _XmDefaultBindingStringRec;

  _XmKeyBindingRec = RECORD
    keysym   : X.KeySym;
    modifiers: CARDINAL;
  END;

  XmKeyBindingRec = _XmKeyBindingRec;

  XmKeyBinding = POINTER TO XmKeyBindingRec;

  XmKeyBindingsList = POINTER TO ARRAY [0..X.MAX_STUP_ARR] OF XmKeyBindingRec;

  _XmVirtualKeysymRec = RECORD
    name  : Xt.String;
    keysym: X.KeySym;
  END;

  XmVirtualKeysymRec = _XmVirtualKeysymRec;

  XmVirtualKeysym = POINTER TO _XmVirtualKeysymRec;

(********    Private Function Declarations    ********)

PROCEDURE _XmVirtKeysInitialize ( widget: Xt.Widget );

PROCEDURE _XmVirtKeysDestroy ( widget: Xt.Widget );

PROCEDURE _XmVirtKeysHandler ( widget: Xt.Widget;
                               client_data: Xt.XtPointer;
                               VAR event: Xlib.XEvent;
                               VAR dontSwallow: Xt.Boolean );

PROCEDURE _XmVirtualToActualKeysym ( dpy: Xlib.PtrDisplay;
                                     virtKeysym: X.KeySym;
                                     VAR actualKeysymRtn: X.KeySym;
                                     VAR modifiersRtn: Xt.Modifiers );

PROCEDURE _XmVirtKeysStoreBindings ( shell: Xt.Widget;
                                     binding: Xt.String );

PROCEDURE _XmVirtKeysLoadFileBindings ( fileName: ARRAY OF CHAR;
                                        binding: Xt.PAString ): Xt.Boolean;

PROCEDURE _XmVirtKeysLoadFallbackBindings ( display: Xlib.PtrDisplay;
                                            binding: Xt.PAString ): SYSTEM.int;

(********    End Private Function Declarations    ********)

END VirtKeysP.
