Crazy Taxi

Crazy Taxi

Not enough ratings
Crazy Taxi Controller FIX
By jedgell233
Is Crazy Taxi's controls acting well, crazy? Menu scrolling on its own? Then this is THE FIX!
   
Award
Favorite
Favorited
Unfavorite
Introduction
If you start Crazy Taxi with your xinput controller (Xbox360 controller) and find the menu has taken on a mind of its own, it can be a buzzkill. Managing to start the game and finding your favourite cabbie turns perrmanently in one direction though is plain frustrating! I've searched for a fix and nothing I tried worked. Within the stages of me giving up, I figured out the fix. Just follow along below!
The Fix!
The problem is that Windows actually shows more than one controller. In my case Windows 10 shows I have 2 gamepads and 1 Xbox360 for Windows controller installed. I use the Asus Gamepad (TV500BG) which is a Bluetooth xinput controller that will detect as a compatible wireless 360 controller.

Depending on your windows version you may have to take slightly different steps, but you want to get to "Devices and Printers". Windows 7 this is under control panel. For 8 and 10 you will go to settings, devices, then on the right, click Devices and printers.

Now you will see some devices listed including a gamepad and a 360 controller. Right click either one and choose "Game controller settings".



Now here lies the problem, if gamepads are on top of the list and your Xbox 360 for Windows controller is on the very bottom, your controller is not being recognized as Player 1. Think of the list as Top is player 1 and each device listed below is player 2, Player 3, etc.

To fix this we need to go back to Devices and Printers and remove any gamepads and 360 controller. Now you need to get Windows to recognize the controller again. In my case with my Asus controller that meant pairing it with Windows again. Go to control panel for 7 and then select Bluetooth and choose add device and pair as usual. For Windows 8/10 go to settings, devices, Bluetooth then click "Add Bluetooth or other device" and pair as usual.

Actual 360 controllers will be a tad different but over all the same as we are just resetting the controllers. If wired, simply unplug and plug back in and let Windows detect the controller. For wireless you will instead unplug the receiver and plug back in.

Windows now should give priorty to your controller. You can check this by going back to the list in Game Controller settings and making sure your controller is on top of the list. Now that Windows sees it as Player 1 you will have no problem with Crazy Taxi or any other game that does not choose your 360 controller as your preferred device.


Your 360 Controller should be listed as pictured when fixed.

There is a possible issue though were restarting Windows may reset the way your controller is detected. This is due most likely to other usb "HID" devices on your system (such as a keyboard or mouse). If windows is detecting another device as a gamepad and giving it priority then continue for a possible solution to this issue. If you do not have further issues past this point, then simply enjoy!

After following steps above, go into Device Manager which is under control panel in 7. Windows 8 right click the lower left space of the desktop and choose Device Manager. Windows 10 much like 8 except right click the start button and choose Device Manager.

Now in the list look under "Human Interface Device". You will find "USB Input Device". You may find two as in my case but right clicking both showed me that only one had the option to "Disable device". You want to disable the one that has the option. In my case this disabled my wireless mouse. Simply re-enable the device.

Later after restarting my computer I realized that Windows automatically and correctly puts Xbox 360 controller for Windows in the correct priority so that its Player 1 in every games that supports an xinput controller.
The Alternate Fix!
If the first fix didn't help then this second one definitely will! It's a little more hands on but just follow along and it'll be fairly easy.

FIrst we need to get to the local folder. The easiest way is right clicking Crazy Taxi in your STEAM Library and selecting properties. Now select the Local Files tab and click on the Browse Local Files.. button.

Alternatively you can also use windows file explorer by following these paths:

64 Bit Win - C:\Program Files (x86)\Steam\steamapps\common\Crazy Taxi

32 Bit Win - C:\Program Files\Steam\steamapps\common\Crazy Taxi

Inside this folder look for the file "input_config" (an XML file) and right click and choose edit. (Note: You may want to make a copy of the file first to easily revert back if you make a mistake or you can use steam to verify the integrity of the games files and will revert it back as well.)

Notepad will open the file and will look like this (Note: the order may be different than shown):

