Ticket #106: cwiid-0.6.00-classic_fake.patch

File cwiid-0.6.00-classic_fake.patch, 1.0 kB (added by thomas, 21 months ago)

Third party classic controller patch for libcwiid-0.6.00

  • cwiid_internal.h

    diff -ruN libcwiid-orig/cwiid_internal.h libcwiid/cwiid_internal.h
    old new  
    117117#define EXT_PARTIAL 0xFF 
    118118#define EXT_NUNCHUK 0x00 
    119119#define EXT_CLASSIC 0x01 
     120#define EXT_CLASSIC_FAKE 0x2D /* some third party classic controllers seems to have this ID */ 
    120121 
    121122/* IR Enable blocks */ 
    122123#define MARCAN_IR_BLOCK_1       "\x00\x00\x00\x00\x00\x00\x90\x00\xC0" 
  • thread.c

    diff -ruN libcwiid-orig/thread.c libcwiid/thread.c
    old new  
    214214                                                status_mesg->ext_type = CWIID_EXT_NUNCHUK; 
    215215                                                break; 
    216216                                        case EXT_CLASSIC: 
     217                                        case EXT_CLASSIC_FAKE: 
    217218                                                status_mesg->ext_type = CWIID_EXT_CLASSIC; 
    218219                                                break; 
    219220                                        default: 
     221                                                printf("Unknown extension connected: 0x%X\n", buf); 
    220222                                                status_mesg->ext_type = CWIID_EXT_UNKNOWN; 
    221223                                                break; 
    222224                                        }