Port Emulator keymaps.

Also added a validation tool for keymaps (not currently integrated
into the build system but getting there).

This change brings back Android.mk with the intent that it will
be used to validate keymaps in a later change.

Added some missing keys that are present on phones.

Bug: 3215210
Bug: 3225421
Change-Id: Id817c6e2215164616942c51a42752915d9ceacd3
diff --git a/data/keyboards/Generic.kcm b/data/keyboards/Generic.kcm
index 682584c..24b485d 100644
--- a/data/keyboards/Generic.kcm
+++ b/data/keyboards/Generic.kcm
@@ -22,6 +22,8 @@
 
 type FULL
 
+### Basic QWERTY keys ###
+
 key A {
     label:                              'A'
     base:                               'a'
@@ -369,6 +371,8 @@
     ctrl, alt, meta:                    none
 }
 
+### Numeric keypad ###
+
 key NUMPAD_0 {
     label, number:                      '0'
     base:                               fallback INSERT
@@ -499,3 +503,25 @@
     base:                               '\n' fallback ENTER
     ctrl, alt, meta:                    none fallback ENTER
 }
+
+### Special keys on phones ###
+
+key AT {
+    label, number:                      '@'
+    base:                               '@'
+}
+
+key STAR {
+    label, number:                      '*'
+    base:                               '*'
+}
+
+key POUND {
+    label, number:                      '#'
+    base:                               '#'
+}
+
+key PLUS {
+    label, number:                      '+'
+    base:                               '+'
+}