Carmageddon 2: Carpocalypse Now

Carmageddon 2: Carpocalypse Now

rc2sm Mar 7, 2015 @ 4:10pm
Carma Key Binder
Many players have problem to bind keys they want, which is especially annoying when they have keyboard which doesn't have keypad keys - like laptop.

For example if we want to bind WSAD keys, game prevent to set that combination.

The 'Q', 'W', 'E' keys by default are set to 'internal view': 'look left', 'look center', 'look right', which are left over form C1, in C2 seems to do nothing, unfortunately we can't remap them from game.
Another problematic key is 'S' key which is in use - it turn sound off and on.

I'm making (work in progress - beta - frequently updated) tool to bind keys for C1 and C2.

Carma Key Binder[] allow to set keys for all available functions (left over from C1 too). Also in C1 mode It's possible to import C2 key maps to C1 and export C1 key maps to C2.


1. Run this tool as stand alone - from it own folder - do NOT overwrite any files in your C2 DATA directory!

(There is included C1 DATA folder which contains two example files (settings C and D) which you can import to C2 or copy to C1 [keymap_2.txt and keymap_3.txt]. There is also keyboard.♥♥♥ which is default US QWERTY keyboard layout for C1.

Files for C2 are included in DATA_C2 (NOT DATA) sub dir of CKB - you can copy them over your Carmageddon II\DATA files and then select one of them in game.)

2. Select which mode - C1 or C2 - you want to run. When run for first time dialog appear, later you can switch active mode from Settings menu.

3. Set up path/s - look in Settings menu - by default program using sub-folders from location where it was run for the first time, so for example if you don't have C1 you just can leave default path for it, but set path for C2 DATA folder. You can also set C1 path to C1 demo DATA, but C2 demo is NOT fully supported, so do NOT try with C2 demo).

4. If the path is correct you can rebind the keys to whatever you like. This tool doesn't unbind keys which are currently in use, you need to look at 'Reused' column, which indicate how many times selected key is reused. By default 'F1' (and probably 'Space') is set wrong, but other keys are OK, since those keys are used for key combinations like 'Control'+'Q'.

5. Save your key map, quit CKB.

6. Launch game, select edited slot in game and check if it work.

Edit: build 53 is available, now keys in use are checked in Key menu.
Edit: build 54 is available, menu "File" descriptions are updated correctly to match available functions.
Edit: build 61 is available, Help file generator[] (CTRL+K) added.
Edit: build 63 is ready.
Last edited by rc2sm; May 21, 2015 @ 6:15pm
< >
Showing 1-14 of 14 comments
v00d00m4n Mar 11, 2015 @ 4:32am 
Does this tool support gamepad binds? I really with to play with gamepad and use LT an RT (z ais + and -) as acceleration and backpedal, and rest of buttons to do anything besides driving.
rc2sm Mar 11, 2015 @ 11:27am 
Yes, but you need to select buttons from list or Key menu. First try in game if it detect your game pad - you can enable joystick from there and bind basic functions, when other functions you can set form CKB. C1 support only 4 buttons, when C2 up to 32 (C2 demo 4). I have only 2 buttons joystick and 4 buttons pad with throttle connected to old game port (midi), but not tested...

Please try and leave feedback here :) I will try with my controllers too.


After the test:

It look like in C1 we can set: 'Accelerate', 'Brake / Reverse', 'Turn Left', 'Turn Right' to 'Joy Up', 'Joy Down', 'Joy Left', 'Joy Right' or to buttons or keys. Joy directions doesn't work when set to other functions.

In C2 when Joystick is enabled - analog or digital directions of joystick 1 are automatically 'connected' for driving, but we can still set buttons or keys for directions, except that "Reverse / Brake" work as 'Brake' only. It's useful to bind 'Accelerate' to button. Binding 'Joy Up', 'Joy Down', 'Joy Left', 'Joy Right' doesn't do anything in C2. I can't test buttons 5 to 32 with my controllers but I hope those buttons are work. Also I think only Joy 1 is detected in C2, since there are only 4 buttons to set for Joy 2 - left over from C1.

So we can only bind (in C1) or enable (in C2) joystick directions to 'driving' and buttons for those or other functions, throttle is not detected.

