Override keylayouts on S9/Note9 to include assistant button, and hard press on home to wake up

Change-Id: I278e077fe63cacf39abc35fd4299b80a117ce837
diff --git a/base.mk b/base.mk
index 1765c76..abae69c 100644
--- a/base.mk
+++ b/base.mk
@@ -91,3 +91,7 @@
 
 PRODUCT_COPY_FILES += \
 	device/phh/treble/interfaces.xml:system/etc/permissions/interfaces.xml
+
+PRODUCT_COPY_FILES += \
+	device/phh/treble/files/samsung-gpio_keys.kl:system/phh/samsung-gpio_keys.kl \
+	device/phh/treble/files/samsung-sec_touchscreen.kl:system/phh/samsung-sec_touchscreen.kl
diff --git a/files/samsung-gpio_keys.kl b/files/samsung-gpio_keys.kl
new file mode 100644
index 0000000..ad90c03
--- /dev/null
+++ b/files/samsung-gpio_keys.kl
@@ -0,0 +1,11 @@
+# Copyright (C) 2018 The LineageOS Project

+# SPDX-License-Identifier: Apache-2.0

+

+key 114   VOLUME_DOWN

+key 115   VOLUME_UP

+key 116   POWER

+key 703   ASSIST

+key 103   SYSTEM_NAVIGATION_UP

+key 105   SYSTEM_NAVIGATION_LEFT

+key 106   SYSTEM_NAVIGATION_RIGHT

+key 108   SYSTEM_NAVIGATION_DOWN

diff --git a/files/samsung-sec_touchscreen.kl b/files/samsung-sec_touchscreen.kl
new file mode 100644
index 0000000..eef666f
--- /dev/null
+++ b/files/samsung-sec_touchscreen.kl
@@ -0,0 +1,29 @@
+# Copyright (c) 2015, The Linux Foundation. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above
+#       copyright notice, this list of conditions and the following
+#       disclaimer in the documentation and/or other materials provided
+#       with the distribution.
+#     * Neither the name of The Linux Foundation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+# ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+key 172    WAKEUP
+
diff --git a/rw-system.sh b/rw-system.sh
index 55310fe..cf84ea4 100644
--- a/rw-system.sh
+++ b/rw-system.sh
@@ -41,6 +41,25 @@
     fi
 }
 
+changeKeylayout() {
+    cp -a /system/usr/keylayout /mnt/phh/keylayout
+    changed=false
+
+    if getprop ro.vendor.build.fingerprint | \
+        grep -qE -e ".*(crown|star)[q2]*lte.*"  -e ".*(SC-0[23]K|SCV3[89]).*";then
+        changed=true
+
+        cp /system/phh/samsung-gpio_keys.kl /mnt/phh/keylayout/gpio_keys.kl
+        cp /system/phh/samsung-sec_touchscreen.kl /mnt/phh/keylayout/sec_touchscreen.kl
+        chmod 0644 /mnt/phh/keylayout/gpio_keys.kl /mnt/phh/keylayout/sec_touchscreen.kl
+    fi
+
+    if [ "$changed" == true ];then
+        mount -o bind /mnt/phh/keylayout /system/usr/keylayout
+        restorecon -R /system/usr/keylayout
+    fi
+}
+
 if mount -o remount,rw /system;then
 	resize2fs $(grep ' /system ' /proc/mounts |cut -d ' ' -f 1) || true
 elif mount -o remount,rw /;then
@@ -55,6 +74,8 @@
 fixSPL
 set -e
 
+changeKeylayout
+
 if grep vendor.huawei.hardware.biometrics.fingerprint /vendor/manifest.xml;then
     mount -o bind system/phh/huawei/fingerprint.kl /vendor/usr/keylayout/fingerprint.kl
 fi