@Blink: that's because a 360 controller has analog and digital, this happens only with gamepads that do not have analog as far as i've noticed.

@jcl: I'm not so sure it's related to the pad because it happens with more than one. The code I'm using is this:

Don't worry about the variables such as p1_deadzone, etc. These are just to check which joystick is being pressed. THIS IS NOT THE ISSUE, SO PLEASE DON'T ASK.

Code:
function press_axis(dir, joynum)
{
	var d;
	if (joynum == 1 && num_joysticks >= 1)
	{
		d = ((p1_deadzone/100) * 127.5);
		
		if (dir == joy_up) { if (joy_raw.y < -d) { dir = -(joy_raw.y/255); return(dir); } }
		if (dir == joy_down) { if (joy_raw.y > d) { dir = (joy_raw.y/255); return(dir); } }
		if (dir == joy_left) { if (joy_raw.x < -d) { dir = -(joy_raw.x/255); return(dir); } }
		if (dir == joy_right) { if (joy_raw.x > d) { dir = (joy_raw.x/255); return(dir); } }
		
		if (dir == joy_up) { if (joy_hat >= 0 && joy_hat <= 45 || joy_hat >= 315) { return(1); } }
		if (dir == joy_left) { if (joy_hat >= 270 && joy_hat <= 315 || joy_hat <= 270 && joy_hat >= 225) { return(1); } }
		if (dir == joy_down) { if (joy_hat >= 180 && joy_hat <= 225 || joy_hat <= 180 && joy_hat >= 135) { return(1); } }
		if (dir == joy_right) { if (joy_hat >= 90 && joy_hat <= 135 || joy_hat <= 90 && joy_hat >= 45) { return(1); } }
	}
	if (joynum == 2 && num_joysticks >= 2)
	{
		d = ((p2_deadzone/100) * 127.5);
		
		if (dir == joy_up) { if (joy2_raw.y < -d) { dir = -(joy2_raw.y/255); return(dir); } }
		if (dir == joy_down) { if (joy2_raw.y > d) { dir = (joy2_raw.y/255); return(dir); } }
		if (dir == joy_left) { if (joy2_raw.x < -d) { dir = -(joy2_raw.x/255); return(dir); } }
		if (dir == joy_right) { if (joy2_raw.x > d) { dir = (joy2_raw.x/255); return(dir); } }
		
		if (dir == joy_up) { if (joy2_hat >= 0 && joy2_hat <= 45 || joy2_hat >= 315) { return(1); } }
		if (dir == joy_left) { if (joy2_hat >= 270 && joy2_hat <= 315 || joy2_hat <= 270 && joy2_hat >= 225) { return(1); } }
		if (dir == joy_down) { if (joy2_hat >= 180 && joy2_hat <= 225 || joy2_hat <= 180 && joy2_hat >= 135) { return(1); } }
		if (dir == joy_right) { if (joy2_hat >= 90 && joy2_hat <= 135 || joy2_hat <= 90 && joy2_hat >= 45) { return(1); } }
	}
	return(0);
}



I'm not sure if it is A6 specific, this is the first I've heard of the problem. The gamepads show up fine in windows and registers perfectly in windows, so I'm not sure the controllers are at fault. I'll try testing with lite-c I suppose.


- aka Manslayer101