Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(WIP) initial trackball/spinner database #12807

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

Tovarichtch
Copy link
Collaborator

@Tovarichtch Tovarichtch commented Nov 1, 2024

Only 4 7 devices for the moment.

I invite everyone to post evtest and lsusb results with device names (spinner and/or trackball).

Post event triggers/codes if you have a push&pull spinner.

Only 4 devices for the moment. I invite everyone to post `evtest` result with device names (spinner and/or trackball) and event codes
@n2qz
Copy link
Contributor

n2qz commented Nov 2, 2024

Atari Single Player USB Fightstick

[root@belinda /userdata/system]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:      fd8b0030.pwm
/dev/input/event1:      rk805 pwrkey
/dev/input/event10:     Baolian industry Co., Ltd TS-UAIB-V1 GKM HUB
/dev/input/event2:      realtek,rt5616-codec Headphones
/dev/input/event3:      goodix-ts
/dev/input/event4:      Logitech K400 Plus
/dev/input/event5:      batocera hotkeys
/dev/input/event6:      Baolian industry Co., Ltd. TS-SPTB-COMBO
/dev/input/event7:      Baolian industry Co., Ltd TS-UAIB-V1 GKM HUB
/dev/input/event8:      adc-keys
/dev/input/event9:      Baolian industry Co., Ltd TS-UAIB-V1 GKM HUB
Select the device event number [0-10]: ^C
[root@belinda /userdata/system]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 04e8:61fb Samsung Electronics Co., Ltd PSSD T7 Shield
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 003 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 003 Device 005: ID 32be:1540 Baolian industry Co., Ltd. TS-SPTB-COMBO
Bus 003 Device 006: ID 32be:1432 Baolian industry Co., Ltd TS-UAIB-V1 GKM HUB
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
[root@belinda /userdata/system]#

HUB with buttons and combo (TS-SPTB-COMBO). 2-in-1 in a hub.
@dkt70
Copy link

dkt70 commented Nov 3, 2024

This is for the AtGames Legends Ultimate Control Panel, connected to a mini PC via USB.

[root@BATOCERA /userdata/system]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: Sleep Button
/dev/input/event1: Power Button
/dev/input/event10: HDA Intel PCH Mic
/dev/input/event11: HDA Intel PCH Front Mic
/dev/input/event12: HDA Intel PCH Front Headphone
/dev/input/event13: HDA Intel PCH HDMI/DP,pcm=3
/dev/input/event14: HDA Intel PCH HDMI/DP,pcm=7
/dev/input/event15: HDA Intel PCH HDMI/DP,pcm=8
/dev/input/event16: batocera hotkeys
/dev/input/event2: Power Button
/dev/input/event3: SONiX AFX AFXMK0217
/dev/input/event4: SONiX AFX AFXMK0217 Keyboard
/dev/input/event5: SONiX AFX AFXMK0217
/dev/input/event6: HID 0838:8918
/dev/input/event7: HID 0838:8918
/dev/input/event8: HID 0838:8918
/dev/input/event9: Video Bus
Select the device event number [0-16]: 6
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x838 product 0x8918 version 0x110
Input device name: "HID 0838:8918"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 272 (BTN_LEFT)
Event code 273 (BTN_RIGHT)
Event code 274 (BTN_MIDDLE)
Event type 2 (EV_REL)
Event code 0 (REL_X)
Event code 1 (REL_Y)
Event code 8 (REL_WHEEL)
Event code 11 (REL_WHEEL_HI_RES)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)

/userdata$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 1038:0613 SteelSeries ApS AFX AFXMK0217
Bus 001 Device 003: ID 0838:8918
Bus 001 Device 004: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 0480:0900 Toshiba America Inc MQ04UBF100

Has a trackball connected to the main board
@Tovarichtch
Copy link
Collaborator Author

Tovarichtch commented Nov 3, 2024

This is for the AtGames Legends Ultimate Control Panel, connected to a mini PC via USB.

Do you have a picture of your control panel? Is there only one trackball? Any spinners on it? I see three times the same device. Can you share a support file?

Or share the evtest of each three events of the same device (6 to 8)

@dkt70
Copy link

dkt70 commented Nov 3, 2024

