diff -u old/ir-common.c new/ir-common.c
--- old/ir-common.c	2003-09-10 11:52:38.000000000 +0200
+++ new/ir-common.c	2003-09-24 22:25:26.000000000 +0200
@@ -149,7 +149,7 @@
 
 	value = 0;
 	vbit  = 0;
-	for (mbit = 0; mbit < 24; mbit++) {
+	for (mbit = 0; mbit < 31; mbit++) {
 		if (!(mask & (1 << mbit)))
 			continue;
 		if (data & (1 << mbit))
diff -u old/saa7134-input.c new/saa7134-input.c
--- old/saa7134-input.c	2003-09-22 11:45:25.000000000 +0200
+++ new/saa7134-input.c	2003-09-24 22:58:06.000000000 +0200
@@ -31,8 +31,30 @@
 /* ---------------------------------------------------------------------- */
 
 static IR_KEYTAB_TYPE flyvideo_codes[IR_KEYTAB_SIZE] = {
-	/* FIXME */
-	[ 42 ] = KEY_COFFEE,
+	[   14 ] = KEY_CONFIG, /* Air/Cable */
+	[   17 ] = KEY_OPEN,   /* Video */
+	[   21 ] = KEY_COPY,   /* Audio */
+	[    0 ] = KEY_POWER,  /* Pover */
+	[   24 ] = KEY_EDIT,   /* AV Source */
+	[    2 ] = KEY_F21,    /* Fullscreen */
+	[   26 ] = KEY_F22,    /* Stereo */
+	[   27 ] = KEY_MUTE,   /* Mute */
+	[   15 ] = KEY_KP0,
+	[    3 ] = KEY_KP1,
+	[    4 ] = KEY_KP2,
+	[    5 ] = KEY_KP3,
+	[    7 ] = KEY_KP4,
+	[    8 ] = KEY_KP5,
+	[    9 ] = KEY_KP6,
+	[   11 ] = KEY_KP7,
+	[   12 ] = KEY_KP8,
+	[   13 ] = KEY_KP9,
+	[   20 ] = KEY_VOLUMEUP,
+	[   23 ] = KEY_VOLUMEDOWN,
+	[   18 ] = KEY_KPPLUS,   /* Channel + */
+	[   19 ] = KEY_KPMINUS,  /* Channel - */ 
+	[    6 ] = KEY_AGAIN,    /* Recal */
+	[   16 ] = KEY_KPENTER,  /* Enter */
 };
 
 static IR_KEYTAB_TYPE cinergy_codes[IR_KEYTAB_SIZE] = {
@@ -122,7 +144,8 @@
 		ir_type      = IR_TYPE_OTHER;
 		ir_codes     = flyvideo_codes;
 		mask_keycode = 0xEC00000;
-		mask_keydown = 0/* fixme */;
+		mask_keydown = 0x040000;
+		break;
 	case SAA7134_BOARD_CINERGY400:
 	case SAA7134_BOARD_CINERGY600:
 		ir_type      = IR_TYPE_OTHER;
