/* detect & configure */
        switch (dev->model) {
+       case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
+               ir_type          = IR_TYPE_OTHER;
+               ir_codes         = ir_codes_hauppauge_new;
+               ir->mask_keycode = 0x007f0000;
+               break;
        }
 
        if (NULL == ir_codes) {
                goto err_out_free;
        }
 
-       /* Get the current key status, to avoid adding an
-          unexistent key code */
-       ir->last_gpio    = ir->get_key(ir);
-
        /* init input device */
        snprintf(ir->name, sizeof(ir->name), "em28xx IR (%s)",
                                                dev->name);
        ir->dev = dev;
        dev->ir = ir;
 
+       /* Get the current key status, to avoid adding an
+          unexistent key code */
+       ir->last_gpio    = ir->get_key(ir);
+
        em28xx_ir_start(ir);
 
        /* all done */