That emu.cfg doesn’t look quite right. Here’s mine. I’m also using an xbox360 controller. Notice the evdev_mapping_1 entry.
[audio]
backend = oss
disable = 0
[config]
Debug.SerialConsoleEnabled = 0
Dreamcast.Broadcast = 4
Dreamcast.Cable = 3
Dreamcast.RTC = 1543276800
Dreamcast.Region = 3
Dynarec.Enabled = 1
Dynarec.idleskip = 1
Dynarec.unstable-opt = 0
aica.LimitFPS = 1
aica.NoBatch = 0
aica.NoSound = 0
bios.UseReios = 0
pvr.MaxThreads = 3
pvr.Subdivide = 0
pvr.SynchronousRendering = 0
pvr.rend = 0
rend.UseMipmaps = 1
rend.WideScreen = 0
ta.skip = 0
[input]
evdev_device_id_1 = 8
evdev_device_id_2 = -1
evdev_device_id_3 = -1
evdev_device_id_4 = -1
evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_XboxGamepad(userspacedriver).cfg
joystick_device_id = -1
[reios]
ElfFile =
[validate]
OpenGlChecks = 0
Now you also will need to take a look at the controller_XboxGamepad(userspacedriver).cfg file. Here’s min again for reference:
[emulator]
mapping_name = Xbox Gamepad (userspace driver)
btn_escape = 0x13a
[dreamcast]
btn_a = 0x130
btn_b = 0x131
btn_c = 0x136
btn_d = 0x137
btn_x = 0x133
btn_y = 0x134
btn_z = 0x13d
btn_start = 0x13b
axis_x = 0x00
axis_y = 0x01
axis_trigger_left = 0x0a
axis_trigger_right = 0x09
[compat]
axis_dpad1_x = 0x10
axis_dpad1_y = 0x11
axis_dpad2_x =
axis_dpad2_y =
axis_x_inverted = no
axis_y_inverted = no
axis_trigger_left_inverted =
axis_trigger_right_inverted =
axis_dpad1_y_inverted = no
axis_dpad1_x_inverted = no