The Fall

The Fall

查看统计:
Cale 2014 年 6 月 30 日 下午 6:45
Linux XBox 360 controller axis mapping incorrect
Whether I'm using the kernel xpad driver or the userspace xboxdrv, the game seems to interpret the axes on my XBox 360 pad incorrectly. With xpad, which is what I normally use, and which usually works fine in most other games (though I've run into a few with similar issues, notably Ascendant), the left trigger seems to be acting as what ought to be the right stick Y axis. This makes looking around difficult, especially as the trigger can't produce negative values, so I can only look roughly downward.

It would be nice to have controller button and axis mapping in the configuration, just to make sure things can't go wrong like this.
最后由 Cale 编辑于; 2014 年 6 月 30 日 下午 6:47
< >
正在显示第 1 - 6 条,共 6 条留言
HER0 01 2014 年 7 月 16 日 下午 7:52 
Could you possibly give more information on your configuration?
Cheeseness 2014 年 7 月 16 日 下午 7:58 
Also, are you using the 1_4_beta branch?
Cale 2014 年 7 月 17 日 上午 2:09 
I had been using the non-beta version of the game, but I just tried the beta and it appears identical.

I'm running Linux Mint 15 with kernel 3.8.0-19-generic on x86_64.

cale@ender:/sys/module/xpad/parameters$ modinfo xpad filename: /lib/modules/3.8.0-19-generic/kernel/drivers/input/joystick/xpad.ko license: GPL description: X-Box pad driver author: Marko Friedemann <mfr@bmx-chemnitz.de> srcversion: 9DBC5C5DF78C3A2CF148861 alias: usb:v24C6p*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v24C6p*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v1689p*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v1689p*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v0F0Dp*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v0F0Dp*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v1BADp*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v1BADp*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v146Bp*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v146Bp*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v1430p*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v1430p*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v12ABp*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v12ABp*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v0E6Fp*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v0E6Fp*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v0738p4540d*dc*dsc*dp*ic*isc*ip*in* alias: usb:v0738p*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v0738p*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v046Dp*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v046Dp*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v045Ep*d*dc*dsc*dp*icFFisc5Dip81in* alias: usb:v045Ep*d*dc*dsc*dp*icFFisc5Dip01in* alias: usb:v*p*d*dc*dsc*dp*ic58isc42ip00in* depends: ff-memless intree: Y vermagic: 3.8.0-19-generic SMP mod_unload modversions parm: dpad_to_buttons:Map D-PAD to buttons rather than axes for unknown pads (bool) parm: triggers_to_buttons:Map triggers to buttons rather than axes for unknown pads (bool) parm: sticks_to_null:Do not map sticks at all for unknown pads (bool) cale@ender:/sys/module/xpad/parameters$ ls dpad_to_buttons sticks_to_null triggers_to_buttons cale@ender:/sys/module/xpad/parameters$ cat * N N N

jstest-gtk indicates that I have a Microsoft X-Box 360 pad connected as /dev/input/js0. By playing with the controls and looking at the mapping reported, the mapping is as follows:

  • 0: ABS_X - Left stick X axis
  • 1: ABS_Y - Left stick Y axis
  • 2: ABS_RX - Right stick X axis
  • 3: ABS_RY - Right stick Y axis
  • 4: ABS_Z - Left trigger
  • 5: ABS_RZ - Right trigger
  • 6: ABS_HAT0X - Pad X axis
  • 7: ABS_HAT0Y - Pad Y axis

I've found that I can (at least temporarily) work around the problem by changing the order to:

  • 0: ABS_X - Left stick X axis
  • 1: ABS_Y - Left stick Y axis
  • 2: ABS_Z - Left trigger
  • 3: ABS_RX - Right stick X axis
  • 4: ABS_RY - Right stick Y axis
  • 5: ABS_RZ - Right trigger
  • 6: ABS_HAT0X - Pad X axis
  • 7: ABS_HAT0Y - Pad Y axis

At which point the game works properly. Perhaps I'll try just leaving it configured this way for now, and see if I run into issues elsewhere.

Let me know if there are any other system-related details I can give.
Cheeseness 2014 年 7 月 17 日 上午 3:45 
Thanks for the info! Hopefully we'll be able to get a clearer picture of what's going on and either solve it in the game or provide a simple workaround for users.

Out of interest, what does jstest say that the device is called?

引用自 Cale
I had been using the non-beta version of the game, but I just tried the beta and it appears identical.

Be aware that config and saves are not backwards compatible. If you do want to head back to the main branch, you should probably move/remove ~/.config/unity3d/Over\ The\ Moon/The\ Fall/prefs to get a fresh configuration file.
最后由 Cheeseness 编辑于; 2014 年 7 月 17 日 上午 3:46
Cale 2014 年 7 月 17 日 下午 3:16 
cale@ender:~$ jstest /dev/input/js0 Driver version is 2.1.0. Joystick (Microsoft X-Box 360 pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y) and 11 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR, ?, ?, ?).

Thanks for the heads up about the configuration and saves.
Cheeseness 2014 年 7 月 17 日 下午 4:45 
Cheers.

Out of interest, do you happen to own any other games that use InControl (like Hand of Fate for example)?
< >
正在显示第 1 - 6 条,共 6 条留言
每页显示数: 1530 50

发帖日期: 2014 年 6 月 30 日 下午 6:45
回复数: 6