diff --git a/HISTORY b/HISTORY index 2401b51b..dfcf831d 100644 --- a/HISTORY +++ b/HISTORY @@ -7562,3 +7562,11 @@ Video Disk Recorder Revision History - Added some notes about plugin Makefiles to PLUGINS.html. - Avoiding an extra key press event if the repeat function kicks in when controlling VDR via the PC keyboard. +- The new options "Setup/Miscellaneous/Remote control repeat delay" and + "Setup/Miscellaneous/Remote control repeat delta" can be used to adjust the + behavior of the remote control in case a key is held pressed down for a while, so + that the repeat function kicks in (see MANUAL). + The builtin LIRC and KBD remote controls already use these parameters. It is + recommended that plugins that implement an interface to any kind of remote controls + also use the parameters Setup.RcRepeatDelay and Setup.RcRepeatDelta for the desired + purpose, and remove any setup options they might have that serve the same purpose. diff --git a/MANUAL b/MANUAL index 2337d192..72189fa7 100644 --- a/MANUAL +++ b/MANUAL @@ -926,6 +926,18 @@ Version 1.6 key. Note that the total maximum is also limited by the "OSD/Channel info time" parameter. + Remote control repeat delay = 300 + The earliest time (in milliseconds) after which the repeat + function of the remote control kicks in if a key is held + pressed down for a while. If the remote control in use + has a repeat delay that is longer than that given in this + parameter, that longer delay will prevail. + Remote control repeat delta = 100 + The time (in milliseconds) between two subsequent key + presses generated by the remote control's repeat function. + If the remote control in use has a repeat delta that is + longer than that given in this parameter, that longer delay + will prevail. Initial channel = The channel ID of the channel that shall be tuned to when VDR starts. Default is empty, which means that it will tune to the channel that was on before VDR was stopped. diff --git a/PLUGINS.html b/PLUGINS.html index fafd6feb..a5713a7f 100644 --- a/PLUGINS.html +++ b/PLUGINS.html @@ -2221,6 +2221,13 @@ Put(uint64 Code, bool Repeat = false, bool Release = false);

The other parameters have the same meaning as in the first version of this function. +

+ +If your remote control has a repeat function that automatically repeats key events +if a key is held pressed down for a while, your derived class should use the global +parameters Setup.RcRepeatDelay and Setup.RcRepeatDelta to allow +users to configure the behavior of this function. +


Conditional Access

