It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
I am on Arch Linux using a Microsoft XBOX One Pad via USB.

The game recognizes the existence of a USB input device. When I go to "settings" > "controls" it says "Joystick" and presents a slider to adjust "Stick Sensitivity" with.

However, I cannot reach this slider using either the arrow keys on my keyboard or the buttons on my controller. In fact, the game does not respond to any controller input.

When I unplug my controller and plug it back in, the title suddenly says "Controller Input Remap" instead of "Joystick". The single "Stick Sensitivity" slider remains inaccessible.

So far I have tried...

...to set SDL_GAMECONTROLLERCONFIG using the config produced by the controllermap utility
...to set SDL_JOYSTICK_DEVICE=/dev/input/js0
...dropping a gamecontrollerdb.txt into this game's root directory
...replacing xpad with xow, xone, xpadneo

To no avail.

My controller is working with the titles "Hollow Knight" and "Dead Cells". It is not working either with the title "Adventures of Chris" which, like "The Lightbringer", is made with Unity.

/dev/input/js0 exists.

ls /dev/input/by-id yields...

usb-Microsoft_Controller_3039373133393837313132313238-event-joystick
usb-Microsoft_Controller_3039373133393837313132313238-joystick

cat on any of those files prints mojibake to stdout when using the controller.

sdl2-jstest -l recognizes the controller as does jstest-gtk.

What else might I be missing?
Post edited November 19, 2021 by binjamin0
No posts in this topic were marked as the solution yet. If you can help, add your reply
avatar
binjamin0: I am on Arch Linux using a Microsoft XBOX One Pad via USB.

The game recognizes the existence of a USB input device. When I go to "settings" > "controls" it says "Joystick" and presents a slider to adjust "Stick Sensitivity" with.

However, I cannot reach this slider using either the arrow keys on my keyboard or the buttons on my controller. In fact, the game does not respond to any controller input.

When I unplug my controller and plug it back in, the title suddenly says "Controller Input Remap" instead of "Joystick". The single "Stick Sensitivity" slider remains inaccessible.

So far I have tried...

...to set SDL_GAMECONTROLLERCONFIG using the config produced by the controllermap utility
...to set SDL_JOYSTICK_DEVICE=/dev/input/js0
...dropping a gamecontrollerdb.txt into this game's root directory
...replacing xpad with xow, xone, xpadneo

To no avail.

My controller is working with the titles "Hollow Knight" and "Dead Cells". It is not working either with the title "Adventures of Chris" which, like "The Lightbringer", is made with Unity.

/dev/input/js0 exists.

ls /dev/input/by-id yields...

usb-Microsoft_Controller_3039373133393837313132313238-event-joystick
usb-Microsoft_Controller_3039373133393837313132313238-joystick

cat on any of those files prints mojibake to stdout when using the controller.

sdl2-jstest -l recognizes the controller as does jstest-gtk.

What else might I be missing?
I had the same issue! My gamepad wasn't working. I found out that this game uses Unity together with the Rewired library for handling input controllers. Apparently it has a predefined list of controllers, and any other will not work out of the box. The author of the lib recommends that you provide some support for remapping unknown controllers, but this game doesn't do that. (Or so I thought, read on!)

I have also set SDL_GAMECONTROLLERCONFIG, and I verified with the "strace" debug util that the game was indeed opening the joystick device and reading input. But seemingly ignoring it.

I started my adventure by going into the joystick settings in the game and saving the config. Then I took a look at the config file ~/.config/unity3d/Rock Square Thunder/Lightbringer/DataSaves/gameSettings
It has a section called "joystickInupts" (sic!), which was kind of empty in my case. I read a bit in the Rewired library documentation and figured I could give it a shot to manually edit in values in the config file.

The joystickInupts section is stored in XML. It needs a subsection axisMaps to define your axis (the sticks), and a buttonMaps subsection to define your buttons. And those have items in them called ActionElementMap. Those have actionId (which corresponds to the action in the game) and elementType/elementIdentifierId that corresponds to which button or axis on your controller. I suggest looking at the similar sections for keyboard and mouse to see how it should be formatted.

I managed to get my sticks working by looking at the similar section for the mouse and trial and error for which actionId and elementIdentifierId. I used actionId 2, 3 and 4 and elementType 0 / elementIdentifierId 0, 1 and 3.

The buttons was harder to guess right.

But eventually I found a simpler way to remap the buttons! Go into the keyboard settings for remapping keys. Then try to remap a key, but instead press a button on the controller. Nothing happens first, but when you switch over to the joystick section, suddenly the mapped button appears on that screen! (Totally logical...)

What a pain, just to get my gamepad working. They should give me a discount :/
Post edited February 05, 2022 by ztion