Example Below:
<?xml version="1.0" ?> <pad_config guid="00000000-0000-0000-0000-000000000000"> <player_0> <BTN_START type="5" index="9" dir="0" /> <BTN_UP type="1" index="1" dir="-1" /> <BTN_DOWN type="1" index="1" dir="1" /> <BTN_LEFT type="1" index="0" dir="-1" /> <BTN_RIGHT type="1" index="0" dir="1" /> <BTN_A type="5" index="2" dir="0" /> <BTN_B type="5" index="3" dir="0" /> <BTN_X type="5" index="0" dir="0" /> <BTN_Y type="5" index="1" dir="0" /> <BTN_LS type="5" index="6" dir="0" /> <BTN_RS type="5" index="4" dir="0" /> </player_0> </pad_config> <pad_config guid="111111111-1111-1111-1111-111111111111"> <player_0> <BTN_START type="5" index="9" dir="0" /> <BTN_UP type="1" index="1" dir="-1" /> <BTN_DOWN type="1" index="1" dir="1" /> <BTN_LEFT type="1" index="0" dir="-1" /> <BTN_RIGHT type="1" index="0" dir="1" /> <BTN_A type="5" index="2" dir="0" /> <BTN_B type="5" index="3" dir="0" /> <BTN_X type="5" index="0" dir="0" /> <BTN_Y type="5" index="1" dir="0" /> <BTN_LS type="5" index="6" dir="0" /> <BTN_RS type="5" index="4" dir="0" /> </player_0> </pad_config> <pad_config guid="45000b05-0000-0000-0000-504944564944"> <player_0> <BTN_START type="5" index="9" dir="0" /> <BTN_UP type="1" index="1" dir="-1" /> <BTN_DOWN type="1" index="1" dir="1" /> <BTN_LEFT type="1" index="0" dir="-1" /> <BTN_RIGHT type="1" index="0" dir="1" /> <BTN_A type="5" index="2" dir="0" /> <BTN_B type="5" index="3" dir="0" /> <BTN_X type="5" index="0" dir="0" /> <BTN_Y type="5" index="1" dir="0" /> <BTN_LS type="5" index="6" dir="0" /> <BTN_RS type="5" index="4" dir="0" /> </player_0> </pad_config>
We want to delete the sections that have pad_config guid's that contain all 0's and all 1's. For better visual clarity I have striked out the areas to delete below (Note: the order may be different than shown):

Example Below:
<?xml version="1.0" ?> <pad_config guid="00000000-0000-0000-0000-000000000000">
<player_0>
<BTN_START type="5" index="9" dir="0" />
<BTN_UP type="1" index="1" dir="-1" />
<BTN_DOWN type="1" index="1" dir="1" />
<BTN_LEFT type="1" index="0" dir="-1" />
<BTN_RIGHT type="1" index="0" dir="1" />
<BTN_A type="5" index="2" dir="0" />
<BTN_B type="5" index="3" dir="0" />
<BTN_X type="5" index="0" dir="0" />
<BTN_Y type="5" index="1" dir="0" />
<BTN_LS type="5" index="6" dir="0" />
<BTN_RS type="5" index="4" dir="0" />
</player_0>
</pad_config>
<pad_config guid="111111111-1111-1111-1111-111111111111">
<player_0>
<BTN_START type="5" index="9" dir="0" />
<BTN_UP type="1" index="1" dir="-1" />
<BTN_DOWN type="1" index="1" dir="1" />
<BTN_LEFT type="1" index="0" dir="-1" />
<BTN_RIGHT type="1" index="0" dir="1" />
<BTN_A type="5" index="2" dir="0" />
<BTN_B type="5" index="3" dir="0" />
<BTN_X type="5" index="0" dir="0" />
<BTN_Y type="5" index="1" dir="0" />
<BTN_LS type="5" index="6" dir="0" />
<BTN_RS type="5" index="4" dir="0" />
</player_0>
</pad_config>
<pad_config guid="45000b05-0000-0000-0000-504944564944"> <player_0> <BTN_START type="5" index="9" dir="0" /> <BTN_UP type="1" index="1" dir="-1" /> <BTN_DOWN type="1" index="1" dir="1" /> <BTN_LEFT type="1" index="0" dir="-1" /> <BTN_RIGHT type="1" index="0" dir="1" /> <BTN_A type="5" index="2" dir="0" /> <BTN_B type="5" index="3" dir="0" /> <BTN_X type="5" index="0" dir="0" /> <BTN_Y type="5" index="1" dir="0" /> <BTN_LS type="5" index="6" dir="0" /> <BTN_RS type="5" index="4" dir="0" /> </player_0> </pad_config>
Now you should only see this one section referencing your actual controller.