diff --git a/UPDATE-2.0.0 b/UPDATE-2.0.0 index b13ac410..02087812 100644 --- a/UPDATE-2.0.0 +++ b/UPDATE-2.0.0 @@ -86,6 +86,10 @@ Plugins: - The plugin Makefiles now have a separate 'install' target. - Plugin Makefiles now use DESTDIR and the 'install' program. - Plugin Makefiles can now include a configuration file for compile time parameters. +- Plugins that implement an interface to any kind of remote controls shall use the + new parameters Setup.RcRepeatDelay and Setup.RcRepeatDelta to allow the user to + adjust the behavior of the remote control's repeat function. They shall also + remove any setup options they might have that serve the same purpose. Skins: @@ -132,6 +136,10 @@ Remote control: - The new remote control key "Play/Pause" can be used with remote controls that don't have separate keys for "Play" and "Pause", but rather have a single key for both functions. +- The new options "Setup/Miscellaneous/Remote control repeat delay" and + "Setup/Miscellaneous/Remote control repeat delta" can be used to adjust the + behavior of the remote control in case a key is held pressed down for a while, so + that the repeat function kicks in. Devices: diff --git a/config.c b/config.c index 8c7b9d1d..3335dfc2 100644 --- a/config.c +++ b/config.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.c 2.32 2013/01/17 14:50:51 kls Exp $ + * $Id: config.c 2.33 2013/02/02 13:44:33 kls Exp $ */ #include "config.h" @@ -408,6 +408,8 @@ cSetup::cSetup(void) SVDRPTimeout = 300; ZapTimeout = 3; ChannelEntryTimeout = 1000; + RcRepeatDelay = 300; + RcRepeatDelta = 100; DefaultPriority = 50; DefaultLifetime = MAXLIFETIME; PauseKeyHandling = 2; @@ -610,6 +612,8 @@ bool cSetup::Parse(const char *Name, const char *Value) else if (!strcasecmp(Name, "SVDRPTimeout")) SVDRPTimeout = atoi(Value); else if (!strcasecmp(Name, "ZapTimeout")) ZapTimeout = atoi(Value); else if (!strcasecmp(Name, "ChannelEntryTimeout")) ChannelEntryTimeout= atoi(Value); + else if (!strcasecmp(Name, "RcRepeatDelay")) RcRepeatDelay = atoi(Value); + else if (!strcasecmp(Name, "RcRepeatDelta")) RcRepeatDelta = atoi(Value); else if (!strcasecmp(Name, "DefaultPriority")) DefaultPriority = atoi(Value); else if (!strcasecmp(Name, "DefaultLifetime")) DefaultLifetime = atoi(Value); else if (!strcasecmp(Name, "PauseKeyHandling")) PauseKeyHandling = atoi(Value); @@ -716,6 +720,8 @@ bool cSetup::Save(void) Store("SVDRPTimeout", SVDRPTimeout); Store("ZapTimeout", ZapTimeout); Store("ChannelEntryTimeout",ChannelEntryTimeout); + Store("RcRepeatDelay", RcRepeatDelay); + Store("RcRepeatDelta", RcRepeatDelta); Store("DefaultPriority", DefaultPriority); Store("DefaultLifetime", DefaultLifetime); Store("PauseKeyHandling", PauseKeyHandling); diff --git a/config.h b/config.h index 44ea7146..5a0f71d1 100644 --- a/config.h +++ b/config.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: config.h 2.62 2013/02/01 12:00:35 kls Exp $ + * $Id: config.h 2.63 2013/02/02 13:45:19 kls Exp $ */ #ifndef __CONFIG_H @@ -280,6 +280,8 @@ public: int SVDRPTimeout; int ZapTimeout; int ChannelEntryTimeout; + int RcRepeatDelay; + int RcRepeatDelta; int DefaultPriority, DefaultLifetime; int PausePriority, PauseLifetime; int PauseKeyHandling; diff --git a/lirc.c b/lirc.c index d9bcd66b..42f07406 100644 --- a/lirc.c +++ b/lirc.c @@ -6,15 +6,13 @@ * * LIRC support added by Carsten Koch 2000-06-16. * - * $Id: lirc.c 2.3 2013/01/31 12:13:39 kls Exp $ + * $Id: lirc.c 2.4 2013/02/03 11:23:18 kls Exp $ */ #include "lirc.h" #include #include -#define REPEATDELAY 300 // ms -#define REPEATFREQ 100 // ms #define RECONNECTDELAY 3000 // ms cLircRemote::cLircRemote(const char *DeviceName) @@ -98,7 +96,7 @@ void cLircRemote::Action(void) int Delta = ThisTime.Elapsed(); // the time between two subsequent LIRC events ThisTime.Set(); if (count == 0) { - if (strcmp(KeyName, LastKeyName) == 0 && FirstTime.Elapsed() < REPEATDELAY) + if (strcmp(KeyName, LastKeyName) == 0 && FirstTime.Elapsed() < (uint)Setup.RcRepeatDelay) continue; // skip keys coming in too fast if (repeat) Put(LastKeyName, false, true); @@ -108,9 +106,9 @@ void cLircRemote::Action(void) FirstTime.Set(); timeout = -1; } - else if (FirstTime.Elapsed() < REPEATDELAY) + else if (FirstTime.Elapsed() < (uint)Setup.RcRepeatDelay) continue; // repeat function kicks in after a short delay - else if (LastTime.Elapsed() < REPEATFREQ) + else if (LastTime.Elapsed() < (uint)Setup.RcRepeatDelta) continue; // skip same keys coming in too fast else { repeat = true; diff --git a/menu.c b/menu.c index e303681d..ae389847 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 2.75 2013/02/01 12:00:10 kls Exp $ + * $Id: menu.c 2.76 2013/02/02 14:00:39 kls Exp $ */ #include "menu.h" @@ -3186,6 +3186,8 @@ cMenuSetupMisc::cMenuSetupMisc(void) Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout)); Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout)); Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Channel entry timeout (ms)"), &data.ChannelEntryTimeout, 0)); + Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Remote control repeat delay (ms)"), &data.RcRepeatDelay, 0)); + Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Remote control repeat delta (ms)"), &data.RcRepeatDelta, 0)); Add(new cMenuEditChanItem(tr("Setup.Miscellaneous$Initial channel"), &data.InitialChannel, tr("Setup.Miscellaneous$as before"))); Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Initial volume"), &data.InitialVolume, -1, 255, tr("Setup.Miscellaneous$as before"))); Add(new cMenuEditBoolItem(tr("Setup.Miscellaneous$Channels wrap"), &data.ChannelsWrap)); diff --git a/po/ar.po b/po/ar.po index 946cc663..a44917d2 100644 --- a/po/ar.po +++ b/po/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-10-16 11:16-0400\n" "Last-Translator: Osama Alrawab \n" "Language-Team: Arabic \n" @@ -1154,6 +1154,12 @@ msgstr "" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "مدة انتهاء مدخلات القناة بالدقيقة" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "القناة الاساسية" diff --git a/po/ca_ES.po b/po/ca_ES.po index 437542fd..f1a24fcd 100644 --- a/po/ca_ES.po +++ b/po/ca_ES.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n" "Last-Translator: Luca Olivetti \n" "Language-Team: Catalan \n" @@ -1131,6 +1131,12 @@ msgstr "Temps d'espera Zap (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Temps d'introducci canal (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Canal inicial" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index b0d5b7d1..a4f2515d 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2010-05-06 11:00+0200\n" "Last-Translator: Radek Šťastný \n" "Language-Team: Czech \n" @@ -1130,6 +1130,12 @@ msgstr "Časový limit Zap (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Prodleva při volbě kanálu (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanál po spuštění" diff --git a/po/da_DK.po b/po/da_DK.po index 6ca6c86a..511e03f6 100644 --- a/po/da_DK.po +++ b/po/da_DK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Mogens Elneff \n" "Language-Team: Danish \n" @@ -1128,6 +1128,12 @@ msgstr "Zap timeout (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Kanal adgang timeout (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanal ved opstart" diff --git a/po/de_DE.po b/po/de_DE.po index 5476d9c7..77af04a7 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2010-01-16 16:46+0100\n" "Last-Translator: Klaus Schmidinger \n" "Language-Team: German \n" @@ -1128,6 +1128,12 @@ msgstr "Mindestzeit f msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Zeitlimit fr Kanaleingabe (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "Fernbedienung Wiederholverzgerung (ms)" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "Fernbedienung Wiederholintervall (ms)" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanal beim Einschalten" diff --git a/po/el_GR.po b/po/el_GR.po index bf8933ec..d0c1c7df 100644 --- a/po/el_GR.po +++ b/po/el_GR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Dimitrios Dimitrakos \n" "Language-Team: Greek \n" @@ -1128,6 +1128,12 @@ msgstr " msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "" diff --git a/po/es_ES.po b/po/es_ES.po index 6a6f4e42..9e120e74 100644 --- a/po/es_ES.po +++ b/po/es_ES.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n" "Last-Translator: Luca Olivetti \n" "Language-Team: Spanish \n" @@ -1129,6 +1129,12 @@ msgstr "Considerar canal como visto (sg)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Tiempo introduccin canal (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Canal inicial" diff --git a/po/et_EE.po b/po/et_EE.po index 1d342366..7382a013 100644 --- a/po/et_EE.po +++ b/po/et_EE.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Arthur Konovalov \n" "Language-Team: Estonian \n" @@ -1128,6 +1128,12 @@ msgstr "Kanalivahetuse ooteaeg (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Kanali sisestamise ajalimiit (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanal käivitamisel" diff --git a/po/fi_FI.po b/po/fi_FI.po index 9a9fa747..164a376e 100644 --- a/po/fi_FI.po +++ b/po/fi_FI.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2007-08-15 15:52+0200\n" "Last-Translator: Rolf Ahrenberg \n" "Language-Team: Finnish \n" @@ -1131,6 +1131,12 @@ msgstr "Kanavavalinnan odotusaika (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Kanavasyötteen odotusaika (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanava käynnistettäessä" diff --git a/po/fr_FR.po b/po/fr_FR.po index 55983d40..186b6e13 100644 --- a/po/fr_FR.po +++ b/po/fr_FR.po @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-02-27 18:14+0100\n" "Last-Translator: Jean-Claude Repetto \n" "Language-Team: French \n" @@ -1134,6 +1134,12 @@ msgstr "Prise en compte cha msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Entre chane timeout (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Chane initiale" diff --git a/po/hr_HR.po b/po/hr_HR.po index b7b2d4f4..af63cc12 100644 --- a/po/hr_HR.po +++ b/po/hr_HR.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-03-17 19:00+0100\n" "Last-Translator: Adrian Caval \n" "Language-Team: Croatian \n" @@ -1130,6 +1130,12 @@ msgstr "Zap istje msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Upis kanala istjee (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Poetni kanal" diff --git a/po/hu_HU.po b/po/hu_HU.po index 919d3b2d..a2cc9d0c 100644 --- a/po/hu_HU.po +++ b/po/hu_HU.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2012-01-02 11:54+0200\n" "Last-Translator: Istvn Fley \n" "Language-Team: Hungarian \n" @@ -1132,6 +1132,12 @@ msgstr "Ad msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Csatornavlts timeout (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Csatorna indulskor" diff --git a/po/it_IT.po b/po/it_IT.po index 8df7150f..1425dc9c 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2012-12-22 19:00+0100\n" "Last-Translator: Diego Pierotto \n" "Language-Team: Italian \n" @@ -1135,6 +1135,12 @@ msgstr "Scadenza Zapping (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Scadenza voce canale (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Canale iniziale" diff --git a/po/lt_LT.po b/po/lt_LT.po index 931900ff..f1986eba 100644 --- a/po/lt_LT.po +++ b/po/lt_LT.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.16\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2010-10-30 11:55+0200\n" "Last-Translator: Valdemaras Pipiras \n" "Language-Team: Lithuanian \n" @@ -1128,6 +1128,12 @@ msgstr "Kanalo perjungimo užlaikymas (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Užlaikymas (ms) kanalo įvedimui" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanalas įjungimo metu" diff --git a/po/mk_MK.po b/po/mk_MK.po index b7570b66..b6c2d54f 100644 --- a/po/mk_MK.po +++ b/po/mk_MK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR-1.7.14\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2012-11-19 15:18+0100\n" "Last-Translator: Dimitar Petrovski \n" "Language-Team: Macedonian \n" @@ -1129,6 +1129,12 @@ msgstr "Зап тајмаут (сек)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Тајмаут за внес на канал (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Почетен канал" diff --git a/po/nl_NL.po b/po/nl_NL.po index a7dbadf1..ab16a2af 100644 --- a/po/nl_NL.po +++ b/po/nl_NL.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-02-26 17:20+0100\n" "Last-Translator: Johan Schuring \n" "Language-Team: Dutch \n" @@ -1132,6 +1132,12 @@ msgstr "Zap timeout (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Tijdsduur kanaalinvoer (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Opstartkanaal" diff --git a/po/nn_NO.po b/po/nn_NO.po index aeeb0bb4..664018bb 100644 --- a/po/nn_NO.po +++ b/po/nn_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n" "Last-Translator: Truls Slevigen \n" "Language-Team: Norwegian Nynorsk \n" @@ -1129,6 +1129,12 @@ msgstr "" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "" diff --git a/po/pl_PL.po b/po/pl_PL.po index c4e36d78..1580b0bb 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-03-09 12:59+0100\n" "Last-Translator: Michael Rakowski \n" "Language-Team: Polish \n" @@ -1129,6 +1129,12 @@ msgstr "Czas oczekiwania na zap (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Min czas wejcia do kanau" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Pocztkowy kana" diff --git a/po/pt_PT.po b/po/pt_PT.po index 44f10359..9dec2876 100644 --- a/po/pt_PT.po +++ b/po/pt_PT.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.15\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2010-03-28 22:49+0100\n" "Last-Translator: Cris Silva \n" "Language-Team: Portuguese \n" @@ -1129,6 +1129,12 @@ msgstr "Tempo de espera entre mudan msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Tempo de espera ao mudar de canal (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Canal inicial" diff --git a/po/ro_RO.po b/po/ro_RO.po index ffdb44c8..4087af80 100644 --- a/po/ro_RO.po +++ b/po/ro_RO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.12\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2012-11-05 01:28+0100\n" "Last-Translator: Lucian Muresan \n" "Language-Team: Romanian \n" @@ -1131,6 +1131,12 @@ msgstr "Interval zapping (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Timeout la introducerea canalului (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Canalul de pornire" diff --git a/po/ru_RU.po b/po/ru_RU.po index 42bdcc92..9bcf571f 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-12-15 14:37+0100\n" "Last-Translator: Oleg Roitburd \n" "Language-Team: Russian \n" @@ -1129,6 +1129,12 @@ msgstr " msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr " (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr " " diff --git a/po/sk_SK.po b/po/sk_SK.po index 53bf2759..6aea45c2 100644 --- a/po/sk_SK.po +++ b/po/sk_SK.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.16\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2013-01-29 22:39+0100\n" "Last-Translator: Milan Hrala \n" "Language-Team: Slovak \n" @@ -1128,6 +1128,12 @@ msgstr "pam msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "limit pri vobe kanla (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanl po spusten" diff --git a/po/sl_SI.po b/po/sl_SI.po index d3ef84c6..6c6abb55 100644 --- a/po/sl_SI.po +++ b/po/sl_SI.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-02-28 19:44+0100\n" "Last-Translator: Matjaz Thaler \n" "Language-Team: Slovenian \n" @@ -1129,6 +1129,12 @@ msgstr " msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Timeout za vnos kanala (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Privzeti kanal" diff --git a/po/sr_SR.po b/po/sr_SR.po index 0a73f121..b7320444 100644 --- a/po/sr_SR.po +++ b/po/sr_SR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2011-01-09 15:57+0100\n" "Last-Translator: Milan Cvijanovi \n" "Language-Team: Serbian \n" @@ -1151,6 +1151,12 @@ msgstr "Zap isti msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Upis kanala istie (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Poetni kanal" diff --git a/po/sv_SE.po b/po/sv_SE.po index 3c496468..b5df87de 100644 --- a/po/sv_SE.po +++ b/po/sv_SE.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-03-12 18:25+0100\n" "Last-Translator: Magnus Andersson \n" "Language-Team: Swedish \n" @@ -1131,6 +1131,12 @@ msgstr "Zap timeout(s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Timeout kanal (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Kanal vid uppstart" diff --git a/po/tr_TR.po b/po/tr_TR.po index 8b83d5fb..30e3fbd2 100644 --- a/po/tr_TR.po +++ b/po/tr_TR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2008-02-28 00:33+0100\n" "Last-Translator: Oktay Yolgeen \n" "Language-Team: Turkish \n" @@ -1128,6 +1128,12 @@ msgstr "Zaping zaman a msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Kanal giri zaman am (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Aldaki kanal" diff --git a/po/uk_UA.po b/po/uk_UA.po index 21ef7901..4144c7aa 100644 --- a/po/uk_UA.po +++ b/po/uk_UA.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.7.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2010-04-25 16:35+0200\n" "Last-Translator: Yarema aka Knedlyk \n" "Language-Team: Ukrainian \n" @@ -1128,6 +1128,12 @@ msgstr "Затримка переключання каналу (сек)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "Затримка часу для впровадження каналу (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "Канал при включенні" diff --git a/po/zh_CN.po b/po/zh_CN.po index a03396e1..3f4a6c6d 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: VDR 1.6.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-12-07 14:59+0100\n" +"POT-Creation-Date: 2013-02-03 16:46+0100\n" "PO-Revision-Date: 2009-09-23 23:50+0800\n" "Last-Translator: Nan Feng \n" "Language-Team: Chinese (simplified) \n" @@ -1131,6 +1131,12 @@ msgstr "Zap 超时 (s)" msgid "Setup.Miscellaneous$Channel entry timeout (ms)" msgstr "频道进入超时 (ms)" +msgid "Setup.Miscellaneous$Remote control repeat delay (ms)" +msgstr "" + +msgid "Setup.Miscellaneous$Remote control repeat delta (ms)" +msgstr "" + msgid "Setup.Miscellaneous$Initial channel" msgstr "初始频道" diff --git a/remote.c b/remote.c index 023fd665..f3d90c96 100644 --- a/remote.c +++ b/remote.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remote.c 2.7 2013/02/02 12:44:33 kls Exp $ + * $Id: remote.c 2.8 2013/02/03 15:44:55 kls Exp $ */ #include "remote.h" @@ -364,6 +364,8 @@ uint64_t cKbdRemote::ReadKeySequence(void) void cKbdRemote::Action(void) { + cTimeMs FirstTime; + cTimeMs LastTime; uint64_t FirstCommand = 0; uint64_t LastCommand = 0; bool Delayed = false; @@ -377,8 +379,13 @@ void cKbdRemote::Action(void) // timeout, this is a long key press that caused the repeat function to kick in: Delayed = false; FirstCommand = 0; + if (FirstTime.Elapsed() < (uint)Setup.RcRepeatDelay) + continue; // repeat function kicks in after a short delay + if (LastTime.Elapsed() < (uint)Setup.RcRepeatDelta) + continue; // skip same keys coming in too fast PutKey(Command, true); Repeat = true; + LastTime.Set(); } else if (Command == FirstCommand) { // If the same command comes in twice with an intermediate timeout, we @@ -391,6 +398,7 @@ void cKbdRemote::Action(void) PutKey(Command); Delayed = false; FirstCommand = Command; + FirstTime.Set(); } } else if (Repeat) { @@ -404,6 +412,7 @@ void cKbdRemote::Action(void) PutKey(FirstCommand); Delayed = false; FirstCommand = 0; + FirstTime.Set(); } LastCommand = Command; }