From 0238234c52eee5e7ef3642801ace30c7d5bd1a19 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 15 Feb 2014 12:43:25 +0100 Subject: [PATCH] Fixed learning keyboard remote control codes --- CONTRIBUTORS | 1 + HISTORY | 3 ++- remote.c | 4 ++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 5be8f412..7ebbdb69 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2888,6 +2888,7 @@ Lars Hanisch for making the Recordings menu able to be called with a cRecordingFilter, which allows the caller to have it display only a certain subset of the recordings for adding handling UTF-8 'umlaut' characters to cKbdRemote + for fixing learning keyboard remote control codes Alex Lasnier for adding tuning support for ATSC devices diff --git a/HISTORY b/HISTORY index 18df55ca..b697a6a7 100644 --- a/HISTORY +++ b/HISTORY @@ -8170,7 +8170,7 @@ Video Disk Recorder Revision History - Fixed a superfluous call to the skin's SetRecording() function after renaming a recording (reported by Christoph Haubrich). -2014-02-08: Version 2.1.5 +2014-02-15: Version 2.1.5 - Now checking whether the primary device actually has a decoder before retuning the current channel after a change in its parameters. This fixes broken recordings on @@ -8196,3 +8196,4 @@ Video Disk Recorder Revision History Clang 3.4.1 (suggested by Tony Houghten). - Replaced the NULL pointer assignment in ~cReceiver() to force a segfault with a call to abort() (suggested by Tony Houghten). +- Fixed learning keyboard remote control codes (thanks to Lars Hanisch). diff --git a/remote.c b/remote.c index f9349243..5cb2ccb8 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 3.1 2013/12/25 12:45:43 kls Exp $ + * $Id: remote.c 3.2 2014/02/15 12:40:39 kls Exp $ */ #include "remote.h" @@ -298,7 +298,7 @@ int cKbdRemote::MapCodeToFunc(uint64_t Code) void cKbdRemote::PutKey(uint64_t Code, bool Repeat, bool Release) { - if (rawMode || !Put(Code, Repeat, Release)) { + if (rawMode || (!Put(Code, Repeat, Release) && !IsLearning())) { if (int func = MapCodeToFunc(Code)) Put(KBDKEY(func), Repeat, Release); }