batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.93k stars 496 forks source link

[V38][X86][Linux] Steering Wheel problem configuration #10822

Open e-lefelle opened 7 months ago

e-lefelle commented 7 months ago

Batocera build version

V38

Your architecture

X64

Your Graphic Processor Unit (GPU)

Dedicated (e.g. GTX 1050; Radeon R9 380)

Graphical brand

Nvidia

Issue description

Hello,

I have a HORI RACING WHEEL APEX RWA. I configured the wheel. No pb. I can scroll games, select game with the steering wheel. First issue : When I choice outrun game on mame, I can drive the car with the wheel but I must reconfigure the key to accelerate or brake. Not pb but impossible to quit with my general hotkey (config without wheel). I must only use the hotkey on my steering wheel. Second issue : When I try to play with Daytona USA model3, impossible to turn with my steering wheel. It s not recognize.

Expected result

First issue : I expect to exit from outrun with my hotkey from my first player, not only with my wheel hotkey Second issue : I expect to use the steering wheel even if I must reconfigure some keys.

Reproduction steps

Logs and data

No response

Tovarichtch commented 7 months ago

The "hotkey" issue is not. The steering wheel becomes the first player controller, therefore you exit from there. This could be a feature request nonetheless to keep exiting with the controller instead of the wheel.

The other issues are not issues, simply a WIP that were not done yet. We are aware. Please see #10706 .

Can you share your es_input.cfg and 99-wheels.rules with your wheel please so we can add it to Batocera and share to all users having the same steering wheel as yours?

e-lefelle commented 7 months ago

Hello,

Thanks. Here is es_input.cfg (end of file)

<inputConfig type="joystick" deviceName="DragonRise Inc.   Generic   USB  Joystick  " deviceGUID="03000000790000000600000010010000">
    <input name="a" type="button" id="1" value="1" code="288" />
    <input name="b" type="button" id="0" value="1" code="289" />
    <input name="pageup" type="button" id="2" value="1" code="290" />
    <input name="pagedown" type="button" id="5" value="1" code="293" />
    <input name="hotkey" type="button" id="8" value="1" code="296" />
    <input name="select" type="button" id="7" value="1" code="295" />
    <input name="start" type="button" id="6" value="1" code="294" />
    <input name="x" type="button" id="4" value="1" code="292" />
    <input name="y" type="button" id="3" value="1" code="291" />
    <input name="right" type="axis" id="0" value="1" />
    <input name="left" type="axis" id="0" value="-1" />
    <input name="down" type="axis" id="1" value="1" />
    <input name="up" type="axis" id="1" value="-1" />
    <input name="l2" type="button" id="11" value="1" code="299" />
    <input name="r2" type="button" id="10" value="1" code="298" />
</inputConfig>
<inputConfig type="joystick" deviceName="Generic X-Box pad" deviceGUID="030000000d0f0000a400000001010000">
    <input name="a" type="button" id="1" value="1" code="305" />
    <input name="b" type="button" id="0" value="1" code="304" />
    <input name="down" type="axis" id="1" value="1" code="1" />
    <input name="hotkey" type="button" id="8" value="1" code="316" />
    <input name="l2" type="axis" id="2" value="1" code="2" />
    <input name="l3" type="button" id="9" value="1" code="317" />
    <input name="left" type="axis" id="0" value="-1" code="0" />
    <input name="pagedown" type="button" id="5" value="1" code="311" />
    <input name="pageup" type="button" id="4" value="1" code="310" />
    <input name="r2" type="axis" id="5" value="1" code="5" />
    <input name="r3" type="button" id="10" value="1" code="318" />
    <input name="right" type="axis" id="0" value="1" code="0" />
    <input name="select" type="button" id="7" value="1" code="315" />
    <input name="start" type="button" id="6" value="1" code="314" />
    <input name="up" type="axis" id="1" value="-1" code="1" />
    <input name="x" type="button" id="3" value="1" code="308" />
    <input name="y" type="button" id="2" value="1" code="307" />
</inputConfig>

