You should be able to do the following:

Code:
if (SDL_Init(SDL_INIT_JOYSTICK) < 0) then
 InputManager := TSDLInputManager.Create([itJoystick , itKeyBoard, itMouse])
else
 InputManager := TSDLInputManager.Create([itKeyBoard, itMouse]);
The problem is that that TSDLInputManager will throw an error if you try to init something that doesn't exist. It's an oddity of the pascal wrappers (and one that I personally don't like). To avoid things like this, try using the SDL interface directly instead of using the wrapper objects.