aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-ic-container
diff options
context:
space:
mode:
authorNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2023-05-07 08:22:51 +0900
committerNaoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>2023-05-09 08:13:10 +0900
commit211ddbdf4143da9509c8c747485bc87b2ab49ba9 (patch)
tree7933879f4445f585fe2509319265f756fb5539c4 /meta-agl-ic-container
parent8b34a041b3d5599ec83dad23cfeea3ad39160db3 (diff)
Add CH57x keyboard based UI for container demo
Container exchange user interface using CH57x keyboard. This UI based on mock container manager for AGL CES2023 demo. That is contributed by Hiroyuki Ishii <ishii.hiroyuki002@jp.panasonic.com> Bug-AGL: SPEC-4766 Change-Id: I3654bb0fd22787c66af554db71fc3adb82440702 Signed-off-by: Naoto Yamaguchi <naoto.yamaguchi@aisin.co.jp>
Diffstat (limited to 'meta-agl-ic-container')
-rw-r--r--meta-agl-ic-container/recipes-demo/momikey/files/momikey.rules1
-rw-r--r--meta-agl-ic-container/recipes-demo/momikey/files/momikey.service10
-rw-r--r--meta-agl-ic-container/recipes-demo/momikey/files/momikey.sh27
-rw-r--r--meta-agl-ic-container/recipes-demo/momikey/momikey_0.1.bb39
-rw-r--r--meta-agl-ic-container/recipes-platform/images/agl-lxc-multi-partition-image.inc9
5 files changed, 85 insertions, 1 deletions
diff --git a/meta-agl-ic-container/recipes-demo/momikey/files/momikey.rules b/meta-agl-ic-container/recipes-demo/momikey/files/momikey.rules
new file mode 100644
index 00000000..167a5cb1
--- /dev/null
+++ b/meta-agl-ic-container/recipes-demo/momikey/files/momikey.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="usb", ATTR{idVendor}=="1189", ATTR{idProduct}=="8890", RUN+="/bin/sh -c 'systemctl start momikey'"
diff --git a/meta-agl-ic-container/recipes-demo/momikey/files/momikey.service b/meta-agl-ic-container/recipes-demo/momikey/files/momikey.service
new file mode 100644
index 00000000..e2e50efb
--- /dev/null
+++ b/meta-agl-ic-container/recipes-demo/momikey/files/momikey.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=CH57x keyboard based UI for container demo
+After=container-manager.service multi-user.target
+
+[Service]
+Type=simple
+ExecStart=/usr/bin/momikey.sh
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta-agl-ic-container/recipes-demo/momikey/files/momikey.sh b/meta-agl-ic-container/recipes-demo/momikey/files/momikey.sh
new file mode 100644
index 00000000..d0e0b0b6
--- /dev/null
+++ b/meta-agl-ic-container/recipes-demo/momikey/files/momikey.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+while sleep 1 ;do evtest /dev/input/by-id/usb-wch.cn_CH57x-event-kbd ;done | while read line; do
+ unset key target_container
+ [[ "$line" =~ \((KEY_.)\),\ value\ 1 ]] && key="${BASH_REMATCH[1]}"
+ case "$key" in
+ KEY_G)
+ cmcontrol --change-active-guest-name=agl-flutter-ivi-demo
+ cmcontrol --shutdown-guest-role=ivi
+ ;;
+ KEY_D)
+ cmcontrol --change-active-guest-name=agl-qt-ivi-demo
+ cmcontrol --shutdown-guest-role=ivi
+ ;;
+ KEY_A)
+ cmcontrol --change-active-guest-name=agl-momi-ivi-demo
+ cmcontrol --shutdown-guest-role=ivi
+ ;;
+ KEY_H)
+ cmcontrol --change-active-guest-name=agl-html5-ivi-demo
+ cmcontrol --shutdown-guest-role=ivi
+ ;;
+ KEY_C)
+ cmcontrol --force-reboot-guest-role=ivi
+ ;;
+ esac
+done
diff --git a/meta-agl-ic-container/recipes-demo/momikey/momikey_0.1.bb b/meta-agl-ic-container/recipes-demo/momikey/momikey_0.1.bb
new file mode 100644
index 00000000..845ef46d
--- /dev/null
+++ b/meta-agl-ic-container/recipes-demo/momikey/momikey_0.1.bb
@@ -0,0 +1,39 @@
+SUMMARY = "CH57x keyboard based UI for container demo"
+DESCRIPTION = "Container exchange user interface using CH57x keyboard. \
+ This UI based on mock container manager for AGL CES2023 demo."
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+SRC_URI += " \
+ file://momikey.sh \
+ file://momikey.service \
+ file://momikey.rules \
+"
+
+inherit systemd
+
+SYSTEMD_PACKAGES = "${PN}"
+SYSTEMD_SERVICE:${PN} = "momikey.service"
+SYSTEMD_AUTO_ENABLE:${PN} = "disable"
+
+do_install:append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${WORKDIR}/momikey.sh ${D}/usr/bin/momikey.sh
+
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${WORKDIR}/momikey.service ${D}${systemd_system_unitdir}
+
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 644 ${WORKDIR}/momikey.rules ${D}${sysconfdir}/udev/rules.d/
+}
+
+FILES:${PN} += " \
+ /usr/bin/momikey.sh \
+ ${systemd_system_unitdir} \
+ ${sysconfdir}/udev/rules.d/ \
+"
+
+RDEPENDS:${PN} := " \
+ bash \
+ evtest \
+"
diff --git a/meta-agl-ic-container/recipes-platform/images/agl-lxc-multi-partition-image.inc b/meta-agl-ic-container/recipes-platform/images/agl-lxc-multi-partition-image.inc
index 72ffb556..7d6fcf12 100644
--- a/meta-agl-ic-container/recipes-platform/images/agl-lxc-multi-partition-image.inc
+++ b/meta-agl-ic-container/recipes-platform/images/agl-lxc-multi-partition-image.inc
@@ -17,6 +17,13 @@ OUT_OF_TREE_CONTAINER_CONFIGS ??= " \
cm-config-agl-html5-ivi-demo \
"
+CONTAINER_EXCHANGE_DEMO_UI ??= "momiweb momikey"
+
+CONTAINER_MULTI_DEMO ??= " \
+ ${OUT_OF_TREE_CONTAINER_CONFIGS} \
+ ${CONTAINER_EXCHANGE_DEMO_UI} \
+"
+
# Handle modification of IMAGE_LINK_NAME done by ULCB builds with Kingfisher support
MACHINE_SUFFIX = "${@bb.utils.contains('AGL_FEATURES', 'kingfisher', '-kf', '', d)}"
@@ -44,7 +51,7 @@ install_container_images() {
ROOTFS_POSTPROCESS_COMMAND += "install_container_images; "
IMAGE_INSTALL:append = " \
- ${@bb.utils.contains('OUT_OF_TREE_CONTAINER_IMAGE_DEPLOY_DIR', 'non', '', '${OUT_OF_TREE_CONTAINER_CONFIGS} momiweb', d)} \
+ ${@bb.utils.contains('OUT_OF_TREE_CONTAINER_IMAGE_DEPLOY_DIR', 'non', '', '${CONTAINER_MULTI_DEMO}', d)} \
"
WKS_FILES:prepend = " \