I added "DragonRise Inc. Generic USB Joystick" myself. They are not reconnize automatically. And you have my steering wheel at the end.

But I don't know where is the 99-wheels.rules file.

Question : I have 3 slider buttons upper my steering wheel : DP, LS, RS. I found in the es_input.cfg other generic xbox pad. Currently, my button is on LS. I will try other position if it's better.

e-lefelle commented 7 months ago

I add a comment : When I plugged for the first time the steering wheel and when I started for example Daytona on model3, the steering wheel worked (it seems). Next, I plugged a dolphin bar. I had reconfigure after that my steering wheel many time. After that, impossible to turn my steering wheel with Daytona. But it works with mame outrun !!!

Tovarichtch commented 7 months ago

Please plug your steering wheel directly to the motherboard, not a hub or usb encoder. This is not correct.

Follow the guide here : https://wiki.batocera.org/emulators:wheel_games#adding_a_wheel_not_yet_supported_by_batocera

e-lefelle commented 7 months ago

My steering wheel is plugged directly on my motherboard.

Tovarichtch commented 7 months ago

Open the terminal (F1 -> applications -> XTerm) and type evtest. Show the results. Do the same with lsusb.

e-lefelle commented 7 months ago

yes, I had planned to watch. I tried with dreamcast game (18 Wheeler) and it works. but model3 ... no (only left and right) strange.

e-lefelle commented 7 months ago

evtest : all are ok. (buttons, left, right, ...) lsusb : Device recognize --> ID : 0f0d:00a4 - Tori Co., Ltd Racing Wheel Apex

Tovarichtch commented 7 months ago

I did not ask to test the device but to show the results once you typed evtest. There will be a list of events. Show me that list, don't select anything.

e-lefelle commented 7 months ago

IMG_6586

After select Event 2

IMG_6587

Tovarichtch commented 7 months ago

This is going to be more complex than I thought...

Keep the mode DP at all time.

Can you switch to PS5, PS4 and PC modes with S/N mode and type evtest after each time? I want to see if we can get something that is not an Xbox generic controller.

e-lefelle commented 7 months ago

Nothing. the same things. Generic X-box Pad. I keep DP and test each position (PS5, PS4, PC)

e-lefelle commented 7 months ago

i have found. How to configure this steering wheel :

Now, it works with Daytona ... :)

Tovarichtch commented 7 months ago

There is no optimization/configuration/setup done yet for Supermodel emulator. For now, this is entirely manually done. We aim to automate everything. I'll think about something for your wheel, this is problematic for plug-and-play out of the box experience.

e-lefelle commented 7 months ago

Last pb, it don't recognize accelerator/brake. But I search how to configure it.

e-lefelle commented 7 months ago

For accelerate/brake, I must switch to LS.

e-lefelle commented 7 months ago

I close the issue

nadenislamarre commented 7 months ago

why did you close the issue ? i'm working on it. i will need feedback.

nadenislamarre commented 7 months ago

what is the rotation angle of the wheel ? can you provide the output of evtest as text to be sure ?

nadenislamarre commented 7 months ago

i've done a commit for the next butterfly for this night. any feedback is welcome while i ccan't test.

e-lefelle commented 7 months ago

Is my picture not sufficient ? What are you commit exactly ? because after my new config, all works.

nadenislamarre commented 7 months ago

i've done with the picture, but hard to say if letters are ok. we will see

e-lefelle commented 7 months ago

Do you want my new es_input.cfg because now all works correctly ? (without you commit)

nadenislamarre commented 7 months ago

i've done a configuration and a build is in progress. you will test it tomorrow and feedback if something is not working then we will modify if needed.

e-lefelle commented 7 months ago

sorry, but I'm not used to that. how can I test your modification ?

nadenislamarre commented 7 months ago

upgrade directly from batocera, choose "butterfly" or "better" in the list. the image is here. if you want to test from an other sdcard : https://mirrors.o2switch.fr/batocera/x86_64/butterfly/last/

e-lefelle commented 7 months ago

I must find a solution to test because I installed Batocera on SSD and try a new version has a risk of regression. May be on a new disk, but at this time I haven't.