I init my pads with this:
Code: Select all
int port = 0; // 0 -> Connector 1, 1 -> Connector 2
int slot = 0; // Always zero if not using multitap
if((ret = padPortOpen(port, slot, padBuf)) == 0) {
scr_printf("padOpenPort failed: %d\n", ret);
SleepThread();
}
else{scr_printf("ok-");}
if(!initializePad(port, slot)) {
scr_printf("pad initalization failed!\n");
SleepThread();
}
else{scr_printf("ok-");}
port = 1; // 0 -> Connector 1, 1 -> Connector 2
slot = 0; // Always zero if not using multitap
if((ret = padPortOpen(port, slot, padBuf)) == 0) {
scr_printf("padOpenPort failed: %d\n", ret);
SleepThread();
}
else{scr_printf("ok-");}
if(!initializePad(port, slot)) {
scr_printf("pad initalization failed!\n");
SleepThread();
}
else{scr_printf("ok-");}
but how can I receive data from the second one?
i tried
Code: Select all
struct padButtonStatus buttons[2];
int port =1;
int slot=0;
int ret
ret = padRead(port, slot, &buttons[port]); // port, slot, buttons
if (ret != 0) {
paddata[port] = 0xffff ^ buttons[port].btns;
new_pad[port] = paddata[port] & ~old_pad[port];
old_pad[port] = paddata[port];
i=new_pad[port];
}
paddata[port] = 0xffff ^ buttons[port].btns;
i=paddata[port];
Code: Select all
if (i&PAD_TRIANGLE) { ... }