Example Below:
<?xml version="1.0" ?> <pad_config guid="45000b05-0000-0000-0000-504944564944"> <player_0> <BTN_START type="5" index="9" dir="0" /> <BTN_UP type="1" index="1" dir="-1" /> <BTN_DOWN type="1" index="1" dir="1" /> <BTN_LEFT type="1" index="0" dir="-1" /> <BTN_RIGHT type="1" index="0" dir="1" /> <BTN_A type="5" index="2" dir="0" /> <BTN_B type="5" index="3" dir="0" /> <BTN_X type="5" index="0" dir="0" /> <BTN_Y type="5" index="1" dir="0" /> <BTN_LS type="5" index="6" dir="0" /> <BTN_RS type="5" index="4" dir="0" /> </player_0> </pad_config>
NOTE: Your controller's guid may differ from the one shown.

The final edit is to change the line player_0 to player_1.

It should look like this now:
<?xml version="1.0" ?> <pad_config guid="45000b05-0000-0000-0000-504944564944"> <player_1> <BTN_START type="5" index="9" dir="0" /> <BTN_UP type="1" index="1" dir="-1" /> <BTN_DOWN type="1" index="1" dir="1" /> <BTN_LEFT type="1" index="0" dir="-1" /> <BTN_RIGHT type="1" index="0" dir="1" /> <BTN_A type="5" index="2" dir="0" /> <BTN_B type="5" index="3" dir="0" /> <BTN_X type="5" index="0" dir="0" /> <BTN_Y type="5" index="1" dir="0" /> <BTN_LS type="5" index="6" dir="0" /> <BTN_RS type="5" index="4" dir="0" /> </player_1> </pad_config>
Lastly SAVE and ENJOY Crrraazy TAXI!!!!
Final Notes
Update: Tidied up the guide quite a bit since I first wrote it and reorganized a couple things. Should be easier to follow now!
------

As far as my knowledge goes, this fix works well with other mods such as the analog controller fix. Also achievements are not affected.

This fix is also the same for many titles under Sega's "Dreamcast Collection" as a few I've noticed use the same type of control scheme (Sonic Adventure DX, Sonic Adventure 2 (Battle), Nights into Dreams, etc).

If this fix helped you as it has me then please comment below so other players have further affirmation.

SPECIAL THANKS to:

"Cyroburner" for his wonderful analog controller fix! You can find it here!

"Click Beatty" for pointing out the block order being different on his config. Notes were added for clarity.
17 Comments
jedgell233  [author] Jan 13, 2022 @ 9:04pm 
GrunklrBran, then check over everything again. It does work.
Leahdoesstuff Nov 11, 2021 @ 5:12pm 
it doesn't work, the menu still scrolls up on it's own
Wolf Theorem Sep 30, 2021 @ 8:57am 
thank you jedgell233
jedgell233  [author] Sep 29, 2021 @ 1:24pm 
@Wolf Therem, You need the analog controller fix which you cna find on steam. https://steamcommunity.com/sharedfiles/filedetails/?id=828169847&tscn=1632875444
Wolf Theorem Sep 28, 2021 @ 5:30pm 
the only xbox 360 controller problem i have, is when i turn, its super sensitive. i dont remember the game being that insane to control. as soon as i touch left or right on the stick, it turns super super sharp
jedgell233  [author] Apr 26, 2021 @ 1:43pm 
BadMatt, I seen your comment and decided to do a quick search and see what I could find for a fix as I do not have any steering wheel/pedals setup to try myself.

This fellow seems to have got his G29 to work and mentions it might work on G27 as well, so worth a shot. Here is the link https://blog.thiagomarqu.es/post/153545201171
BadMatt May 4, 2020 @ 7:34pm 
Has anyone got this to work with a G27 Steering wheel and pedals ?
jedgell233  [author] Feb 6, 2018 @ 4:12pm 
ApeirogonGames, glad it worked.

The order in the config file has been proven to be different between other computers which I noted when brought to my attention. The guide though clearly says to delete IDs containing only 0s or 1s.

As for backing up the config file, I'll add it in a bit but steam can revert it too.

I"m also going to add another fix that works as an easier alternative that I've found out about.
ApeirogonGames Feb 6, 2018 @ 1:53am 
Thank you. This fixed the problem for me though I found it's best to save the FIRST config ID that doesn't have 0000 or 1111 in it. When I just saved the last one it didn't work. Also might be a good idea to mention as a step one to create a copy of your original config file before making changes so it's easier to revert if you make a mistake.
frigginelvis Oct 12, 2017 @ 10:54pm 
Thank you for this. This was extremely helpful.