XlInputExtensionPrivate.mesa
Copyright Ó 1992, 1993 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, January 6, 1992 12:18:11 pm PST
Christian Jacobi, February 2, 1993 4:06 pm PST
Very private interface for the implementor of XlInputExtension. Needed so implementation can be split into several smaller modules.
DIRECTORY Xl, XlExtensions, XlInputExtension;
XlInputExtensionPrivate: CEDAR DEFINITIONS ~ BEGIN
EventClass: TYPE ~ XlInputExtension.EventClass;
ConnectionData: TYPE ~ RECORD [
c: Xl.Connection,
ex: XlExtensions.Extension ¬ NIL
];
GetConnectionData: PROC [c: Xl.Connection] RETURNS [cd: REF ConnectionData];
Get (by compute or cache) the data representing this extension
EventClassesLength: PROC [interest: LIST OF EventClass] RETURNS [count: INT];
Counts number of EventClass'es; error if too many.
PutEventClasses: PROC [c: Xl.Connection, interest: LIST OF EventClass, count: INT ¬ LAST[INT]];
Put event classes on wire; count is explicitely specified to limit arror behaviour if list was modified since counting the length.
Opcodes values for the requests
opGetExtensionVersion:  BYTE ~ 1;
opListInputDevices:  BYTE ~ 2;
opOpenDevice:  BYTE ~ 3;
opCloseDevice:  BYTE ~ 4;
opSetDeviceMode:  BYTE ~ 5;
opSelectExtensionEvent:  BYTE ~ 6;
opGetSelectedExtensionEvents: BYTE ~ 7;
opChangeDeviceDontPropagateList: BYTE ~ 8;
opGetDeviceDontPropagateList: BYTE ~ 9;
opGetDeviceMotionEvents: BYTE ~ 10;
opChangeKeyboardDevice: BYTE ~ 11;
opChangePointerDevice:  BYTE ~ 12;
opGrabDevice:  BYTE ~ 13;
opUngrabDevice:  BYTE ~ 14;
opGrabDeviceKey:  BYTE ~ 15;
opUngrabDeviceKey:  BYTE ~ 16;
opGrabDeviceButton:  BYTE ~ 17;
opUngrabDeviceButton:  BYTE ~ 18;
opAllowDeviceEvents:  BYTE ~ 19;
opGetDeviceFocus:  BYTE ~ 20;
opSetDeviceFocus:  BYTE ~ 21;
opGetFeedbackControl:  BYTE ~ 22;
opChangeFeedbackControl: BYTE ~ 23;
opGetDeviceKeyMapping: BYTE ~ 24;
opChangeDeviceKeyMapping: BYTE ~ 25;
opGetDeviceModifierMapping: BYTE ~ 26;
opSetDeviceModifierMapping: BYTE ~ 27;
opGetDeviceButtonMapping: BYTE ~ 28;
opSetDeviceButtonMapping: BYTE ~ 29;
opQueryDeviceState:  BYTE ~ 30;
opSendExtensionEvent:  BYTE ~ 31;
opDeviceBell:  BYTE ~ 32;
opSetDeviceValuators:  BYTE ~ 33;
opGetDeviceControl:  BYTE ~ 34;
opChangeDeviceControl:  BYTE ~ 35;
END.