JohnIrvine1433 / ThemeMaster

EmulationStation theme manager for small screen devices running ArkOS, TheRA, RetroOZ, JELOS, UnofficialOS or ROCKNIX
GNU General Public License v3.0
91 stars 11 forks source link

Will the Powkiddy X55 be supported? #13

Closed gannon345 closed 1 year ago

gannon345 commented 1 year ago

Powkiddy X55 runs JELOS stock, but isn't supported due to a lack of control mapping (though thememaster does launch via the JELOS instructions).

JohnIrvine1433 commented 1 year ago

Unfortunately I do not have this platform, however I can implement the changes if you can provide me with the required information (input file for X55 controls and event codes)

slaminger commented 1 year ago

Does it support Xbox 360 controllers?

On Fri., May 26, 2023, 8:23 a.m. JohnIrvine1433, @.***> wrote:

Unfortunately I do not have this plateform, however I can implement the required changes if you can provide me with the required information (input file for X55 controls and event codes)

— Reply to this email directly, view it on GitHub https://github.com/JohnIrvine1433/ThemeMaster/issues/13#issuecomment-1564388961, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHN2GJG6FPL5GAJ6FIBUY3LXICVDRANCNFSM6AAAAAAYMM7UB4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>

gannon345 commented 1 year ago

@JohnIrvine1433 do you know where I would find the files on the device and what they might be named? I’ll be happy to provide it, just not sure what to look for.

JohnIrvine1433 commented 1 year ago

@gannon345 it should be under "/dev/input/by-path/" ; regarding controls event codes, you can get them by running evtest.

gannon345 commented 1 year ago

I'm having a hard time getting the files. The files in ../by-path are:

platform-fdd40000.i2c-platform-rk805-pwrkey-event platform-rk-headset-event platform-zed_joystick-event platform-zed_joystick-event-joystick platform-zed_joystick-joystick

But they are all symlinks to event files in /dev/input:

event0 event1 event2 event3 js0

All of them are blank files, and they're not simlinks. It's very confusing. And I wasn't able to scp any of the files off, they all errored.

I was able to run evtest though, and output comes from event0 (zed_joystick). For all the digital buttons (L1-L3, R1-R3, face buttons, dpad, start, select) 1 is pressed, 0 is released. Not sure how to read the joystick values.

Results below:

evtest for zed_joystick:

