summaryrefslogtreecommitdiff
path: root/libs/ui/KeyLayoutMap.h
diff options
context:
space:
mode:
author The Android Open Source Project <initial-contribution@android.com> 2008-10-21 07:00:00 -0700
committer The Android Open Source Project <initial-contribution@android.com> 2008-10-21 07:00:00 -0700
commit54b6cfa9a9e5b861a9930af873580d6dc20f773c (patch)
tree35051494d2af230dce54d6b31c6af8fc24091316 /libs/ui/KeyLayoutMap.h
Initial Contribution
Diffstat (limited to 'libs/ui/KeyLayoutMap.h')
-rw-r--r--libs/ui/KeyLayoutMap.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/libs/ui/KeyLayoutMap.h b/libs/ui/KeyLayoutMap.h
new file mode 100644
index 000000000000..43f84ce4964d
--- /dev/null
+++ b/libs/ui/KeyLayoutMap.h
@@ -0,0 +1,31 @@
+#ifndef KEYLAYOUTMAP_H
+#define KEYLAYOUTMAP_H
+
+#include <utils/KeyedVector.h>
+
+namespace android {
+
+class KeyLayoutMap
+{
+public:
+ KeyLayoutMap();
+ ~KeyLayoutMap();
+
+ status_t load(const char* filename);
+
+ status_t map(int32_t scancode, int32_t *keycode, uint32_t *flags) const;
+ status_t findScancodes(int32_t keycode, Vector<int32_t>* outScancodes) const;
+
+private:
+ struct Key {
+ int32_t keycode;
+ uint32_t flags;
+ };
+
+ status_t m_status;
+ KeyedVector<int32_t,Key> m_keys;
+};
+
+};
+
+#endif // KEYLAYOUTMAP_H