USB Controllers

COGS uses the rather excellent SDL2 library to handle USB controllers. This uses a community sourced config file with 100s of USB controllers. This is the gamecontrollerdb.txt file in the root dir of your game. It will be a reasonably up-to-date copy of the file but it's perfectly fine to overwrite the one in the game with an updated one.


Your controller should work. If it doesn't, there are utilities you can use to create the entry for your controller and OS. If you do need to add your controller, please make the effort to update the database so other people with your controller will benefit. Either push your new file back via Github or mail me a compressed copy of your updated file ( and I will add it. Note: I have no involvement with SDL or the SDL controller database.

Keyboard Controllers

There are 2 virtual keyboard controllers you can use as well as the USB controllers:

ButtonKeyboard 1Keyboard 2
DPad UpWNumpad 8 (Up)
DPad DownSNumpad 2 (Down)
DPad LeftANumpad 4 (Left)
DPad RightDNumpad 6 (Right)
A ButtonReturnNumpad Enter
B ButtonSpaceNumpad 0
Start1Numpad +
Back2Numpad -

Note: If you want to use Keyboard2, make sure Num Lock is off.

Keyboard Layout

Other Key Controls

  • "+" and "-" can be used to change the volume.
  • To exit any COGS game, press Esc twice in quick succession.