Available devices: /dev/input/event0: zed_joystick /dev/input/event1: rk805 pwrkey /dev/input/event2: zed_keyboard /dev/input/event3: rk-headset Select the device event number [0-3]: 0 Input driver version is 1.0.1 Input device ID: bus 0x19 vendor 0x0 product 0x0 version 0x0 Input device name: "zed_joystick" Supported events: Event type 0 (EV_SYN) Event type 1 (EV_KEY) Event code 304 (BTN_SOUTH) Event code 305 (BTN_EAST) Event code 307 (BTN_NORTH) Event code 308 (BTN_WEST) Event code 310 (BTN_TL) Event code 311 (BTN_TR) Event code 312 (BTN_TL2) Event code 313 (BTN_TR2) Event code 314 (BTN_SELECT) Event code 315 (BTN_START) Event code 316 (BTN_MODE) Event code 317 (BTN_THUMBL) Event code 318 (BTN_THUMBR) Event code 544 (BTN_DPAD_UP) Event code 545 (BTN_DPAD_DOWN) Event code 546 (BTN_DPAD_LEFT) Event code 547 (BTN_DPAD_RIGHT) Event type 3 (EV_ABS) Event code 0 (ABS_X) Value 9 Min 0 Max 18 Flat 9 Event code 1 (ABS_Y) Value 9 Min 0 Max 18 Flat 9 Event code 3 (ABS_RX) Value 9 Min 0 Max 18 Flat 9 Event code 4 (ABS_RY) Value 9 Min 0 Max 18 Flat 9 Key repeat handling: Repeat type 20 (EV_REP) Repeat code 0 (REP_DELAY) Value 250 Repeat code 1 (REP_PERIOD) Value 33 Properties: Testing ... (interrupt to exit) Event: time 1685309802.078872, type 1 (EV_KEY), code 547 (BTN_DPAD_RIGHT), value 1 Event: time 1685309802.078872, -------------- SYN_REPORT ------------ Event: time 1685309802.142260, type 1 (EV_KEY), code 547 (BTN_DPAD_RIGHT), value 0 Event: time 1685309802.142260, -------------- SYN_REPORT ------------ Event: time 1685309802.542184, type 1 (EV_KEY), code 546 (BTN_DPAD_LEFT), value 1 Event: time 1685309802.542184, -------------- SYN_REPORT ------------ Event: time 1685309802.592175, type 1 (EV_KEY), code 546 (BTN_DPAD_LEFT), value 0 Event: time 1685309802.592175, -------------- SYN_REPORT ------------ Event: time 1685309803.028857, type 1 (EV_KEY), code 544 (BTN_DPAD_UP), value 1 Event: time 1685309803.028857, -------------- SYN_REPORT ------------ Event: time 1685309803.095480, type 1 (EV_KEY), code 544 (BTN_DPAD_UP), value 0 Event: time 1685309803.095480, -------------- SYN_REPORT ------------ Event: time 1685309803.378806, type 1 (EV_KEY), code 545 (BTN_DPAD_DOWN), value 1 Event: time 1685309803.378806, -------------- SYN_REPORT ------------ Event: time 1685309803.442064, type 1 (EV_KEY), code 545 (BTN_DPAD_DOWN), value 0 Event: time 1685309803.442064, -------------- SYN_REPORT ------------ Event: time 1685309804.905511, type 1 (EV_KEY), code 308 (BTN_WEST), value 1 Event: time 1685309804.905511, -------------- SYN_REPORT ------------ Event: time 1685309805.005517, type 1 (EV_KEY), code 308 (BTN_WEST), value 0 Event: time 1685309805.005517, -------------- SYN_REPORT ------------ Event: time 1685309805.278930, type 1 (EV_KEY), code 307 (BTN_NORTH), value 1 Event: time 1685309805.278930, -------------- SYN_REPORT ------------ Event: time 1685309805.375414, type 1 (EV_KEY), code 307 (BTN_NORTH), value 0 Event: time 1685309805.375414, -------------- SYN_REPORT ------------ Event: time 1685309805.592162, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1 Event: time 1685309805.592162, -------------- SYN_REPORT ------------ Event: time 1685309805.702573, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0 Event: time 1685309805.702573, -------------- SYN_REPORT ------------ Event: time 1685309805.908802, type 1 (EV_KEY), code 305 (BTN_EAST), value 1 Event: time 1685309805.908802, -------------- SYN_REPORT ------------ Event: time 1685309806.005464, type 1 (EV_KEY), code 305 (BTN_EAST), value 0 Event: time 1685309806.005464, -------------- SYN_REPORT ------------ Event: time 1685309807.068799, type 1 (EV_KEY), code 317 (BTN_THUMBL), value 1 Event: time 1685309807.068799, -------------- SYN_REPORT ------------ Event: time 1685309807.165496, type 1 (EV_KEY), code 317 (BTN_THUMBL), value 0 Event: time 1685309807.165496, -------------- SYN_REPORT ------------ Event: time 1685309807.408851, type 1 (EV_KEY), code 318 (BTN_THUMBR), value 1 Event: time 1685309807.408851, -------------- SYN_REPORT ------------ Event: time 1685309807.495489, type 1 (EV_KEY), code 318 (BTN_THUMBR), value 0 Event: time 1685309807.495489, -------------- SYN_REPORT ------------ Event: time 1685309808.225450, type 1 (EV_KEY), code 310 (BTN_TL), value 1 Event: time 1685309808.225450, -------------- SYN_REPORT ------------ Event: time 1685309808.318689, type 1 (EV_KEY), code 310 (BTN_TL), value 0 Event: time 1685309808.318689, -------------- SYN_REPORT ------------ Event: time 1685309808.475320, type 1 (EV_KEY), code 311 (BTN_TR), value 1 Event: time 1685309808.475320, -------------- SYN_REPORT ------------ Event: time 1685309808.602075, type 1 (EV_KEY), code 311 (BTN_TR), value 0 Event: time 1685309808.602075, -------------- SYN_REPORT ------------ Event: time 1685309808.825343, type 1 (EV_KEY), code 312 (BTN_TL2), value 1 Event: time 1685309808.825343, -------------- SYN_REPORT ------------ Event: time 1685309808.958768, type 1 (EV_KEY), code 312 (BTN_TL2), value 0 Event: time 1685309808.958768, -------------- SYN_REPORT ------------ Event: time 1685309809.075461, type 1 (EV_KEY), code 313 (BTN_TR2), value 1 Event: time 1685309809.075461, -------------- SYN_REPORT ------------ Event: time 1685309809.172197, type 1 (EV_KEY), code 313 (BTN_TR2), value 0 Event: time 1685309809.172197, -------------- SYN_REPORT ------------ Event: time 1685309811.142289, type 3 (EV_ABS), code 0 (ABS_X), value 18 Event: time 1685309811.142289, -------------- SYN_REPORT ------------ Event: time 1685309811.242153, type 3 (EV_ABS), code 0 (ABS_X), value 9 Event: time 1685309811.242153, -------------- SYN_REPORT ------------ Event: time 1685309811.478726, type 3 (EV_ABS), code 0 (ABS_X), value 0 Event: time 1685309811.478726, -------------- SYN_REPORT ------------ Event: time 1685309811.545416, type 3 (EV_ABS), code 0 (ABS_X), value 9 Event: time 1685309811.545416, -------------- SYN_REPORT ------------ Event: time 1685309811.915675, type 3 (EV_ABS), code 1 (ABS_Y), value 0 Event: time 1685309811.915675, -------------- SYN_REPORT ------------ Event: time 1685309812.015607, type 3 (EV_ABS), code 1 (ABS_Y), value 9 Event: time 1685309812.015607, -------------- SYN_REPORT ------------ Event: time 1685309813.162211, type 3 (EV_ABS), code 1 (ABS_Y), value 18 Event: time 1685309813.162211, -------------- SYN_REPORT ------------ Event: time 1685309813.265548, type 3 (EV_ABS), code 1 (ABS_Y), value 9 Event: time 1685309813.265548, -------------- SYN_REPORT ------------ Event: time 1685309815.255541, type 3 (EV_ABS), code 4 (ABS_RY), value 8 Event: time 1685309815.255541, -------------- SYN_REPORT ------------ Event: time 1685309815.289010, type 3 (EV_ABS), code 4 (ABS_RY), value 0 Event: time 1685309815.289010, -------------- SYN_REPORT ------------ Event: time 1685309815.389052, type 3 (EV_ABS), code 4 (ABS_RY), value 9 Event: time 1685309815.389052, -------------- SYN_REPORT ------------ Event: time 1685309815.722215, type 3 (EV_ABS), code 4 (ABS_RY), value 18 Event: time 1685309815.722215, -------------- SYN_REPORT ------------ Event: time 1685309815.855654, type 3 (EV_ABS), code 4 (ABS_RY), value 9 Event: time 1685309815.855654, -------------- SYN_REPORT ------------ Event: time 1685309816.222295, type 3 (EV_ABS), code 3 (ABS_RX), value 0 Event: time 1685309816.222295, -------------- SYN_REPORT ------------ Event: time 1685309816.292267, type 3 (EV_ABS), code 3 (ABS_RX), value 9 Event: time 1685309816.292267, -------------- SYN_REPORT ------------ Event: time 1685309816.662198, type 3 (EV_ABS), code 3 (ABS_RX), value 12 Event: time 1685309816.662198, -------------- SYN_REPORT ------------ Event: time 1685309816.698834, type 3 (EV_ABS), code 3 (ABS_RX), value 18 Event: time 1685309816.698834, -------------- SYN_REPORT ------------ Event: time 1685309816.802198, type 3 (EV_ABS), code 3 (ABS_RX), value 9 Event: time 1685309816.802198, -------------- SYN_REPORT ------------ Event: time 1685309818.418720, type 1 (EV_KEY), code 314 (BTN_SELECT), value 1 Event: time 1685309818.418720, -------------- SYN_REPORT ------------ Event: time 1685309818.545521, type 1 (EV_KEY), code 314 (BTN_SELECT), value 0 Event: time 1685309818.545521, -------------- SYN_REPORT ------------ Event: time 1685309819.157072, type 1 (EV_KEY), code 315 (BTN_START), value 1 Event: time 1685309819.157072, -------------- SYN_REPORT ------------ Event: time 1685309819.232143, type 1 (EV_KEY), code 315 (BTN_START), value 0 Event: time 1685309819.232143, -------------- SYN_REPORT ------------

