- return valid key code when button is hold
- debug: print key code only when a button is pressed

Tested with device "Terratec Cinergy 200 USB" (em28xx).

Signed-off-by: Frank Schäfer <fschaefer....@googlemail.com>
---
 drivers/media/i2c/ir-kbd-i2c.c |   15 +++++----------
 1 Datei geändert, 5 Zeilen hinzugefügt(+), 10 Zeilen entfernt(-)

diff --git a/drivers/media/i2c/ir-kbd-i2c.c b/drivers/media/i2c/ir-kbd-i2c.c
index 08ae067..2984b7d 100644
--- a/drivers/media/i2c/ir-kbd-i2c.c
+++ b/drivers/media/i2c/ir-kbd-i2c.c
@@ -184,18 +184,13 @@ static int get_key_knc1(struct IR_i2c *ir, u32 *ir_key, 
u32 *ir_raw)
                return -EIO;
        }
 
-       /* it seems that 0xFE indicates that a button is still hold
-          down, while 0xff indicates that no button is hold
-          down. 0xfe sequences are sometimes interrupted by 0xFF */
-
-       dprintk(2,"key %02x\n", b);
-
-       if (b == 0xff)
+       if (b == 0xff) /* no button */
                return 0;
 
-       if (b == 0xfe)
-               /* keep old data */
-               return 1;
+       if (b == 0xfe) /* button is still hold */
+               b = ir->rc->last_scancode; /* keep old data */
+
+       dprintk(2,"key %02x\n", b);
 
        *ir_key = b;
        *ir_raw = b;
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to