added joystick support (connect/disconnect is still untested)