JohnIrvine1433 commented 1 year ago

@gannon345 an updated version has been push to the "x55" branch. If you can give it a try and let me know if it works properly... https://github.com/JohnIrvine1433/ThemeMaster/archive/refs/heads/x55.zip

SuperBadger77 commented 1 year ago

I was just about to raise an issue to see if you would add support for the X55. I'll also give this a go and report back.

SuperBadger77 commented 1 year ago

So I copied it across and ran it. Previously I got into the same issue as @gannon345 where it loaded but said there was a lack of controls mapped and had to connect a USB keyboard to it to get it to run. Now it gets further but I get the following error message (pic attached). Again no controls worked so I connected my usb keyboard and selected continue and it bombed out back to the main menu. Attached the error message as well.

es_launch_stdout.log x55 thememaster error message 18-26 03-06-23

JohnIrvine1433 commented 1 year ago

@SuperBadger77 the error is not related to the changes, it seems that you're having an issue getting data from the OGA Gallery GitHub repo... For the controls I've changed the input file, can you try the latest version pushed on the x55 branch?

SuperBadger77 commented 1 year ago

@JohnIrvine1433 ok it now appears to work - I'm at the main menu (after checking for an update). However no controls work. Using my USB keyboard I can navigate but there is no screen size in settings matching the X55: 720×1280.

