--- dvb-s2api-liplianin-0~2009-03-21.hg12043/linux/drivers/media/dvb/dvb-usb/dw2102.c	2009-03-21 11:23:35.000000000 +0100
+++ dvb-s2api-liplianin-0~2009-03-21.hg12043-patched/linux/drivers/media/dvb/dvb-usb/dw2102.c	2009-06-12 20:20:50.000000000 +0200
@@ -652,6 +652,31 @@
 	{ 0xf8, 0x1e, KEY_W },		/*tvmode*/
 	{ 0xf8, 0x1b, KEY_B },		/*recall*/
 
+	/* Keys the TeVii S650 provides */
+
+        { 0xf8, 0x1e, KEY_REWIND },
+        { 0xf8, 0x4d, KEY_FASTFORWARD },
+        { 0xf8, 0x44, KEY_EPG },
+        { 0xf8, 0x44, KEY_EPG },
+        { 0xf8, 0x04, KEY_RECORD },
+        { 0xf8, 0x0b, KEY_TIME },	/* timer */
+        { 0xf8, 0x0e, KEY_OPEN },
+        { 0xf8, 0x41, KEY_MODE },	/* AB */
+        { 0xf8, 0x4c, KEY_INFO },
+        { 0xf8, 0x43, KEY_AUDIO },
+        { 0xf8, 0x45, KEY_SUBTITLE },
+        { 0xf8, 0x4a, KEY_LIST },
+        { 0xf8, 0x4a, KEY_LIST },
+        { 0xf8, 0x46, KEY_F1 },
+        { 0xf8, 0x47, KEY_F2 },
+        { 0xf8, 0x5e, KEY_F3 },
+        { 0xf8, 0x5c, KEY_F4 },
+        { 0xf8, 0x52, KEY_F5 },
+        { 0xf8, 0x5a, KEY_F6 },
+        { 0xf8, 0x56, KEY_PVR },	/* mon */
+        { 0xf8, 0x58, KEY_SWITCHVIDEOMODE },
+        { 0xf8, 0x05, KEY_TV },		/* live */
+        { 0xf8, 0x1d, KEY_BACK },
 };
 
 static int dw2102_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
