Arguably the most well-known indie game of all time, Cave Story+ features a completely original storyline wrapped with personality, mystery and hours of fast-paced fun. Cave Story+ is an action-adventure game that is critically acclaimed indie game. Overflowing with unmatched charm and character, Cave Story+ takes you into a rare world where a curious race of innocent rabbit-like creatures, called Mimigas, run free. Run, jump, shoot, fly and explore your way through a massive action-adventure reminiscent of classic 8 and 16-bit games. Cave Story+ features higher resolutions, tons of new art and music, along with content not available in the original version.

Forum Thread
Problems remapping the joystick under Linux. (Games : Cave Story+ : Forum : Support : Problems remapping the joystick under Linux. ) Locked
Thread Options
Nov 7 2011 Anchor

Does anyone else have trouble re-mapping the joystick? I can run the configuration program in the game directory fine, but the joystick settings don't stick. I change the button mapping, but it doesn't seem to be saving. The resolution changes, however, DO save. Is anyone else having this problem?

Ubuntu 11.10, 64-bit.

Nov 8 2011 Anchor

I'm having problems but I figured a way to get them the way I want.
Open the configuration program and put everything on Map. Now click "Okay" and open it again. In my case they all moved to "Items". That means that when you put something in the config it actually gets mapped to the action above it.

So using that logic, I wanted:
Jump -> 4
Attack -> 3
Weapon+ -> 6
Weapon- -> 5
Items -> 2
Map -> 1

So I set them up like this:
Jump -> nothing (doesn't matter, wont save it)
Attack -> 4
Weapon+ -> 3
Weapon- -> 6
Items -> 5
Map -> 2

And it's working great. Sadly I can't map anything to Map. Hope they fix it soon.

Tell me if it's working for you too. We might be experiencing differend problems.

Nov 24 2011 Anchor

You can use a really handy app called QJoypad to map keyboard controls to a controller.

Nov 24 2011 Anchor

I've used QJoypad before Cave Story got controler support. It's verry handy for a lot of games.

Nov 27 2011 Anchor

Sorry Telemaniaka, I didn't realize you replied to my message before! Thanks for the tip, I'll give it a try.

Well, I figured out a workaround. The linux version on includes a windows DoConfig.exe that works. Just copy it into the cavestory directory and run it from there. You'll need wine installed of course. also noticed that in the docs section of the Cave Story directory, the source code for the linux version of DoConfig is included. As well as some information of how the config file is structured. I guess there is a bug in the source code, since recompiling it didn't work. I don't know enough C++ to figure it out though. Maybe someone else can.

Edited by: rioninja

Dec 14 2011 Anchor

Ok, don't thank me, but I have fixed the linux DoConfigure source code, so now it is compatible with its windows version DoConfig.exe and the created config file works fine at least for me now with joypad.

I have put fixed DoConfig.cpp contents for now here: , feel free to send this link to the game authors so they will update current version if you know how to contact them, I'm going to try do this myself probably a bit later.

Get original source code from this page - DoConfigure for Linux by Sean Baker, replace DoConfig.cpp contents with provided and follow build instructions (rather straightforward, but probably will have to install at least g++ and fltk devel packages).

Also may want to try to download bynary 64 bit buid with torrent from here (not sure if the download will work for everyone - did not try to test port forwarding for torrents on my router):

Technical background for the fix:

  • /**
  • * Action code values are a bit mixed up - on the screen they don't follow in the same
  • * way they are coded in Config.dat file.
  • *
  • * this is how hex dump of the last 4x8 bytes of the
  • * Config.dat file looks when the controller settings
  • * are saved in the following way:
  • * 1=[0]Jump(1)
  • * 2=[1]Attack(2)
  • * 3=[2]Weapon+(3)
  • * 4=[3]Weapon-(6)
  • * 5=[4]Items(4)
  • * 6=[5]Map(5)
  • * 7=[0]Jump(1)
  • * 8=[1]Attack(2)
  • * 01 00 00 00 02 00 00 00 03 00 00 00
  • * 06 00 00 00 04 00 00 00 05 00 00 00 01 00 00 00
  • * 02 00 00 00
  • */
  • Dec 15 2011 Anchor

    Now let the infidels cower before the blinding power of free as in freedom software! :-)

    Dec 15 2011 Anchor

    Awesome, thanks for taking the time, benderamp.

    Dec 15 2011 Anchor

    I want to propose a better, less intrusive fix:
    on row 59 of original source code
    where it says:
    return (int)i;
    change to:
    return (int)i+1;

    Dec 16 2011 Anchor

    I don't think that playing with indexes in this way will work. This might fix the issue when saved values are moved one row up after configurator restarting, but the assigned keys will not work right in the game - because as I have described in the comment above - "Action index" in the list and "Action code" are not the same values in all cases - "Weapon-", "Items" and "Map" while displayed after shifting+1 will have indexes "4,5,6" and their keys will be "6,4,5", so they will mix up in the game, though configurator will look just fine. This could work for "Jump", "Attack" and "Weapon+", couse their display indexes in configurator are same as their codes in the file.

    Jan 13 2012 Anchor

    I have update the install process to include links to it. If you redownload the game you will get the option to run the configure program.

    Reply to thread
    click to sign in and post

    Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.