<<>> <> <> <> <> <<>> <> 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]; <> <<>> EventClassesLength: PROC [interest: LIST OF EventClass] RETURNS [count: INT]; <> PutEventClasses: PROC [c: Xl.Connection, interest: LIST OF EventClass, count: INT ¬ LAST[INT]]; <> <<>> <> <<>> 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.