XlInputExtensionKeys.mesa
Copyright Ó 1992 by Xerox Corporation. All rights reserved.
Created by Christian Jacobi, January 6, 1992 12:18:11 pm PST
Christian Jacobi, January 7, 1992 3:11 pm PST
This is a companion module for XlInputExtension.
Support for X11 input extension extra keyboards
Somewhat unfinished
DIRECTORY Xl, XlInputExtension;
XlInputExtensionKeys: CEDAR DEFINITIONS ~ BEGIN
DeviceId: TYPE = XlInputExtension.DeviceId;
ChangeReply: TYPE = XlInputExtension.ChangeReply;
ChangeKeyboardDevice: PROC [c: Xl.Connection, deviceId: DeviceId] RETURNS [ChangeReply];
Changes which physical device is used as the X keyboard.
GrabDeviceKey: PROC [c: Xl.Connection, deviceId: DeviceId, grabWindow: Xl.Window, modifiers: Xl.SetOfKeyButMask ← [anyModfier: TRUE], modifierDevice: DeviceIdBase ← useXKeyboard, keyCode: Xl.KeyCode ← anyKey, ownerEvents: BOOL, eventList: LIST OF EventClass, thisDeviceMode: Xl.Synchronicity, otherDeviceMode: Xl.Synchronicity, details: Xl.Details ← NIL];
anyKey: Xl.KeyCode ~ keycode0; --for GrabDeviceKey
UngrabDeviceKey: PROC [c: Xl.Connection, deviceId: DeviceId, grabWindow: Xl.Window, modifiers: Xl.SetOfKeyButMask ← [anyModfier: TRUE], modifierDevice: DeviceIdBase ← useXKeyboard, keyCode: Xl.KeyCode ← anyKey, details: Xl.Details ← NIL];
GetDeviceKeyMapping: PROC [c: Xl.Connection, deviceId: DeviceId] RETURNS [Xl.KeyboardMapping];
Xl.GetKeyboardMapping allways reports whole mapping because of caching; should we do the same thing? But we don't do caching. Should we?
ChangeDeviceKeyMapping: PROC [c: Xl.Connection, deviceId: DeviceId, ?];
GetDeviceModifierMapping: PROC [c: Xl.Connection, deviceId: DeviceId] RETURNS [?];
SetDeviceModifierMapping: PROC [c: Xl.Connection, deviceId: DeviceId, ?];
END.