If we want to use other non detected controls from our controller we need to use additional software which will map controller to keys or buttons in real time and bind then with CKB or for basic functions - directly in game.
Last edited by rc2sm; Mar 11, 2015 @ 6:50pm
Missingno Mar 12, 2015 @ 2:43am 
v00d00m4n Mar 12, 2015 @ 8:27am 
Game C2 supports joystick via Winmm, so it should in theory accept axes besides xyz - ruv

its vital to have uv supported in tool, since R (rudder in some old terms) is rY axis of RS and U is rX axis of RS on xbox 360 controller and just like old games your tools consider z (trottle) and r (rudder) as default right stick axes beyond which nothing exist.

Same about pov aka dpad, i think it supported in game, but tool does not support it.

Any chance for fix?
rc2sm Mar 12, 2015 @ 9:51am 
Carmageddon 1 & 2 using KEYMAP_#.TXT files for key bindings, KEYNAMES.TXT have (all possible ?) key names. CKB using that informations. When joystick is enabled in C2 JOYSTICK.TXT file is created (as far as I remember in C1 some settings are in OPTIONS.TXT), but since I have only basic controllers I can't say much about it.

I don't exactly understand what you mean...

If you want CKB to recognize buttons - I think I can handle that.

I can try to detect everything else, but I can't set that in game... maybe it's possible to set something more in JOYSTICK.TXT ? or some 'key codes' are hard coded (I don't think so). So try to set all possible game pad controls in game to functions available there, if the result will be as you expected, please upload the mentioned files (KEYMAP_0.TXT [or / and 1,2,3 if set], JOYSTICK.TXT, OPTIONS.TXT) with descriptions what is set to which function (only if it's not clear in game), I will take a look.

Thanks for thanks! :)
Last edited by rc2sm; Mar 12, 2015 @ 12:01pm
MonK Mar 15, 2015 @ 5:28am 
Xpadder works great to so you can set your keyboard keys to a controller
rc2sm Jul 27, 2015 @ 9:33am 
Finally I have bough the PS2 clone pad[] (12 buttons with two analog sticks and direct-pad) to test more buttons :)

The included driver allow to set buttons to keys, so actually Xpadder is not necessary in this case, but for other devices without that feature Xpadder is good alternative.

I have tested it with C1 so far. Since C1 detect 4 buttons only, we need to set other buttons to keys, so if we have full keyboard and don't need to change default keys - the CKB is not necessary. We just need to set buttons to default keys in external software (driver, Xpadder or similar tool) and set analog joystick to directions in game (or in CKB).

For C2 we have possibility to set 32 buttons, so CKB can be used to set them, however using Xpadder like software allow to use keyboard and pad controls simultaneously.

- If we need to remap some keys - CKB is best solutions.
- when we want to use more than 4 buttons pad (especially for C1) we need buttons to keys tool.

Of course we can set keyboard with CKB, directions to joystick (with CKB or in game for C1; in game for C2), then map buttons of our pad to new custom keys (in buttons to keys software).
Last edited by rc2sm; Jul 27, 2015 @ 10:12am
thtanaka Dec 27, 2017 @ 5:53pm 
I get a trojan warning from my AV when I try to unzip it. Is this supposed to happen?
rc2sm Dec 27, 2017 @ 9:04pm 
CKB was updated in 2015 and no one else has reported such alert so far, so I think it's fake. I have not included any trojan there anyway...
Big Mac Dec 31, 2017 @ 5:43pm 
Same here. Trojan warning.
v00d00m4n Jan 1, 2018 @ 2:00am 
Oh boy, guys, when you will you realise that most of AVs are trash that use generic compiller and packer signatures (set of bytes) to detect "virus" and they often falsely detect as viruses set of innocent programs that used same compiller, packer or just accidentally during compilation managed to get same set of bytes as was used for signature database of trash antiviruses?
Crab Jun 6, 2018 @ 10:30am 
trojan virus
rc2sm Jun 11, 2018 @ 6:45am 
Look my answer above. Also we have Antivirus installed on server.
G-Tiger Apr 5, 2021 @ 4:44pm

There is no viruses. There is suspicion. I think that happens because of use PEiD packer UPX 2.90 [LZMA].

ps. sorry for my eng.
< >
Showing 1-14 of 14 comments
Per page: 1530 50