# Playstation 4 Controller
# ========================
[xboxdrv]
# Using the 'by-id' name is recomment, as it is static, while an
# /dev/input/eventX name can change depending on what other USB
# devices you use.
evdev = /dev/input/by-id/usb-Sony_Computer_Entertainment_Wireless_Controller-event-joystick
# This displays events received from the controller, if you are
# working on a configuration you want to set this to true:
evdev-debug = true
# Grabbing the device prevents other applications from accessing it,
# this is needed most of the time te prevent applications from
# receiving events twice.
evdev-grab = true
[evdev-absmap]
ABS_HAT0X = dpad_x
ABS_HAT0Y = dpad_y
ABS_X = X1
ABS_Y = Y1
ABS_Z = X2
ABS_RZ = Y2
ABS_RX = LT
ABS_RY = RT
[evdev-keymap]
BTN_TL = LT
BTN_TR = RT
BTN_A = X
BTN_X = Y
BTN_B = A
BTN_C = B
BTN_Y = LB
BTN_Z = RB
BTN_SELECT = TL
BTN_START = TR
BTN_TR2 = start
BTN_TL2 = back
BTN_MODE = guide
O acima é o que eu uso. Parece funcionar muito bem quando usado com o --mimic-xpad. Também funciona muito bem para o SteamOS e alguns jogos. Mas há um monte de jogos que não usam os novos mapeamentos, como Teleglitch ou Proteus.
Espero muito que a Valve force uma biblioteca padrão de entrada em desenvolvedores para o linux, para que todos usem as mesmas entradas libs.