Will the Powkiddy X55 be supported?
Closed this issue · 22 comments
Powkiddy X55 runs JELOS stock, but isn't supported due to a lack of control mapping (though thememaster does launch via the JELOS instructions).
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)
@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.
@gannon345 it should be under "/dev/input/by-path/" ; regarding controls event codes, you can get them by running evtest.
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 ------------
@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
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.
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.
@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?
@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.
@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?
@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.
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.
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.
@gannon345 I wonder why my controls don't work - did you change anything to get them to work?
@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.
@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?
@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 :-)
@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.
@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.
Perfect! I'll officially release a new version then.
@gannon345 @SuperBadger77 thanks for you help
Thank you!