summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Helmert III <ajak@gentoo.org>2021-09-25 13:53:35 -0500
committerJohn Helmert III <ajak@gentoo.org>2021-09-25 15:46:46 -0500
commit97302339c8c2d04c2ea5dae831f03aa8e499694a (patch)
tree75a8486dcbf89922faae9fc4b10523a21ba6e4da /app-misc
parentapp-misc/ckb: add myself as a maintainer, fix metadata remote-id (diff)
downloadgentoo-97302339c8c2d04c2ea5dae831f03aa8e499694a.tar.gz
gentoo-97302339c8c2d04c2ea5dae831f03aa8e499694a.tar.bz2
gentoo-97302339c8c2d04c2ea5dae831f03aa8e499694a.zip
app-misc/ckb: fix compatibility with libinput drivers 1.2.0
Closes: https://bugs.gentoo.org/814797 Signed-off-by: John Helmert III <ajak@gentoo.org>
Diffstat (limited to 'app-misc')
-rw-r--r--app-misc/ckb/ckb-0.4.4-r2.ebuild65
-rw-r--r--app-misc/ckb/files/ckb-0.4.4-libinput-1.2.0.patch29
2 files changed, 94 insertions, 0 deletions
diff --git a/app-misc/ckb/ckb-0.4.4-r2.ebuild b/app-misc/ckb/ckb-0.4.4-r2.ebuild
new file mode 100644
index 000000000000..e5c7f3974338
--- /dev/null
+++ b/app-misc/ckb/ckb-0.4.4-r2.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit xdg cmake
+
+DESCRIPTION="Corsair K65/K70/K95 Driver"
+HOMEPAGE="https://github.com/ckb-next/ckb-next"
+SRC_URI="https://github.com/ckb-next/ckb-next/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="systemd"
+
+RDEPEND="
+ dev-libs/libdbusmenu-qt
+ dev-libs/quazip:0=
+ dev-qt/qtcore:5
+ dev-qt/qtdbus:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtx11extras:5
+ media-sound/pulseaudio
+ virtual/libudev:=
+ x11-libs/libX11
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-wm"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-qt/linguist-tools:5"
+
+S="${WORKDIR}/${PN}-next-${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-libinput-1.2.0.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DDISABLE_UPDATER=yes
+ -DFORCE_INIT_SYSTEM=$(usex systemd systemd openrc)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dodoc CHANGELOG.md
+
+ newinitd "${FILESDIR}"/ckb.initd ckb-daemon
+}
+
+pkg_postinst() {
+ if [[ -z "${REPLACING_VERSIONS}" ]]; then
+ elog "The ckb daemon will have to be started before use:"
+ elog
+ if use systemd ; then
+ elog "# systemctl start ckb-next-daemon"
+ else
+ elog "# rc-service ckb start"
+ fi
+ fi
+}
diff --git a/app-misc/ckb/files/ckb-0.4.4-libinput-1.2.0.patch b/app-misc/ckb/files/ckb-0.4.4-libinput-1.2.0.patch
new file mode 100644
index 000000000000..211d5e4ea01e
--- /dev/null
+++ b/app-misc/ckb/files/ckb-0.4.4-libinput-1.2.0.patch
@@ -0,0 +1,29 @@
+From dc4dc54c5ebac7e4b455d8df35076fc044a581a7 Mon Sep 17 00:00:00 2001
+From: Tasos Sahanidis <tasos@tasossah.com>
+Date: Mon, 20 Sep 2021 14:48:18 +0300
+Subject: [PATCH] Don't enable unneeded axes in mouse device
+
+Specifically, we used to enable HI_RES wheel events without ever
+sending any. This breaks scrolling in latest libinput as it expects
+us to actually send HI_RES events.
+---
+ src/daemon/input_linux.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/src/daemon/input_linux.c b/src/daemon/input_linux.c
+index 68cc0ebb..a9ac8c8e 100644
+--- a/src/daemon/input_linux.c
++++ b/src/daemon/input_linux.c
+@@ -25,8 +25,10 @@ int uinputopen(struct uinput_user_dev* indev, int mouse){
+ ioctl(fd, UI_SET_KEYBIT, i);
+ // Enable mouse axes
+ ioctl(fd, UI_SET_EVBIT, EV_REL);
+- for(int i = 0; i < REL_CNT; i++)
+- ioctl(fd, UI_SET_RELBIT, i);
++ ioctl(fd, UI_SET_RELBIT, REL_X);
++ ioctl(fd, UI_SET_RELBIT, REL_Y);
++ ioctl(fd, UI_SET_RELBIT, REL_WHEEL);
++ ioctl(fd, UI_SET_RELBIT, REL_HWHEEL);
+ } else {
+ // Enable common keyboard keys
+ for(int i = KEY_ESC; i <= KEY_MEDIA; i++)