lirc: add upstream fix for release events

This commit is contained in:
Matthias Reichl 2017-04-07 15:27:13 +02:00
parent 7b54db2df0
commit 52d2bab90f

View File

@ -0,0 +1,119 @@
From 6b35f7e0db3d1da5fce27c089d0ccfb18ee4c5fa Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sun, 12 Feb 2017 10:49:07 +0100
Subject: [PATCH] Use _EVUP instead of _UP as release suffic (#263).
---
daemons/lircd-uinput.cpp | 4 ++--
doc/man-source/lircd-uinput.8 | 11 +++++++----
doc/man-source/lircd.8 | 6 +++++-
lib/lirc_config.h | 2 +-
4 files changed, 15 insertions(+), 8 deletions(-)
diff --git a/daemons/lircd-uinput.cpp b/daemons/lircd-uinput.cpp
index ff3a727..110f1de 100644
--- a/daemons/lircd-uinput.cpp
+++ b/daemons/lircd-uinput.cpp
@@ -38,7 +38,7 @@ static const char* const HELP =
"\t socket: lircd output socket or test file [" LIRCD "]\n"
"\nOptions:\n"
"\t -u --uinput=uinput \t\tuinput device [/dev/uinput]\n"
- "\t -r --release-suffix=suffix \tRelease events suffix [_UP]\n"
+ "\t -r --release-suffix=suffix \tRelease events suffix [_EVUP]\n"
"\t -R --repeat=delay[,period]\tSet kernel repeat parameters [none]\n"
"\t -a --add-release-events\tAdd synthetic release events [no]\n"
"\t -d --disable=file\t\tDisable buttons listed in file\n"
@@ -157,7 +157,7 @@ static void add_defaults(void)
LOGFILE_OPT, "syslog",
UINPUT_OPT, "/dev/uinput",
REPEAT_OPT, (const char*) NULL,
- SUFFIX_OPT, suffix ? suffix : "_UP",
+ SUFFIX_OPT, suffix ? suffix : "_EVUP",
TIMEOUT_OPT, "200",
INPUT_ARG, socket ? socket : LIRCD,
DISABLED_OPT, (const char*)NULL,
diff --git a/doc/man-source/lircd-uinput.8 b/doc/man-source/lircd-uinput.8
index 0786a6f..3409d13 100644
--- a/doc/man-source/lircd-uinput.8
+++ b/doc/man-source/lircd-uinput.8
@@ -1,4 +1,4 @@
-.TH LIRCD-UINPUT "8" "Last change: Oct 2016" "lircd.uinput @version@" "System Managers Manual"
+.TH LIRCD-UINPUT "8" "Last change: Feb 2017" "lircd.uinput @version@" "System Managers Manual"
.\" Copyright (c) 2015, Alec Leamas
.\"
@@ -93,7 +93,7 @@ The setting should usually match the
.I --release
option.
Defaults to the lircd setting, falling back to
-.I _UP
+.I _EVUP
\&. See REPEAT HANDLING
.TP
\fB\-R\fR \fB\-\-repeat\fR <\fIdelay\fR[,\fIperiod\fR] | \fI,period\fR>
@@ -171,15 +171,18 @@ using the
.I --release
option.
Such events typically has an
-.I _UP
+.I _EVUP
suffix appended to the original keypress event.
As an alternative,
.B lircd-uinput
can create release events using the
-.I --add-relesea-events
+.I --add-release-events
option.
Combining both of these options might give unexpected results.
.P
+Note that the linux kernel uses the suffix _UP (which was used py
+lircd prior to 0.10.0) for other purposes since 4.7.
+.P
In any case, the repeat events generated by the kernel can be tweaked using
the
.I --repeat
diff --git a/doc/man-source/lircd.8 b/doc/man-source/lircd.8
index 1aa036f..f992e6f 100644
--- a/doc/man-source/lircd.8
+++ b/doc/man-source/lircd.8
@@ -141,7 +141,11 @@ under DRIVER LOADING. The argument is a :-separated search path.
\fB-r, --release\fR [\fIsuffix\fR]
Enables automatic generation of release events for each button press.
lircd will append the given suffix to the button name for each release
-event. If no suffix is given the default suffix is '_UP'.
+event. If no suffix is given the default suffix is '_EVUP'.
+.IP
+Note the suffix _UP, which was used by
+.B lircd
+prior to 0.10.0, is used by the linux kernel for other purposes since 4.7.
.TP
\fB-R, --repeat-max\fR <\fIlimit\fR>
Sets an upper limit to the number of repeats when sending a signal. The
diff --git a/lib/lirc_config.h b/lib/lirc_config.h
index d57da3d..903ce3a 100644
--- a/lib/lirc_config.h
+++ b/lib/lirc_config.h
@@ -74,7 +74,7 @@
#define PIDFILE VARRUNDIR "/" PACKAGE "/" PID_LIRCD
/** Suffix added to release events. */
-#define LIRC_RELEASE_SUFFIX "_UP"
+#define LIRC_RELEASE_SUFFIX "_EVUP"
/** Default directory for plugins/drivers. */
#define PLUGINDIR LIBDIR "/lirc/plugins"
diff a/lib/lirc/lirc_config.h b/lib/lirc/lirc_config.h
--- a/lib/lirc/lirc_config.h
+++ b/lib/lirc/lirc_config.h
@@ -74,7 +74,7 @@
#define PIDFILE VARRUNDIR "/" PACKAGE "/" PID_LIRCD
/** Suffix added to release events. */
-#define LIRC_RELEASE_SUFFIX "_UP"
+#define LIRC_RELEASE_SUFFIX "_EVUP"
/** Default directory for plugins/drivers. */
#define PLUGINDIR LIBDIR "/lirc/plugins"
--
2.1.4