- Add support for config option style used by gnome-lirc-properties (#442341)epel8
parent
89675d7bc3
commit
9600db3343
@ -1,109 +0,0 @@
|
|||||||
From d5f3f9853d87c319c33ade71811c225db11855f7 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Mathias Hasselmann <mathias@openismus.com>
|
|
||||||
Date: Wed, 13 Feb 2008 21:23:43 +0100
|
|
||||||
Subject: Add --resume switch to irrecord.
|
|
||||||
|
|
||||||
This switch asks irrecord to take hardware parameters from the provided
|
|
||||||
template file, instead of trying to interactively discover them.
|
|
||||||
|
|
||||||
This change is needed for gnome-lirc-properties to allow it having a
|
|
||||||
self-contained key-code learning mode, that's consistent with
|
|
||||||
gnome-keybinding-properties.
|
|
||||||
|
|
||||||
The 'remotes==NULL' check for LIRC_MODE_MODE2 seems to indicate, that its
|
|
||||||
author had a similar behaviour in mind. Still I prefer having that switch,
|
|
||||||
instead of silently switching to --resume behaviour when a templates file
|
|
||||||
was found, for backwards compability and for being able to detect that
|
|
||||||
feature.
|
|
||||||
---
|
|
||||||
daemons/irrecord.c | 17 ++++++++++++-----
|
|
||||||
1 files changed, 12 insertions(+), 5 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/daemons/irrecord.c b/daemons/irrecord.c
|
|
||||||
index df03c7b..a2420a8 100644
|
|
||||||
--- a/daemons/irrecord.c
|
|
||||||
+++ b/daemons/irrecord.c
|
|
||||||
@@ -192,6 +192,7 @@ int main(int argc,char **argv)
|
|
||||||
lirc_t min_remaining_gap, max_remaining_gap;
|
|
||||||
int force;
|
|
||||||
int retries;
|
|
||||||
+ int resume;
|
|
||||||
struct ir_remote *remotes=NULL;
|
|
||||||
char *device=NULL;
|
|
||||||
#ifdef DEBUG
|
|
||||||
@@ -200,6 +201,7 @@ int main(int argc,char **argv)
|
|
||||||
|
|
||||||
progname=argv[0];
|
|
||||||
force=0;
|
|
||||||
+ resume=0;
|
|
||||||
hw_choose_driver(NULL);
|
|
||||||
while(1)
|
|
||||||
{
|
|
||||||
@@ -211,6 +213,7 @@ int main(int argc,char **argv)
|
|
||||||
{"device",required_argument,NULL,'d'},
|
|
||||||
{"driver",required_argument,NULL,'H'},
|
|
||||||
{"force",no_argument,NULL,'f'},
|
|
||||||
+ {"resume",no_argument,NULL,'r'},
|
|
||||||
#ifdef DEBUG
|
|
||||||
{"pre",no_argument,NULL,'p'},
|
|
||||||
{"post",no_argument,NULL,'P'},
|
|
||||||
@@ -221,9 +224,9 @@ int main(int argc,char **argv)
|
|
||||||
{0, 0, 0, 0}
|
|
||||||
};
|
|
||||||
#ifdef DEBUG
|
|
||||||
- c = getopt_long(argc,argv,"hvd:H:fpPtiT",long_options,NULL);
|
|
||||||
+ c = getopt_long(argc,argv,"hvd:H:frpPtiT",long_options,NULL);
|
|
||||||
#else
|
|
||||||
- c = getopt_long(argc,argv,"hvd:H:f",long_options,NULL);
|
|
||||||
+ c = getopt_long(argc,argv,"hvd:H:fr",long_options,NULL);
|
|
||||||
#endif
|
|
||||||
if(c==-1)
|
|
||||||
break;
|
|
||||||
@@ -234,6 +237,7 @@ int main(int argc,char **argv)
|
|
||||||
printf("\t -h --help\t\tdisplay this message\n");
|
|
||||||
printf("\t -v --version\t\tdisplay version\n");
|
|
||||||
printf("\t -f --force\t\tforce raw mode\n");
|
|
||||||
+ printf("\t -r --resume\t\tcontinue recording\n");
|
|
||||||
printf("\t -H --driver=driver\tuse given driver\n");
|
|
||||||
printf("\t -d --device=device\tread from given device\n");
|
|
||||||
exit(EXIT_SUCCESS);
|
|
||||||
@@ -254,6 +258,9 @@ int main(int argc,char **argv)
|
|
||||||
case 'f':
|
|
||||||
force=1;
|
|
||||||
break;
|
|
||||||
+ case 'r':
|
|
||||||
+ resume=1;
|
|
||||||
+ break;
|
|
||||||
#ifdef DEBUG
|
|
||||||
case 'p':
|
|
||||||
get_pre=1;
|
|
||||||
@@ -460,7 +467,7 @@ int main(int argc,char **argv)
|
|
||||||
switch(hw.rec_mode)
|
|
||||||
{
|
|
||||||
case LIRC_MODE_MODE2:
|
|
||||||
- if(remotes==NULL && !get_lengths(&remote,force))
|
|
||||||
+ if((!remotes || !resume) && !get_lengths(&remote,force))
|
|
||||||
{
|
|
||||||
if(remote.gap==0)
|
|
||||||
{
|
|
||||||
@@ -494,7 +501,7 @@ int main(int argc,char **argv)
|
|
||||||
case LIRC_MODE_LIRCCODE:
|
|
||||||
if(hw.rec_mode==LIRC_MODE_CODE) remote.bits=CHAR_BIT;
|
|
||||||
else remote.bits=hw.code_length;
|
|
||||||
- if(!get_gap_length(&remote))
|
|
||||||
+ if((!remotes || !resume) && !get_gap_length(&remote))
|
|
||||||
{
|
|
||||||
fprintf(stderr,"%s: gap not found,"
|
|
||||||
" can't continue\n",progname);
|
|
||||||
@@ -767,7 +774,7 @@ int main(int argc,char **argv)
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if(!has_toggle_bit_mask(remotes))
|
|
||||||
+ if((!remotes || !resume) && !has_toggle_bit_mask(remotes))
|
|
||||||
{
|
|
||||||
get_toggle_bit_mask(remotes);
|
|
||||||
}
|
|
||||||
--
|
|
||||||
1.5.3.7
|
|
||||||
|
|
@ -1,13 +1,23 @@
|
|||||||
# Note: in addition to these parameters, you need to have working -*- sh -*-
|
# Note: in addition to these parameters, you need to have working -*- sh -*-
|
||||||
# configuration file for lircd (and lircmd if enabled).
|
# configuration file for lircd (and lircmd if enabled).
|
||||||
|
|
||||||
# Options to lircd(8). Typically, at least a remote controller driver
|
# Options to lircd(8). Typically, this will be empty, as which driver to use
|
||||||
# ("-H foo") needs to be specified here. Run "/usr/sbin/lircd -H help" to get
|
# should be specified using the LIRC_DRIVER variable below.
|
||||||
# a listing of supported drivers.
|
|
||||||
LIRCD_OPTIONS=""
|
LIRCD_OPTIONS=""
|
||||||
|
|
||||||
|
# The infrared receiver (and/or transmitter) driver to be used by lircd(8),
|
||||||
|
# similar to passing "-H driver" to lircd(8).
|
||||||
|
# Run "/usr/sbin/lircd -H help" to get a listing of supported drivers.
|
||||||
|
LIRC_DRIVER=""
|
||||||
|
|
||||||
|
# Which lirc device will be used by lircd(8).
|
||||||
|
# This is the same as passing "-d device" to lircd.
|
||||||
|
# An empty value will use the default /dev/lirc device.
|
||||||
|
LIRC_DEVICE=""
|
||||||
|
|
||||||
# If "yes", the init script will try to start lircmd(8) too.
|
# If "yes", the init script will try to start lircmd(8) too.
|
||||||
ENABLE_LIRCMD="no"
|
ENABLE_LIRCMD="no"
|
||||||
|
|
||||||
# Options to lircmd(8).
|
# Options to lircmd(8).
|
||||||
LIRCMD_OPTIONS=""
|
LIRCMD_OPTIONS=""
|
||||||
|
|
||||||
|
Loading…
Reference in new issue