commit:     3a912eb430ddaddc743756948975f6de3ee4f129
Author:     Alexey Chernov <4ernov <AT> gmail <DOT> com>
AuthorDate: Sun Sep 15 21:05:16 2019 +0000
Commit:     Benda XU <heroxbd <AT> gentoo <DOT> org>
CommitDate: Fri Feb 14 07:52:56 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a912eb4

x11-misc/xbindkeys: Add release event status mask patch.

Add and make apply a patch to x11-misc/xbindkeys, which applies mask
to release event status fixing layout issues.

The patch is actually merged to xbindkeys upstream, but no new version
is released since then.

Closes: https://bugs.gentoo.org/548000.
Closes: https://github.com/gentoo/gentoo/pull/12938

Reference: https://askubuntu.com/a/825622
Reference: 
https://lists.nongnu.org/archive/html/xbindkeys-devel/2014-02/msg00002.html

Signed-off-by: Alexey Chernov <4ernov <AT> gmail.com>
Signed-off-by: Benda Xu <heroxbd <AT> gentoo.org>

 ...ndkeys-apply-mask-on-release-event-status.patch | 28 +++++++++++++++++++++
 x11-misc/xbindkeys/xbindkeys-1.8.6-r1.ebuild       | 29 ++++++++++++++++++++++
 2 files changed, 57 insertions(+)

diff --git 
a/x11-misc/xbindkeys/files/xbindkeys-apply-mask-on-release-event-status.patch 
b/x11-misc/xbindkeys/files/xbindkeys-apply-mask-on-release-event-status.patch
new file mode 100644
index 00000000000..427983e2d12
--- /dev/null
+++ 
b/x11-misc/xbindkeys/files/xbindkeys-apply-mask-on-release-event-status.patch
@@ -0,0 +1,28 @@
+commit ceb7093f8d77cf5952e8e7778db02a6f3e8d8872
+Author: Alberto <address@hidden>
+Date:   Mon Feb 10 09:21:57 2014 +0200
+
+    fix keyboard layout problems
+
+diff --git a/xbindkeys.c b/xbindkeys.c
+index b0adef9..162e47e 100644
+--- a/xbindkeys.c
++++ b/xbindkeys.c
+@@ -377,7 +377,7 @@ event_loop (Display * d)
+             printf ("e.xbutton.state=%d\n", e.xbutton.state);
+           }
+ 
+-        e.xbutton.state &= ~(numlock_mask | capslock_mask | scrolllock_mask
++        e.xbutton.state &= 0x1FFF && ~(numlock_mask | capslock_mask | 
scrolllock_mask
+                              | Button1Mask | Button2Mask | Button3Mask
+                              | Button4Mask | Button5Mask);
+ 
+@@ -409,7 +409,7 @@ event_loop (Display * d)
+             printf ("e.xbutton.state=%d\n", e.xbutton.state);
+           }
+ 
+-        e.xbutton.state &= ~(numlock_mask | capslock_mask | scrolllock_mask
++        e.xbutton.state &= 0x1FFF && ~(numlock_mask | capslock_mask | 
scrolllock_mask
+                              | Button1Mask | Button2Mask | Button3Mask
+                              | Button4Mask | Button5Mask);
+ 

diff --git a/x11-misc/xbindkeys/xbindkeys-1.8.6-r1.ebuild 
b/x11-misc/xbindkeys/xbindkeys-1.8.6-r1.ebuild
new file mode 100644
index 00000000000..14de366f5dc
--- /dev/null
+++ b/x11-misc/xbindkeys/xbindkeys-1.8.6-r1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+DESCRIPTION="Tool for launching commands on keystrokes"
+SRC_URI="http://www.nongnu.org/${PN}/${P}.tar.gz";
+HOMEPAGE="http://www.nongnu.org/xbindkeys/xbindkeys.html";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos 
~sparc-solaris"
+IUSE="guile tk"
+
+RDEPEND="x11-libs/libX11
+       guile? ( >=dev-scheme/guile-1.8.4[deprecated] )
+       tk? ( dev-lang/tk )"
+DEPEND="${RDEPEND}
+       x11-base/xorg-proto"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-apply-mask-on-release-event-status.patch"
+)
+
+src_configure() {
+       econf \
+               $(use_enable tk) \
+               $(use_enable guile)
+}

Reply via email to