onboard: add recipe

Onboard is an onscreen keyboard useful for everybody that cannot use a
hardware keyboard; for example Tablet-PC users or mobility impaired
users. It has been designed with simplicity in mind and can be used
right away without the need of any configuration, as it can read the
keyboard layout from the X server.

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Yi Zhao 2026-01-23 14:48:18 +08:00 committed by Khem Raj
parent 6b2b79e2ca
commit c6290078b0
No known key found for this signature in database
GPG Key ID: BB053355919D3314
3 changed files with 137 additions and 0 deletions

View File

@ -0,0 +1,69 @@
From 71804c06c7179333f44b57e04ba268f37fe54f62 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 09:01:04 -0700
Subject: [PATCH] pypredict/lm: Define error API if platform does not have it
error() API is not implemented across all libcs on linux
e.g. musl does not provide it.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Onboard/pypredict/lm/lm.cpp | 1 -
Onboard/pypredict/lm/lm.h | 13 +++++++++++++
Onboard/pypredict/lm/lm_dynamic.cpp | 2 --
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/Onboard/pypredict/lm/lm.cpp b/Onboard/pypredict/lm/lm.cpp
index 2e642965..37ae241e 100644
--- a/Onboard/pypredict/lm/lm.cpp
+++ b/Onboard/pypredict/lm/lm.cpp
@@ -19,7 +19,6 @@
#include <stdlib.h>
#include <stdio.h>
-#include <error.h>
#include <algorithm>
#include <cmath>
#include <string>
diff --git a/Onboard/pypredict/lm/lm.h b/Onboard/pypredict/lm/lm.h
index ed4164a4..b8b63ee8 100644
--- a/Onboard/pypredict/lm/lm.h
+++ b/Onboard/pypredict/lm/lm.h
@@ -32,6 +32,19 @@
#include <algorithm>
#include <string>
+#if defined(HAVE_ERROR_H)
+#include <error.h>
+#else
+#include <err.h>
+#define _onboard_error(S, E, F, ...) do { \
+ if (E) \
+ err(S, F ": %s", ##__VA_ARGS__, strerror(E)); \
+ else \
+ err(S, F, ##__VA_ARGS__); \
+} while(0)
+
+#define error _onboard_error
+#endif
// break into debugger
// step twice to come back out of the raise() call into known code
diff --git a/Onboard/pypredict/lm/lm_dynamic.cpp b/Onboard/pypredict/lm/lm_dynamic.cpp
index 7c628240..e7c7f40e 100644
--- a/Onboard/pypredict/lm/lm_dynamic.cpp
+++ b/Onboard/pypredict/lm/lm_dynamic.cpp
@@ -17,8 +17,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include <error.h>
-
#include "lm_dynamic.h"
using namespace std;
--
2.34.1

View File

@ -0,0 +1,29 @@
From d68300ca8c7c518abd404873a8201b71988e492d Mon Sep 17 00:00:00 2001
From: Yi Zhao <yi.zhao@windriver.com>
Date: Fri, 23 Jan 2026 09:28:56 +0800
Subject: [PATCH] toggle-onboard-hoverclick: use /bin/sh default shell
interpreter
checkbashism reports no issues, therefore using /bin/sh instead of
/bin/bash should be safe.
Upstream-Status: Pending
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
---
scripts/toggle-onboard-hoverclick | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/toggle-onboard-hoverclick b/scripts/toggle-onboard-hoverclick
index 7ee3b024..48636225 100755
--- a/scripts/toggle-onboard-hoverclick
+++ b/scripts/toggle-onboard-hoverclick
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
STATUS=$(gsettings get org.gnome.desktop.a11y.mouse dwell-click-enabled)
case $STATUS in
true )
--
2.34.1

View File

@ -0,0 +1,39 @@
SUMMARY = "An onscreen keyboard"
HOMEPAGE = "https://github.com/onboard-osk/onboard"
DESCRIPTION = "Onboard is an onscreen keyboard useful for everybody \
that cannot use a hardware keyboard. It has been designed with simplicity \
in mind and can be used right away without the need of any configuration, \
as it can read the keyboard layout from the X server."
LICENSE = "GPL-3.0-or-later & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING.GPL3;md5=8521fa4dd51909b407c5150498d34f4e \
file://COPYING.BSD3;md5=f56403ae5b2d6b82ad136d753c05a82e \
"
SRC_URI = "git://github.com/onboard-osk/onboard.git;protocol=https;branch=main \
file://0001-pypredict-lm-Define-error-API-if-platform-does-not-h.patch \
file://0002-toggle-onboard-hoverclick-use-bin-sh-default-shell-i.patch \
"
SRCREV = "350f7643576bc8c5f2cff9c6ddce0e1e7cff995d"
inherit features_check setuptools3 pkgconfig gtk-icon-cache gsettings mime-xdg
REQUIRED_DISTRO_FEATURES = "x11"
DEPENDS = "gtk+3 hunspell libcanberra libxkbfile dconf hicolor-icon-theme python3-distutils-extra-native intltool-native glib-2.0-native"
FILES:${PN} += " \
${datadir}/dbus-1 \
${datadir}/icons \
${datadir}/gnome-shell \
${datadir}/help \
"
RDEPENDS:${PN} += " \
ncurses \
librsvg-gtk \
python3-dbus \
python3-pycairo \
python3-pygobject \
python3-image \
"