Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
const char *getkeyfor_str(int dev, int keypr)
{
	const char *name;
	int c = 0;
#if JOYSTICK
	if (dev) {
		c = js_getbtnfor(dev-1, keypr);
		name = js_btnname(c);
	} else
#endif
		name = getkeyfor_str_keybd(keypr, &c);
	if (name)
		return name;
	if (c > 0 && c < 10)
		return input_chr9[c-1];
	return "";
}
Exemplo n.º 3
0
int js_getbtnfor(int i, int keypress)
{
	struct btns *js = btns_joyst+i;
	int b;
	keypress &= 63 | IN_GAME;
	b = *getbtnfor(js, keypress);
	if (b)
		return b;
	if ((keypress & 63) == HARDDROP || keypress == (MVUP | IN_GAME))
		return 0;
	if (keypress & IN_GAME) {
		b = js_getbtnfor(i, keypress ^ IN_GAME);
		if (!b || getbtn(b, js->ingame_btns, 5))
			return 0;
		return b;
	}
	return 0;
}
Exemplo n.º 4
0
void js_setifnull(int i, int btn, int keypress)
{
	if (!js_getbtnfor(i, keypress))
		js_setmapping(i, btn, keypress);
}