KEY_RELEASED
};
+ enum EventType {
+ KEY_PRESSED_EVENT,
+ KEY_RELEASED_EVENT
+ };
+
enum KeySynthType {
KEY_PRESS,
KEY_RELEASE,
struct KeyStroke {
long keyID;
short keycode;
+ unsigned long timestamp;
KeyEventType type;
unsigned short modifiers;
};
+ struct DeviceEvent {
+ long eventID;
+ short hw_code;
+ unsigned long timestamp;
+ EventType type;
+ unsigned short modifiers;
+ };
+
typedef sequence< long > KeySet;
typedef sequence< KeyEventType > KeyEventTypeSeq;
boolean keyEvent (in KeyStroke key);
};
+ interface DeviceEventListener : Bonobo::Unknown {
+ boolean notifyEvent (in DeviceEvent event);
+ };
+
interface DeviceEventController : Bonobo::Unknown {
/**
in KeyEventTypeSeq type,
in boolean is_synchronous);
+ boolean notifyListenersSync (in DeviceEventListener listener,
+ in DeviceEvent event);
+
+ oneway void notifyListenersAsync (in DeviceEventListener listener,
+ in DeviceEvent event);
+
/**
* generateKeyEvent:
* @keycode: a long integer indicating the keycode of