static int setkeymapping_js(int i, int keypr) { int b, b2; while (!(b = js_readbtn(i))) { if (inputdevs_fd[i+1] == -1) return STARTBTN; if (b = getkeypress_select(100, SINGLE_PL)) { if (b == ESC) { js_rmmapping(i, keypr); return MVDOWN; } return b; } sleep_msec(55); } b2 = js_readbtn(i); if (b > b2 && b2) b = b2; if (!key_is_valid(b, keypr)) return b; if (b == MVUP && keypr == MVUP && js_getbtnfor(i, MVUP) == MVUP) return MVUP; js_setmapping(i, b, keypr); return MVDOWN; }
static void rmbtn(struct btns *js, int b, int keypress) { int flags = keypress & IN_GAME; int old = transl_btn(js, b, flags); if (old && old != (keypress & 63)) { if (flags) { old |= flags; if (b != *getbtnfor(js, old)) return; } js_rmmapping(js!=btns_joyst, old); } }