diff options
Diffstat (limited to 'app-accessibility/caribou')
11 files changed, 521 insertions, 99 deletions
diff --git a/app-accessibility/caribou/caribou-0.4.21-r1.ebuild b/app-accessibility/caribou/caribou-0.4.21-r1.ebuild deleted file mode 100644 index 9b674667c82a..000000000000 --- a/app-accessibility/caribou/caribou-0.4.21-r1.ebuild +++ /dev/null @@ -1,92 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -GNOME2_LA_PUNT="yes" -PYTHON_COMPAT=( python3_{6,7} ) -PYTHON_REQ_USE="xml" - -inherit gnome2 python-r1 - -DESCRIPTION="Input assistive technology intended for switch and pointer users" -HOMEPAGE="https://wiki.gnome.org/Projects/Caribou" - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86" - -IUSE="" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -COMMON_DEPEND=" - app-accessibility/at-spi2-core - >=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}] - >=x11-libs/gtk+-3:3[introspection] - x11-libs/gtk+:2 - >=dev-libs/gobject-introspection-0.10.7:= - dev-libs/libgee:0.8 - dev-libs/libxml2 - >=media-libs/clutter-1.5.11:1.0[introspection] - x11-libs/libX11 - x11-libs/libxklavier - x11-libs/libXtst - ${PYTHON_DEPS} -" -# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key -# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed -# librsvg needed to load svg images in css styles -RDEPEND="${COMMON_DEPEND} - dev-libs/glib[dbus] - >=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}] - >=gnome-base/gsettings-desktop-schemas-3 - gnome-base/librsvg:2 - sys-apps/dbus -" -DEPEND="${COMMON_DEPEND} - dev-libs/libxslt - >=dev-util/intltool-0.35.5 - virtual/pkgconfig -" - -src_prepare() { - # FIXME: Now this supports python3 too... - # delete custom PYTHONPATH, useless on Gentoo and potential bug source - # + caribou is python2 only so fix the shell scripts -# sed -e '/export PYTHONPATH=.*python/ d' \ -# -e "s:@PYTHON@:${EPREFIX}/usr/bin/python2:" \ -# -i bin/{antler-keyboard,caribou-preferences}.in || -# die "sed failed" - - gnome2_src_prepare - - prepare_caribou() { - mkdir -p "${BUILD_DIR}" || die - } - python_foreach_impl prepare_caribou -} - -src_configure() { - ECONF_SOURCE="${S}" python_foreach_impl run_in_build_dir \ - gnome2_src_configure \ - --disable-docs \ - --disable-static \ - --enable-gtk3-module \ - --enable-gtk2-module \ - VALAC=$(type -P true) - # vala is not needed for tarball builds, but configure checks for it... -} - -src_compile() { - python_foreach_impl run_in_build_dir gnome2_src_compile -} - -src_test() { - python_foreach_impl run_in_build_dir default -} - -src_install() { - python_foreach_impl run_in_build_dir gnome2_src_install - - # https://bugzilla.gnome.org/show_bug.cgi?id=769323 - dodoc AUTHORS NEWS README # ChangeLog simply points to git log -} diff --git a/app-accessibility/caribou/caribou-0.4.21-r6.ebuild b/app-accessibility/caribou/caribou-0.4.21-r6.ebuild new file mode 100644 index 000000000000..ce220ef1b49a --- /dev/null +++ b/app-accessibility/caribou/caribou-0.4.21-r6.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_REQ_USE="xml(+)" + +inherit autotools gnome.org gnome2-utils python-single-r1 vala + +DESCRIPTION="Input assistive technology intended for switch and pointer users" +HOMEPAGE="https://wiki.gnome.org/Projects/Caribou" + +LICENSE="LGPL-2.1" +SLOT="0" +IUSE="" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + app-accessibility/at-spi2-core + $(python_gen_cond_dep ' + >=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}] + ') + >=dev-libs/gobject-introspection-0.10.7:= + dev-libs/libgee:0.8 + dev-libs/libxml2 + >=media-libs/clutter-1.5.11:1.0[introspection] + >=x11-libs/gtk+-3:3[introspection] + x11-libs/libX11 + x11-libs/libxklavier + x11-libs/libXtst +" +# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key +# pyatspi-2.1.90 needed to run caribou if pygobject:3 is installed +# librsvg needed to load svg images in css styles +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/glib[dbus] + $(python_gen_cond_dep ' + >=dev-python/pyatspi-2.1.90[${PYTHON_USEDEP}] + ') + >=gnome-base/gsettings-desktop-schemas-3 + gnome-base/librsvg:2 + sys-apps/dbus + !<x11-base/xorg-server-1.20.10 +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/libxslt +" +BDEPEND=" + $(vala_depend) + >=dev-util/intltool-0.35.5 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-fix-compilation-error.patch" + "${FILESDIR}/${PN}-fix-subkey-popmenu.patch" + "${FILESDIR}/${PN}-fix-xadapter-xkb-calls.patch" + "${FILESDIR}/${PN}-fix-antler-style-css.patch" + "${FILESDIR}/${PN}-fix-python-env.patch" + "${FILESDIR}/${PN}-change_autostart_cinnamon.patch" + "${FILESDIR}/${PN}-drop_gir_patch.patch" +) + +src_prepare() { + default + vala_src_prepare + gnome2_disable_deprecation_warning + eautoreconf +} + +src_configure() { + econf \ + --disable-maintainer-mode \ + --disable-schemas-compile \ + --disable-docs \ + --disable-static \ + --disable-gtk2-module \ + --enable-gtk3-module +} + +src_install() { + DOCS="AUTHORS NEWS README" + default + find "${D}" -name '*.la' -delete || die + python_optimize +} + +pkg_postinst() { + gnome2_schemas_update +} + +pkg_postrm() { + gnome2_schemas_update +} diff --git a/app-accessibility/caribou/caribou-0.4.21-r7.ebuild b/app-accessibility/caribou/caribou-0.4.21-r7.ebuild new file mode 100644 index 000000000000..9ca138444e91 --- /dev/null +++ b/app-accessibility/caribou/caribou-0.4.21-r7.ebuild @@ -0,0 +1,94 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_REQ_USE="xml(+)" + +inherit autotools gnome.org gnome2-utils python-single-r1 vala + +DESCRIPTION="Input assistive technology intended for switch and pointer users" +HOMEPAGE="https://wiki.gnome.org/Projects/Caribou" + +LICENSE="LGPL-2.1" +SLOT="0" +REQUIRED_USE="${PYTHON_REQUIRED_USE}" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" + +COMMON_DEPEND=" + ${PYTHON_DEPS} + app-accessibility/at-spi2-core + $(python_gen_cond_dep ' + >=dev-python/pygobject-2.90.3:3[${PYTHON_USEDEP}] + ') + >=dev-libs/gobject-introspection-0.10.7:= + dev-libs/libgee:0.8 + dev-libs/libxml2 + >=media-libs/clutter-1.5.11:1.0[introspection] + >=x11-libs/gtk+-3:3[introspection] + x11-libs/libX11 + x11-libs/libxklavier + x11-libs/libXtst +" +# gsettings-desktop-schemas is needed for the 'toolkit-accessibility' key +# librsvg needed to load svg images in css styles +RDEPEND=" + ${COMMON_DEPEND} + dev-libs/glib[dbus] + >=gnome-base/gsettings-desktop-schemas-3 + gnome-base/librsvg:2 + sys-apps/dbus + !<x11-base/xorg-server-1.20.10 +" +DEPEND=" + ${COMMON_DEPEND} + dev-libs/libxslt +" +BDEPEND=" + $(vala_depend) + >=dev-util/intltool-0.35.5 + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-fix-compilation-error.patch" + "${FILESDIR}/${PN}-fix-subkey-popmenu.patch" + "${FILESDIR}/${PN}-fix-xadapter-xkb-calls.patch" + "${FILESDIR}/${PN}-fix-antler-style-css.patch" + "${FILESDIR}/${PN}-fix-python-env.patch" + "${FILESDIR}/${PN}-change_autostart_cinnamon.patch" + "${FILESDIR}/${PN}-drop_gir_patch.patch" +) + +src_prepare() { + default + vala_src_prepare + gnome2_disable_deprecation_warning + eautoreconf +} + +src_configure() { + econf \ + --disable-maintainer-mode \ + --disable-schemas-compile \ + --disable-docs \ + --disable-static \ + --disable-gtk2-module \ + --enable-gtk3-module +} + +src_install() { + DOCS="AUTHORS NEWS README" + default + find "${D}" -name '*.la' -delete || die + python_optimize +} + +pkg_postinst() { + gnome2_schemas_update +} + +pkg_postrm() { + gnome2_schemas_update +} diff --git a/app-accessibility/caribou/files/caribou-change_autostart_cinnamon.patch b/app-accessibility/caribou/files/caribou-change_autostart_cinnamon.patch new file mode 100644 index 000000000000..f55ddd276e7d --- /dev/null +++ b/app-accessibility/caribou/files/caribou-change_autostart_cinnamon.patch @@ -0,0 +1,13 @@ +--- a/data/caribou-autostart.desktop.in.in ++++ b/data/caribou-autostart.desktop.in.in +@@ -2,7 +2,7 @@ + Type=Application + Name=Caribou + Exec=@libexecdir@/caribou +-AutostartCondition=GSettings org.gnome.desktop.a11y.applications screen-keyboard-enabled ++AutostartCondition=GSettings org.cinnamon.desktop.a11y.applications screen-keyboard-enabled + X-GNOME-AutoRestart=true + #X-GNOME-Autostart-Phase=Initialization +-OnlyShowIn=GNOME;Unity; ++OnlyShowIn=X-Cinnamon; + diff --git a/app-accessibility/caribou/files/caribou-drop_gir_patch.patch b/app-accessibility/caribou/files/caribou-drop_gir_patch.patch new file mode 100644 index 000000000000..bbcf1ddee9e5 --- /dev/null +++ b/app-accessibility/caribou/files/caribou-drop_gir_patch.patch @@ -0,0 +1,117 @@ +From c52ce71c49dc8d6109a58d16cc8d491d7bd1d781 Mon Sep 17 00:00:00 2001 +From: Rico Tzschichholz <ricotz@ubuntu.com> +Date: Wed, 20 Jan 2021 22:59:49 +0100 +Subject: [PATCH] Stop patching the generated GIR + +--- + libcaribou/Makefile.am | 8 ++----- + tools/Makefile.am | 1 - + tools/fix_gir.py | 53 ------------------------------------------ + 3 files changed, 2 insertions(+), 60 deletions(-) + delete mode 100755 tools/fix_gir.py + +diff --git a/libcaribou/Makefile.am b/libcaribou/Makefile.am +index 05f2774..0634374 100644 +--- a/libcaribou/Makefile.am ++++ b/libcaribou/Makefile.am +@@ -7,7 +7,7 @@ libcaribou_la_VALAFLAGS = \ + --pkg xtst --pkg gee-0.8 --pkg gdk-x11-3.0 --pkg libxml-2.0 \ + --pkg libxklavier --pkg external-libs \ + --internal-vapi caribou-internals-1.0.vapi \ +- --library caribou-1.0 --gir _Caribou-1.0.gir \ ++ --library caribou-1.0 --gir Caribou-1.0.gir \ + --symbols libcaribou.symbols \ + $(VALAFLAGS) + +@@ -63,9 +63,6 @@ gir_DATA = Caribou-1.0.gir + typelibdir = $(libdir)/girepository-1.0 + typelib_DATA = Caribou-1.0.typelib + +-Caribou-1.0.gir: _Caribou-1.0.gir +- $(AM_V_GEN)$(PYTHON) -B $(top_srcdir)/tools/fix_gir.py $< > $@ +- + Caribou-1.0.typelib: Caribou-1.0.gir + @INTROSPECTION_COMPILER@ --shared-library=libcaribou.so.0 -o $@ $^ + +@@ -81,8 +78,7 @@ CLEANFILES = \ + caribou-1.0.vapi \ + caribou-internals-1.0.vapi \ + Caribou-1.0.typelib \ +- Caribou-1.0.gir \ +- _Caribou-1.0.gir ++ Caribou-1.0.gir + + DISTCLEANFILES = \ + caribou-1.0.pc +diff --git a/tools/Makefile.am b/tools/Makefile.am +index 3a9bcdb..89f753d 100644 +--- a/tools/Makefile.am ++++ b/tools/Makefile.am +@@ -1,5 +1,4 @@ + EXTRA_DIST = \ +- fix_gir.py \ + make_schema.py \ + convert_cldr.py \ + basic.xsl +diff --git a/tools/fix_gir.py b/tools/fix_gir.py +deleted file mode 100755 +index 182d108..0000000 +--- a/tools/fix_gir.py ++++ /dev/null +@@ -1,53 +0,0 @@ +-#!/usr/bin/python +- +-from xml.dom import minidom +- +-def purge_white_space_and_fix_namespace(node, indent=0): +- if getattr(node, "tagName", None) == "namespace": +- name = node.getAttribute("name") +- node.setAttribute("name", name.lstrip('_')) +- for child in [c for c in node.childNodes]: +- if child.nodeType == node.TEXT_NODE or \ +- getattr(child, "tagName", None) == "annotation": +- node.removeChild(child) +- continue +- purge_white_space_and_fix_namespace(child, indent+1) +- +-def find_ancestor(node, name): +- if getattr(node, "tagName", None) == name: +- return node +- parent = getattr(node, "parentNode", None) +- if not parent: +- return None +- return find_ancestor(parent, name) +- +-def fix_vfuncs(dom): +- for f in dom.getElementsByTagName("field"): +- callbacks = f.getElementsByTagName("callback") +- +- record = find_ancestor(f, "record") +- if not record: +- continue +- +- name = record.getAttribute("name") +- cname = record.getAttribute("c:type") +- +- assert(name.endswith("Class") or name.endswith("Iface")) +- assert(cname.endswith("Class") or name.endswith("Iface")) +- +- if len(callbacks) == 2: +- callbacks[-1].parentNode.removeChild(callbacks[-1]) +- +-if __name__ == "__main__": +- import sys +- +- if len(sys.argv) != 2: +- print("supply a gir file") +- sys.exit(1) +- +- dom = minidom.parse(sys.argv[-1]) +- +- purge_white_space_and_fix_namespace(dom) +- fix_vfuncs(dom) +- +- print(dom.toprettyxml(indent=" ", newl="\n")) +-- +GitLab + diff --git a/app-accessibility/caribou/files/caribou-fix-antler-style-css.patch b/app-accessibility/caribou/files/caribou-fix-antler-style-css.patch new file mode 100644 index 000000000000..4c4486bb7889 --- /dev/null +++ b/app-accessibility/caribou/files/caribou-fix-antler-style-css.patch @@ -0,0 +1,26 @@ +From 13df8b92ae89c796238e669ee6ef4447a42d6355 Mon Sep 17 00:00:00 2001 +From: Jeremy Bicha <jbicha@ubuntu.com> +Date: Fri, 1 Dec 2017 12:11:35 -0500 +Subject: [PATCH] style.css: Fix failure to start in GNOME Flashback + +The order for 'font' properties matters +https://developer.gnome.org/gtk3/stable/chap-css-properties.html + +https://bugzilla.gnome.org/show_bug.cgi?id=791001 +--- + data/antler/style.css | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/antler/style.css b/data/antler/style.css +index 5ab6f71..4d84904 100644 +--- a/data/antler/style.css ++++ b/data/antler/style.css +@@ -13,7 +13,7 @@ + border-width: 0px; + border-radius: 2px; + border-image: url("dark-key-border.svg") 2 2 2 2 repeat stretch; +- font: Sans 14px; ++ font: 14px Sans; + background-image: -gtk-gradient (linear, + left top, + left bottom, diff --git a/app-accessibility/caribou/files/caribou-fix-compilation-error.patch b/app-accessibility/caribou/files/caribou-fix-compilation-error.patch new file mode 100644 index 000000000000..d427cd35a111 --- /dev/null +++ b/app-accessibility/caribou/files/caribou-fix-compilation-error.patch @@ -0,0 +1,25 @@ +From bc6f3e7ca0921b50a3ff836d08ce264a4f114224 Mon Sep 17 00:00:00 2001 +From: Clement Lefebvre <clement.lefebvre@linuxmint.com> +Date: Tue, 12 Jan 2021 17:29:16 +0000 +Subject: [PATCH 1/4] Fix compilation error + +--- + libcaribou/key-model.vala | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala +index 89015bc..e88342e 100644 +--- a/libcaribou/key-model.vala ++++ b/libcaribou/key-model.vala +@@ -101,7 +101,7 @@ namespace Caribou { + unichar uc; + while (text.get_next_char (ref index, out uc)) { + uint keyval = Gdk.unicode_to_keyval (uc); +- if (keyval != uc | 0x01000000) ++ if (keyval != (uc | 0x01000000)) + _keyvals += keyval; + } + } else { +-- +2.29.2 + diff --git a/app-accessibility/caribou/files/caribou-fix-python-env.patch b/app-accessibility/caribou/files/caribou-fix-python-env.patch new file mode 100644 index 000000000000..3a0b26698fa3 --- /dev/null +++ b/app-accessibility/caribou/files/caribou-fix-python-env.patch @@ -0,0 +1,58 @@ +--- a/bin/antler-keyboard.in ++++ b/bin/antler-keyboard.in +@@ -18,24 +18,4 @@ + # along with this program; if not, write to the Free Software Foundation, + # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +-script_dir="$(dirname "$(readlink -f ${0})")" +- +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ +-datarootdir=@datarootdir@ +- +-if [ $script_dir = "@libexecdir@" ] +-then +- datadir="$(@PYTHON@ -c "from gi.repository import GLib; print(':'.join(GLib.get_system_data_dirs()))")" +- export PYTHONPATH="${prefix}/lib/python@PYTHON_VERSION@/site-packages:${prefix}/lib64/python@PYTHON_VERSION@/site-packages${PYTHONPATH:+:$PYTHONPATH}" +- export GI_TYPELIB_PATH="@libdir@/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +- export LD_LIBRARY_PATH="@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +- export XDG_DATA_DIRS="@datadir@${datadir:+:$datadir}" +-else +- export PYTHONPATH="$(dirname $script_dir)${PYTHONPATH:+:$PYTHONPATH}" +- export GI_TYPELIB_PATH="$(dirname $script_dir)/libcaribou${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +- export LD_LIBRARY_PATH="$(dirname $script_dir)/libcaribou/.libs${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +- export ANTLER_THEME_PATH="$(dirname $script_dir)/data" +-fi +- +-@PYTHON@ -m caribou.antler.main "$@" ++exec @PYTHON@ -m caribou.antler.main "$@" +--- a/bin/caribou-preferences.in ++++ b/bin/caribou-preferences.in +@@ -18,26 +18,7 @@ + # along with this program; if not, write to the Free Software Foundation, + # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +-script_dir="$(dirname "$(readlink -f ${0})")" +- +-prefix=@prefix@ +-exec_prefix=@exec_prefix@ +-datarootdir=@datarootdir@ +- +-if [ $script_dir = "@bindir@" ] +-then +- datadir="$(@PYTHON@ -c "from gi.repository import GLib; print(':'.join(GLib.get_system_data_dirs()))")" +- export PYTHONPATH="@prefix@/lib/python@PYTHON_VERSION@/site-packages${PYTHONPATH:+:$PYTHONPATH}" +- export GI_TYPELIB_PATH="@libdir@/girepository-1.0${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +- export LD_LIBRARY_PATH="@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +- export XDG_DATA_DIRS="@datadir@${datadir:+:$datadir}" +-else +- export PYTHONPATH="$(dirname $script_dir)${PYTHONPATH:+:$PYTHONPATH}" +- export GI_TYPELIB_PATH="$(dirname $script_dir)/libcaribou${GI_TYPELIB_PATH:+:$GI_TYPELIB_PATH}" +- export LD_LIBRARY_PATH="$(dirname $script_dir)/libcaribou/.lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" +-fi +- +-@PYTHON@ -c " ++exec @PYTHON@ -c " + import signal + signal.signal(signal.SIGINT, signal.SIG_DFL) + diff --git a/app-accessibility/caribou/files/caribou-fix-subkey-popmenu.patch b/app-accessibility/caribou/files/caribou-fix-subkey-popmenu.patch new file mode 100644 index 000000000000..ffd4423c2986 --- /dev/null +++ b/app-accessibility/caribou/files/caribou-fix-subkey-popmenu.patch @@ -0,0 +1,32 @@ +From 85ac8f9e210243d95163cf8b1013470a6d9c7eaa Mon Sep 17 00:00:00 2001 +From: Clement Lefebvre <clement.lefebvre@linuxmint.com> +Date: Tue, 12 Jan 2021 17:30:25 +0000 +Subject: [PATCH 2/4] Fix subkey popmenu not showing after being dismissed + +To reproduce the issue: + +- long-press the "e" button +- don't select any sub button.. just select "e" again to close the menu + +After this the menu no long appears when long-pressing "e". + +This commit fixes that. +--- + libcaribou/key-model.vala | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libcaribou/key-model.vala b/libcaribou/key-model.vala +index e88342e..2f640f2 100644 +--- a/libcaribou/key-model.vala ++++ b/libcaribou/key-model.vala +@@ -179,6 +179,7 @@ namespace Caribou { + hold_tid = GLib.Timeout.add (1000, on_key_held); + + key_pressed(this); ++ show_subkeys = false; + } + + public void release () { +-- +2.29.2 + diff --git a/app-accessibility/caribou/files/caribou-fix-xadapter-xkb-calls.patch b/app-accessibility/caribou/files/caribou-fix-xadapter-xkb-calls.patch new file mode 100644 index 000000000000..bcb2a19c3d07 --- /dev/null +++ b/app-accessibility/caribou/files/caribou-fix-xadapter-xkb-calls.patch @@ -0,0 +1,46 @@ +From 00653c5dcc4be5e983b670d00d5724fc21da2e82 Mon Sep 17 00:00:00 2001 +From: Clement Lefebvre <clement.lefebvre@linuxmint.com> +Date: Tue, 12 Jan 2021 18:01:47 +0000 +Subject: [PATCH 3/4] [mtwebster] xadapter.vala: Remove XkbKeyTypesMask and + fields from XKbChangeMap call. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This was originally a workaround for xFree86 4.3 - see: +https://bugzilla.gnome.org/show_bug.cgi?id=673547 + +As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 this +causes a BadLength error when attempting to use shifted characters. + +Ref: +https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server +--- + libcaribou/xadapter.vala | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +diff --git a/libcaribou/xadapter.vala b/libcaribou/xadapter.vala +index 22858b7..1da5a78 100644 +--- a/libcaribou/xadapter.vala ++++ b/libcaribou/xadapter.vala +@@ -195,15 +195,10 @@ namespace Caribou { + + Xkb.MapChanges changes = Xkb.MapChanges (); + +- // We don't touch key types here but include the +- // information in XkbSetMap request to the server, because +- // some X servers need the information to check the sanity +- // of the keysyms change. +- changes.changed = (ushort) (Xkb.KeySymsMask | Xkb.KeyTypesMask); ++ changes.changed = (ushort) Xkb.KeySymsMask; + changes.first_key_sym = (char) this.reserved_keycode; + changes.num_key_syms = this.xkbdesc.map.key_sym_map[this.reserved_keycode].width; +- changes.first_type = 0; +- changes.num_types = this.xkbdesc.map.num_types; ++ + Xkb.change_map (this.xdisplay, this.xkbdesc, changes); + + this.xdisplay.flush (); +-- +2.29.2 + diff --git a/app-accessibility/caribou/metadata.xml b/app-accessibility/caribou/metadata.xml index 3a82b0ba211a..0ce9ad92c493 100644 --- a/app-accessibility/caribou/metadata.xml +++ b/app-accessibility/caribou/metadata.xml @@ -1,15 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> -<maintainer type="project"> - <email>gnome@gentoo.org</email> - <name>Gentoo GNOME Desktop</name> -</maintainer> -<longdescription lang="en"> + <maintainer type="person" proxied="yes"> + <email>sparky@bluefang-logic.com</email> + <name>Matthew Turnbull</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <longdescription lang="en"> Caribou is a text entry and UI navigation application being developed as an alternative to the Gnome On-screen Keyboard. The overarching goal for Caribou is to create a usable solution for people whose primary way of accessing a computer is a switch device. The initial goal is to make an in-place on-screen keyboard suitable for people who can use a mouse but not a hardware keyboard. -</longdescription> + </longdescription> </pkgmetadata> |