Kids & Kiosk Mode, coming back [testers needed!]
-
@darknior Sorry, maybe a bit cryptic :-?
What I meant to say: "Huh I do not understand these results you are getting, we need to make sure you are testing the correct thing. And then we need to figure out what the hell is going on"Please test these branches using the testing scripts. You will need to select this :
repository: zigurana/emulationstation
branch: UIModeInputHandlingRegarding logging, i meant the logged values for inputs for each of the controllers, I've updated the logging again to hopefully show me all I need to know.
Sorry for the confusion, and to burden you so much, but you seem to be one of the few people who have such a wide range of controllers available. (With great power comes great responsibility ;-))
You are doing good work, please keep it up!
-
When do you expect we could have available these changes in official repo?
-
@dvf00 probably when the most issues are fixed. I mean that's why the developer branch was created recently, some older official releases weren't as stable as they should've been.
-
@darknior did you see my request for some more tests?
@zigurana said in Kids & Kiosk Mode, coming back [testers needed!]
-
@zigurana said in Kids & Kiosk Mode, coming back [testers needed!]:
@darknior did you see my request for some more tests?
Where do you log the command ? Where is the log file please ?
Thanks -
@darknior
You can run EmulationStation with the debug flag by typingemulationstation --debug
on the command line. The logfile will be athome/pi/.emulationstation/es-log.txt
.
Hope that helps! -
Ok i have think you add it by default ....
Test result :repository: zigurana/emulationstation
branch: UIModeInputHandlingResult for x360 Receiver Game-pad controller : Working before and not working Now :(
lvl2: Added known joystick Xbox 360 Wireless Receiver (instance ID: 3, device index: 0) lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 0, isMappedTo= a, , value=0, isValidInput: no lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( Xbox 360 Wireless Receiver ):Button 0, isMappedTo= a, , value=0, isValidInput: no
Result for 8bitdo NES30 Game-pad controller : NOT WORKING!
lvl3: UIModeController::logInput( 8Bitdo NES30 GamePad ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 GamePad ):Button 0, isMappedTo= a, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 GamePad ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no
Result for 8bitdo NES30 PRO Game-pad controller : WORKING FINE
lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 up, isMappedTo= up, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 up, isMappedTo= up, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 down, isMappedTo= down, , value=4, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 down, isMappedTo= down, , value=4, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 left, isMappedTo= left, , value=8, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 right, isMappedTo= right, , value=2, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 left, isMappedTo= left, , value=8, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 right, isMappedTo= right, , value=2, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Hat 0 neutral?, isMappedTo= down, left, right, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo NES30 Pro ):Button 1, isMappedTo= b, , value=0, isValidInput: no
Result for 8bitdo SNES30 Game-pad controller : Working before and nos NOT WORKING :(
lvl2: Added known joystick 8Bitdo SFC30 GamePad (instance ID: 2, device index: 0) lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0-, isMappedTo= left, , value=-1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 1-, isMappedTo= up, , value=-1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 1-, isMappedTo= down, up, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 2-, isMappedTo= , value=-1, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 2-, isMappedTo= , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 3-, isMappedTo= , value=-1, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 3-, isMappedTo= , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0-, isMappedTo= left, right, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0-, isMappedTo= left, , value=-1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0-, isMappedTo= left, right, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0+, isMappedTo= right, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0-, isMappedTo= left, right, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0+, isMappedTo= right, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Axis 0-, isMappedTo= left, right, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 1, isMappedTo= b, , value=0, isValidInput: no lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=1, isValidInput: yes lvl3: UIModeController::logInput( 8Bitdo SFC30 GamePad ):Button 0, isMappedTo= a, , value=0, isValidInput: no
I will receive the 8bitdo SNES30 PRO the 14 December. I will try it later ;)
Have you remove the full KEY tracking ?
-
@darknior thanks for the tests, you are the best!
Questions : the logging for the failing controllers, is that all available logging? I am only seeing a couple of lines for the x360 and NES30 controllers. I will need to see all keypresses to understand what is going on here.
Also, the input from the SNES30 controller seems rather random, was that intentional? -
Questions : the logging for the failing controllers, is that all available logging? I am only seeing a couple of lines for the x360 and NES30 controllers. I will need to see all keypresses to understand what is going on here.
Yes it's the problem, it not log all the keys :(
Also, the input from the SNES30 controller seems rather random, was that intentional?
No it's not, il only made the KONAMI CODE
-
@darknior I don't know what is going on. Do you have other issues with these controllers? Are they fully configured in EmulationStation ?
-
@darknior I don't know what is going on. Do you have other issues with these controllers? Are they fully configured in EmulationStation ?
Yes there are all working 100% in ES, RETROARCH, Solarus, N64 and many more :D
The best Joystick ever in the world for sure !!!
I have stop to use my x360 Gamepad now i have buy them lol -
@darknior
Ok, thanks again for testing.
Now to really understand how these input are somehow not arriving, I'd like you to do some more tests.
Would you be willing to try some more and (try to) unlock while filming the screen?Do do so, I'd like you to take the same ES installation as you've used just now, so the one from my
UIModeInputHandling
branch, and do the following steps:- Start it with the debug flag like before.
- Connect one of the controllers that did work
- Lock the UI (set to kiosk or kid mode, doesnt matter)
- Go to a gamelistview, so inside a system
- Try to enter the konami-code, to confirm that the inputs are handled correctly
- If that works, please disconnect it, and connect one of the not working controllers like the x360,
- Run the controller setup wizard, to see if all buttons and axes are recognized and set correctly
- Repeat step 3-5, and while trying to unlock, could you make a movie of the screen?
- Repeat step 7 and 8 for all controllers you are willing / able to test.
You can just upload the complete
es-log.txt
file to pastebin or something similar, no need to find the correct lines, I'll take a look then.
NB: if you want to take a look at the logfile while its being written, you can runtail -f /home/pi/.emulationstation/es-log.txt
from an external SSH session, and see the logging for inputs as they appear in the logfile.I appreciate that this is considerable effort to ask of you, especially because you have done a lot to help already. Thank you for considering it.
Of course if anyone else wants to test with an xbox360 or 8BitDo controller, please go ahead, at this point I can use all the data I can get.
-
@zigurana It is exactly 100% what i already do yesterday. All you write.
- Go to a gamelistview, so inside a system
I only change this one, i try the code on HOME menu, if i try it on gamelist and press A it launch a game and i don't want.
And when i try it log no more informations. Have you remove some log tracker from your old ControllerInput build, x360 works fine. -
@zigurana I have to nitpick. I noticed the kiosk mode leaves the retropie selection available and the kids mode does not. I love the the kids mode! :D
As for the kiosk mode..well I like that the retropie menu is there in case I need a quick change..but on the other hand I don't want it even assessable because of the "big kids"...just asking if there is a way to do that WITHOUT editing the es_systems.cfg..like maybe in full mode show the retropie selection..in kiosk and kids mode not show it. Almost seems redundant I guess.
NOT complaining just commenting. Thank you for these features..now i don't have to "babysit" people using my pi THANK YOU!
-
@akafox
The mechanism for showing items in kids and kiosk is flipped. Kids shows only kid-friendly items (default: false), while kiosk shows all except items that are hidden (default: false).
So to hide retropie items, there is no need to edit the system, just the Metadata of all items that it contains. -
@zigurana ooohhhh.. 0.0 duh! facepaws okay thank you...i'll just go over to that corner over there >> and be embarrassed :D
(thanks)
-
@akafox
😀no worries, happy to help! -
@darknior Hi.
I suppose the reason for the request of a video with you running the code in that particular screen is so we can detect at which level the input gets lost.
Meaning: if you press "up" on your controller, and then the line moves "up" in the gamelist, but then we see via SSH that it didn't show up in the log, that may help us better understand what's happening.
Or, alternatively, you press "up" on your controller, it goes up in the gamelist, and it logs two events, it also helps @Zigurana figure out what may be happening there.
If you manage to do it step by step, and having a SSH session running
tail -f ~/.emulationstation/es_log.txt
so that you can also film the changes in the log as you press each and every button, it may be helpful.I know it can be a pain, but you seem to be the one with the most controllers available to test here :)
Thanks.
-
@pjft Ok i understand better now, thanks, i will try to do it.
-
I turned on kiosk mode yesterday before letting some kids play with my Pi, and it seems kind of pointless if all it does is hide start button options. I still had to make sure they weren't going to access the retropie "system" or the runcomand settings. I know those can be disabled separately, but I was hoping kiosk mode would be a simple way to temporarily stop settings from being accessed.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.