Add support for Gamevice GV186 gamepad.

Add support for Gamevice GV186 gamepad, for joystick axes and
buttons mapping.

Test: atest GameviceGv186Test
Bug: 142591969
Change-Id: Id025f5fcd3d831ecd8a2842d5c5d7e05eb5b00c9
diff --git a/data/keyboards/Vendor_27f8_Product_0bbe.kl b/data/keyboards/Vendor_27f8_Product_0bbe.kl
new file mode 100644
index 0000000..211e532
--- /dev/null
+++ b/data/keyboards/Vendor_27f8_Product_0bbe.kl
@@ -0,0 +1,54 @@
+# Copyright (C) 2020 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Gamevice GV186 Mobile Controller
+#
+
+
+# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html
+
+key 0x133    BUTTON_X
+key 0x130    BUTTON_A
+key 0x131    BUTTON_B
+key 0x134    BUTTON_Y
+
+key 0x136    BUTTON_L1
+key 0x137    BUTTON_R1
+key 0x138    BUTTON_L2
+key 0x139    BUTTON_R2
+
+axis 0x00    X
+axis 0x01    Y
+
+axis 0x02    Z
+axis 0x05    RZ
+
+axis 0x09    RTRIGGER
+axis 0x0a    LTRIGGER
+
+key 0x13d    BUTTON_THUMBL
+key 0x13e    BUTTON_THUMBR
+
+# Hat
+axis 0x10 HAT_X
+axis 0x11 HAT_Y
+
+# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt
+# Left Triangle Button
+key 0x13a    BUTTON_SELECT
+# Right Triangle Button
+key 0x13b    BUTTON_START
+# Home Button
+key 0x13c    BUTTON_MODE