diff options
Diffstat (limited to 'include/ui/EventHub.h')
-rw-r--r-- | include/ui/EventHub.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/include/ui/EventHub.h b/include/ui/EventHub.h index 3848d8c..d62fd7d 100644 --- a/include/ui/EventHub.h +++ b/include/ui/EventHub.h @@ -20,7 +20,10 @@ #include <utils/String8.h> #include <utils/threads.h> -#include <utils.h> +#include <utils/Log.h> +#include <utils/threads.h> +#include <utils/List.h> +#include <utils/Errors.h> #include <linux/input.h> @@ -70,6 +73,13 @@ public: int getKeycodeState(int key) const; int getKeycodeState(int32_t deviceId, int key) const; + status_t scancodeToKeycode(int32_t deviceId, int scancode, + int32_t* outKeycode, uint32_t* outFlags) const; + + // exclude a particular device from opening + // this can be used to ignore input devices for sensors + void addExcludedDevice(const char* deviceName); + // special type codes when devices are added/removed. enum { DEVICE_ADDED = 0x10000000, @@ -82,10 +92,9 @@ public: virtual bool getEvent(int32_t* outDeviceId, int32_t* outType, int32_t* outScancode, int32_t* outKeycode, uint32_t *outFlags, int32_t* outValue, nsecs_t* outWhen); - + protected: virtual ~EventHub(); - virtual void onFirstRef(); private: bool openPlatformInput(void); @@ -118,7 +127,7 @@ private: mutable Mutex mLock; bool mHaveFirstKeyboard; - int32_t mFirstKeyboardId; // the API is that the build in keyboard is id 0, so map it + int32_t mFirstKeyboardId; // the API is that the built-in keyboard is id 0, so map it struct device_ent { device_t* device; @@ -133,7 +142,10 @@ private: device_t **mDevices; struct pollfd *mFDs; int mFDCount; - + + bool mOpened; + List<String8> mExcludedDevices; + // device ids that report particular switches. #ifdef EV_SW int32_t mSwitches[SW_MAX+1]; |