JohnIrvine1433 commented 1 year ago

@SuperBadger77 yeah do not update the app otherwise you'll get the master branch release. In gallery mode, ThemeMaster relies on Jetup's OGA Gallery information and at the moment there is no other resolution. Just choose the one best adapted to your device. If you know a GitHub repository with themes with the correct resolution I can add it to the GitHub mode. Regarding the controls, you have no key working at all?

SuperBadger77 commented 1 year ago

@JohnIrvine1433 I just retested it - no controls work - tried everything. Even Start + Select doesn't exit out. Had to use my keyboard to exit. If there are some files you need me to find on the x55 then let me know and I'll upload here. I'll try and install a few themes using the keyboard later on.

gannon345 commented 1 year ago

I just tested it and it was working, but then it prompted to update Thememaster. After it updated to 4.3.0 and relaunched, controls stopped working and it said the device was unsupported as it did originally. The build previously provided works: https://github.com/JohnIrvine1433/ThemeMaster/archive/refs/heads/x55.zip

So as long as you launch and don't run the update it works, though currently no themes support the Powkiddy's resolution (720p). I downloaded Artbook-3-2 though (IIRC it's 960x540) and it worked fine.

gannon345 commented 1 year ago

Okay, tested repeatedly, and yeah, the build at https://github.com/JohnIrvine1433/ThemeMaster/archive/refs/heads/x55.zip works. It's a little odd since it seems like B is confirm and A is back (reverse of the system controls) but otherwise seems fine as long as you don't try to update.

And as before, only thing lacking are 720p themes, but those probably aren't common. Even the default theme for the X55 is a 3:2 one so no big deal.

SuperBadger77 commented 1 year ago

@gannon345 I wonder why my controls don't work - did you change anything to get them to work?

gannon345 commented 1 year ago

@SuperBadger77 Did you update the app previously? I had to delete the folder and .sh script and copy them back in to get controls. It throws the "server issued error response" message, but on relaunch controls work, so long as you don't try to run the app update it prompts for on launch.

JohnIrvine1433 commented 1 year ago

@gannon345 i have pushed an updated tm-control file to the x55 branches that should fix the swap between A and B. @SuperBadger77 if you can try again with a clean install, it is also best to restart your device in case the old control file has not been properly closed... which may definitely happen if not handle properly. Do you still get the error message at first start?

SuperBadger77 commented 1 year ago

@JohnIrvine1433 I'll give it a fresh install and another go. Probably just my setup. I've been messing with the Ports folder loads recently. Challenged myself to get every port in Portmaster up and running - probably messed it up somewhere doing various copy / delete / file changes. If it works for @gannon345 it's probably ready to ship :-)

gannon345 commented 1 year ago

@JohnIrvine1433 I ran the update process from Thememaster on my X55 and it went to 4.3.0 again and controls stopped working again, device not recognized. Did I need to manually install the new one from the X55 branch zip file? I'm assuming I did the wrong thing here.

I'll test again via manual reinstall later today, won't be able to download it again for a few hours.

Also @SuperBadger77, As @JohnIrvine1433 said, after launching initially, if you can't hit the continue button, just use the reset button on the top left of the X55 to restart the system and relaunch it. Buttons should work then. It was kind of hit or miss for me on the initial screen in all my attempts but always worked after a restart and relaunching Thememaster.

gannon345 commented 1 year ago

@JohnIrvine1433 Just tested, it's working like a champ. Button config feels better like this as well, it's more in line with the main UI scheme.

JohnIrvine1433 commented 1 year ago

Perfect! I'll officially release a new version then. @gannon345 @SuperBadger77 thanks for you help

gannon345 commented 1 year ago

Thank you!