def add_psp_info(metadata: 'Metadata'):
    builtin_gamepad = NormalController()
    builtin_gamepad.dpads = 1
    builtin_gamepad.analog_sticks = 1
    builtin_gamepad.face_buttons = 4  #also Start, Select, which I don't count because I just never have I guess
    builtin_gamepad.shoulder_buttons = 2
    metadata.input_info.add_option(builtin_gamepad)
def add_pokemini_info(metadata: 'Metadata'):
    builtin_gamepad = NormalController()

    builtin_gamepad.dpads = 1
    builtin_gamepad.face_buttons = 2  #A B
    builtin_gamepad.shoulder_buttons = 1  #C
    metadata.input_info.add_option(builtin_gamepad)
def add_3ds_info(metadata: 'Metadata'):
    #Although we can't know for sure if the game uses the touchscreen, it's safe to assume that it probably does
    builtin_gamepad = NormalController()
    builtin_gamepad.analog_sticks = 1
    builtin_gamepad.dpads = 1
    builtin_gamepad.face_buttons = 4
    builtin_gamepad.shoulder_buttons = 2

    controller = CombinedController([builtin_gamepad, Touchscreen()])
    metadata.input_info.add_option(controller)
def add_virtual_boy_info(metadata: 'Metadata'):
    gamepad = NormalController()
    gamepad.face_buttons = 2
    gamepad.shoulder_buttons = 2
    gamepad.dpads = 2
    metadata.input_info.add_option(gamepad)
def add_super_acan_info(metadata: 'Metadata'):
    controller = NormalController()
    controller.shoulder_buttons = 2
    controller.dpads = 1
    controller.face_buttons = 4  #Also Select + Start
    metadata.input_info.add_option(controller)
def add_cd32_info(metadata: 'Metadata'):
    builtin_gamepad = NormalController()
    builtin_gamepad.dpads = 1
    builtin_gamepad.face_buttons = 4
    builtin_gamepad.shoulder_buttons = 2
    metadata.input_info.add_option(builtin_gamepad)