Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have my PS3 controller connected through USB and while that works fine, no applications seem to support its keymap. So my question is whether it's possible to make it emulate an xbox controller similar to what MotionInJoy does on Windows?

I have done some googling but to no avail. I stumbled upon QtSixA which allows me to assign keys to the controller's buttons, but I don't know what key ids the xbox uses.

share|improve this question
add comment

1 Answer

xboxdrv can do that, but only when the PS3 controller is connected via USB:

As for the ids, I listed them below, but they won't really help you much. As you can see, Xbox360 USB and Xbox360 Wireless use different ones and most games don't care either way, they just use the button one after another and don't care which button is mapped to which physical button, you have to remap them manually in each game.

As for Wine, Wine only supports DirectInput and lacks Xinput support and many modern games require Xinput. To get around that you have to use a Xinput emulation .dll (same trick you have to use on Windows with older gamepads), haven't tried it myself, but it's described here:

-

USB Xbox360 Controller
======================

start BTN_START
guide BTN_MODE
back  BTN_SELECT

a    BTN_A
b    BTN_B
x    BTN_X
y    BTN_Y

lb    BTN_TL
rb    BTN_TR

tl    BTN_THUMBL
tr    BTN_THUMBR


x1 ABS_X:-32768:32767:16:128
y1 ABS_Y:-32768:32767:16:128

x2 ABS_RX:-32768:32767:16:128
y2 ABS_RY:-32768:32767:16:128

lt ABS_Z:0:255:0:0
rt ABS_RZ:0:255:0:0

dpad_x ABS_HAT0X:-1:1:0:0
dpad_y ABS_HAT0Y:-1:1:0:0


Wireless Xbox360 Controller
======================
dpad_up    BTN_0
dpad_down  BTN_1
dpad_left  BTN_LEFT
dpad_right BTN_RIGHT

start BTN_START
guide BTN_MODE
back  BTN_SELECT

a    BTN_A
b    BTN_B
x    BTN_X
y    BTN_Y

lb    BTN_TL
rb    BTN_TR

tl    BTN_THUMBL
tr    BTN_THUMBR

x1 ABS_X:-32768:32767:0:0
y1 ABS_Y:-32768:32767:0:0

x2 ABS_RX:-32768:32767:0:0
y2 ABS_RY:-32768:32767:0:0

lt ABS_Z:0:255:0:0
rt ABS_RZ:0:255:0:0
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.