- 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 -*-
|
||||
# configuration file for lircd (and lircmd if enabled).
|
||||
|
||||
# Options to lircd(8). Typically, at least a remote controller driver
|
||||
# ("-H foo") needs to be specified here. Run "/usr/sbin/lircd -H help" to get
|
||||
# a listing of supported drivers.
|
||||
# Options to lircd(8). Typically, this will be empty, as which driver to use
|
||||
# should be specified using the LIRC_DRIVER variable below.
|
||||
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.
|
||||
ENABLE_LIRCMD="no"
|
||||
|
||||
# Options to lircmd(8).
|
||||
LIRCMD_OPTIONS=""
|
||||
|
||||
|
Loading…
Reference in new issue