Hopefully this works. Here is a link to a picture of the control panel. Yes, there are 2 spinners, and one trackball.
[https://i.ibb.co/MPGNbMj/Legends-Ultimate-CP1.jpg](https://i.ibb.co/MPGNbMj/Legends-Ultimate-CP1.jpg)

@Tovarichtch Tovarichtch closed this Nov 3, 2024
@Tovarichtch Tovarichtch reopened this Nov 3, 2024
@Tovarichtch
Copy link
Collaborator Author

Hopefully this works. Here is a link to a picture of the control panel. Yes, there are 2 spinners, and one trackball. [https://i.ibb.co/MPGNbMj/Legends-Ultimate-CP1.jpg](https://i.ibb.co/MPGNbMj/Legends-Ultimate-CP1.jpg)

Thanks. I still need the file support or evtest of all ID 0838:8918. Because they are unnamed, I need to do another approach to add them in the database.

@dkt70
Copy link

dkt70 commented Nov 3, 2024

Tovarichtch, I am a newbie with Batocera. Would this have to be done on the PC running Batocera ?
At the moment, I am using Putty to SSH into Batocera, and running evtest from my main PC.
Thanks.

@MizterB
Copy link
Contributor

MizterB commented Nov 3, 2024

Here is an Ultimarc UltimateIO - specifically, the optical interface:

# evtest /dev/input/event19
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xd209 product 0x410 version 0x111
Input device name: "Ultimarc I-PAC Ultimate I/O"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)

@Tovarichtch
Copy link
Collaborator Author

Tovarichtch, I am a newbie with Batocera. Would this have to be done on the PC running Batocera ? At the moment, I am using Putty to SSH into Batocera, and running evtest from my main PC. Thanks.

Press START and go to SYSTEM SETTINGS → FRONTEND DEVELOPER OPTIONS → CREATE A SUPPORT FILE.

It will generate a file in /userdata/saves/ named batocera-support-YYYYMMDDHHMMSS.tar.gz. This file will have everything we need. Otherwise, you can type evtest in terminal, and select all three events of 0838:8918 device. Press CTRL+C to quit the evtest. Post results of each one.

Here is an Ultimarc UltimateIO - specifically, the optical interface:

That's the controller, which differs from the hardware itself (trackball/spinner). I don't think I need it, but thanks for sharing it, just in case.

@dkt70
Copy link

dkt70 commented Nov 3, 2024

Tovarichtch, thanks for all your help.
batocera-support-20241103161229.tar.gz
File attached. Hope that helps.

@Tovarichtch
Copy link
Collaborator Author

Tovarichtch, thanks for all your help. batocera-support-20241103161229.tar.gz File attached. Hope that helps.

I think I see the trackball, but I'm unsure about both spinners.

Can you evtest and select event15 or event16 and spin the spinner? Do you see anything going on onscreen? If so, please post log or screenshot.

@dkt70
Copy link

dkt70 commented Nov 3, 2024

Yes, when I spin the spinners I see lots of data onscreen. I will post this, as soon as I am back at my PC.

Edit: I have ran evtest on my PC using Putty, Selected event number 6, as that's the one where all the most data is recieved when using the spinners, and trackball. I have attached a text file, rather cut and paste a large amount of text.

batocera_evtest.txt

@Tovarichtch
Copy link
Collaborator Author

Tovarichtch commented Nov 4, 2024

I need all 3 events. Move the spinner a bit when doing so and tell me which spinner you used

@dkt70
Copy link

dkt70 commented Nov 4, 2024

Those numbers are from me moving both spinners, left and right, and the trackball in all directions.

@Tovarichtch
Copy link
Collaborator Author

Tovarichtch commented Nov 4, 2024

This is not helping me. That event seems to be for trackball only but it takes both spinners at the same time. Not good. This has to be blocked.

However, I repeat, I need to know what value the spinners do for the remaining event6. Not only event6, but the two others too. Please share the logs once done for all three events, not just one. Thank you

@dkt70
Copy link

dkt70 commented Nov 4, 2024

Those are the values for both spinners for event6. I will do the same for the other 2 events, but this will be a lot of data, so I will use a text file again. And again I will state that, for event6, I spin BOTH spinners for a full 360 spin both full left spin 360 degrees, and full right spin 360 degrees, and finally the trackball I do a spin for ALL directions. And I will do the same for the other 2 events, and upload the text file as soon as I am back at my main PC. Thanks for your patience, and help.

@Tovarichtch
Copy link
Collaborator Author

You don't need to do a full spin. Just very slighty to trigger a result.

@dkt70
Copy link

dkt70 commented Nov 4, 2024

Ok. Done evtests for events 6 - 8.
event6 = Spinners x2, and one trackball.
event7 = left-side joystick and buttons.
event8 = right-side joystick and buttons.
For event6, I did as you asked, just slightly moved each spinner, and trackball.
For event7 and event8, I moved the joystick in all directions, and pressed all the buttons.
Attached is the 3 event data in 3 text files.
events.zip

Hope that helps. Many thanks.

@Tovarichtch
Copy link
Collaborator Author

Are spinners doing something in event7 and event8? Because if spinners and trackball are only doing something in event6, this is problematic...

@dkt70
Copy link

dkt70 commented Nov 4, 2024

No, only in event6.
Just to confirm. Both spinners, and trackball do kind of work in most MAME - only if I set mouse in the Mame.ini, and works well in FBNeo. I can move a mouse pointer around with both spinners, and the trackball, so I guess they're seen as a mouse. They are slow, though, and need at least 400% speed increase to get anything like they're supposed to be like in Windows.

@Tovarichtch
Copy link
Collaborator Author

That's not good. If they are seen in the same event, separating them won't be simple. Thanks for the logs and info, we will check what we can do

@dkt70
Copy link

dkt70 commented Nov 4, 2024

Tovarichtch, appreciate all your help, and good luck. If you need me to do any testing, I will happily oblige.
Many thanks.

REL_Y is spinner 1
REL_X is spinner 2
REL_Y + REL_X is trackball
More clarity too for the future
@Tovarichtch Tovarichtch added the 42 label Nov 9, 2024
classic REL_Y/REL_X
@bmn001
Copy link

bmn001 commented Nov 20, 2024

Howdy!

This is a three-button trackball. Suzo-Happ part number 56-0300-11.
https://na.suzohapp.com/products/trackballs/56-0300-11

It has both USB and PS2 connection options. I'm connected with USB not PS2.

[root@ArcadePC /userdata/system]# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:	Power Button
/dev/input/event1:	Power Button
/dev/input/event10:	HD-Audio Generic HDMI/DP,pcm=8
/dev/input/event11:	HD-Audio Generic HDMI/DP,pcm=9
/dev/input/event12:	HD-Audio Generic Front Mic
/dev/input/event13:	DragonRise Inc.   Generic   USB  Joystick  
/dev/input/event14:	HD-Audio Generic Line Out
/dev/input/event16:	HD-Audio Generic Front Headphone
/dev/input/event2:	Video Bus
/dev/input/event3:	HID 1241:1111
/dev/input/event4:	DragonRise Inc.   Generic   USB  Joystick  
/dev/input/event5:	HD-Audio Generic Rear Mic
/dev/input/event6:	HD-Audio Generic Line
/dev/input/event7:	HD-Audio Generic HDMI/DP,pcm=3
/dev/input/event8:	Logitech K400 Plus
/dev/input/event9:	HD-Audio Generic HDMI/DP,pcm=7
Select the device event number [0-16]: ^C
[root@ArcadePC /userdata/system]# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad
Bus 001 Device 003: ID 0079:0006 DragonRise Inc. PC TWIN SHOCK Gamepad
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 003: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 003 Device 004: ID 1241:1111 Belkin Mouse
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
[root@ArcadePC /userdata/system]# 

@Tovarichtch
Copy link
Collaborator Author

Howdy!

This is a three-button trackball. Suzo-Happ part number 56-0300-11. https://na.suzohapp.com/products/trackballs/56-0300-11

It has both USB and PS2 connection options. I'm connected with USB not PS2.

Thanks! Can you load up your trackball event ? I think it's this one:

/dev/input/event3: HID 1241:1111

And move very slightly your trackball. Post results.

REL_Y+REL_X for trackball
REL_WHEEL_HI_RES for spinner
@bmn001
Copy link

bmn001 commented Nov 25, 2024

Thanks! Can you load up your trackball event ? I think it's this one:

/dev/input/event3: HID 1241:1111

And move very slightly your trackball. Post results.

You got it dude:

Input device ID: bus 0x3 vendor 0x1241 product 0x1111 version 0x110
Input device name: "HID 1241:1111"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 272 (BTN_LEFT)
    Event code 273 (BTN_RIGHT)
    Event code 274 (BTN_MIDDLE)
  Event type 2 (EV_REL)
    Event code 0 (REL_X)
    Event code 1 (REL_Y)
    Event code 8 (REL_WHEEL)
    Event code 11 (REL_WHEEL_HI_RES)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1732556927.963805, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1732556927.963805, -------------- SYN_REPORT ------------
Event: time 1732556927.979799, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1732556927.979799, -------------- SYN_REPORT ------------
Event: time 1732556927.995803, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1732556927.995803, -------------- SYN_REPORT ------------
Event: time 1732556928.011812, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1732556928.011812, -------------- SYN_REPORT ------------
Event: time 1732556928.027811, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1732556928.027811, -------------- SYN_REPORT ------------
Event: time 1732556928.099818, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1732556928.099818, -------------- SYN_REPORT ------------
Event: time 1732556928.107812, type 2 (EV_REL), code 0 (REL_X), value 1
Event: time 1732556928.107812, -------------- SYN_REPORT ------------
Event: time 1732556928.115813, type 2 (EV_REL), code 1 (REL_Y), value 1
Event: time 1732556928.115813, -------------- SYN_REPORT ------------

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants