RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Childproofing a RetroPie System

    Scheduled Pinned Locked Moved Help and Support
    kiosk kids modechild friendlyretro archlaunch menuretropie setup
    10 Posts 4 Posters 2.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MikeS82
      last edited by

      System Info:

      Raspberry Pi 3 Model B (Not B+)

      LoveRPi 5V 2.5A MicroUSB LED Power Supply Adapter for Raspberry Pi 3

      RetroPie Version 4.7.18

      Built from pre-made v4.7.1 Raspberry Pi 2/3 image downloaded from RetroPie website

      Retroflag Classic USB SNES-Style Gamepads (Dinput mode)

      Hello,

      I am seeking advice/guidance in building a RetroPie system for a friend with small children. I am aware of the Kiosk and Kids modes and will be using them. I believe these features allow you to restrict access to games and Emulation Station features, but they do not appear to limit access to the “runcommand” launch script or in-game opening of RetroArch via Select+X.

      I know you can disable the launch script through RetroPie Setup, and you can edit the hotkey functions in \retropie\configs\all\retroarch-joypads, but these appear to be “global” changes from what I can tell. Is there a way you can disable the launch menu and select+x when the UI is in “Kiosk” or “Kids” mode but remain functional when the UI is “Full?”

      I hope that makes sense and thanks in advance for any assistance!

      Regards,
      Mike

      P.S. I have built several RetroPies for my own personal use with little to no trouble. This is only my first time building one that children will also be using.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        @mikes82 said in Childproofing a RetroPie System:

        Is there a way you can disable the launch menu and select+x when the UI is in “Kiosk” or “Kids” mode but remain functional when the UI is “Full?”

        Not out-of-the-box, these configurations are independent. What you could do is create a simple sh script that you could drop in the RetroPie system and that would toggle on/off the runcommand menu/hotkey shortcuts.
        I would also disable the hotkey + B combination (Reset) along with Hotkey + X.

        M 1 Reply Last reply Reply Quote 0
        • M
          MikeS82 @mitu
          last edited by

          Thank you, @mitu!

          I searched the forum before posting and found the 2019 [TOOL] RPi ES Kids Mode Toggler thread. KimDb had the very same idea two years earlier and wrote a Windows PowerShell script to do it. You provided essentially the same feedback regarding the preference for a basic Sh script and for disabling Select+B in addition to Select+X. Unfortunately, the thread died off, and I wasn’t sure if someone had already written an Sh script that I just hadn’t found. I’ve never written one before and only have minimal coding experience, primarily Windows and DOS-based.

          This also happens to be an after-work project for me, and I have to start getting ready to leave, so I’ll look into this more later this evening. Do you have any advice or pointers on how to go about getting started writing the script?

          Thanks again!

          Mike

          RedMarsBlueMoonR mituM 2 Replies Last reply Reply Quote 0
          • RedMarsBlueMoonR
            RedMarsBlueMoon @MikeS82
            last edited by RedMarsBlueMoon

            @mikes82

            I've got a main menu screen that goes up first that has emulation station and some other things.
            But I then send a php request to my own website and based on the return I open up certain functions in the main menu.
            I have a super simple and secret web page where I can click "Arcade is Open" or "Arcade is Closed".

            It has been a constant security war with my 11 year old as he's getting more and more savvy. :D

            For example he figured out he could break the boot up sequence and type 'emulationstation' himself and got around the barriers I had at the time.

            M 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @MikeS82
              last edited by

              @mikes82 said in Childproofing a RetroPie System:

              Do you have any advice or pointers on how to go about getting started writing the script?

              Create a set of controller and retropie configurations for each UI mode - full and kids and copy them to the right place with a script.

              For instance, to toggle kids mode on create a script in `$HOME/RetroPie/retropiemenu/kids-on.sh :

              #!/usr/bin/env bash
              
              cp $HOME/cfg/MyController-kids.cfg /opt/retropie/configs/all/retroach-joypads/MyController.cfg
              cp $HOME/cfg/runcommand-kids.cfg /opt/retropie/configs/all/runcommand.cfg
              

              In $HOME/cfg, save version of the configuration files (controller and runcommand) that are suited for kids mode with the kids suffix.

              Similarly, create configuration files for full mode in the same folder and a similar script that would copy the configuration files.

              Now, before you turn Kids mode on in EmulationStation, just run the Kids-On script and vice-versa (run the Kids-Off script after exiting Kids mode so you have full capabilities).

              M 1 Reply Last reply Reply Quote 0
              • M
                MikeS82 @RedMarsBlueMoon
                last edited by

                @redmarsbluemoon

                At 11 years old, I would have been trying to figure out ways to bypass the parental controls too :)

                I'm trying to keep this build relatively bulletproof and straightforward. It is for a buddy at work who sold off his NES and SNES collections back in the 90s and is starting to miss playing some of those old games. I had an old Pi 3 Model B board that I no longer use after upgrading to a Model 4, so I figured I'd put a fresh image on the Pi 3 and let him and his family have it.

                I've only loaded 8 & 16-bit games that many would consider family-friendly by today's standards, MK-type fighting games being the most extreme. I'll show my friend how to set the parental controls for game access. I mainly want to lock down all setup menus to prevent accidental changes from being made while in Kiosk or Kids mode; thus minimizing tech support calls to me :)

                Regards,
                Mike

                1 Reply Last reply Reply Quote 0
                • M
                  MikeS82 @mitu
                  last edited by

                  @mitu

                  Writing the script must be done on the Pi itself or through an SSH terminal like PuTTY; it cannot be written on Windows and transferred via WinSCP, correct?

                  I have little coding experience. I am a professional Electronics Technician of nearly 20 years, so I am of a technical mind; however, my skillset lies more on the hardware side. I have experience with Unix and Linux outside of RetroPie, but nothing more than following work instructions. I have never written anything from scratch.

                  It seems like these would be relatively simple features to implement, and I would like to learn how to write scripts, but I’m kind of out of my element and trying to find my bearings. I do believe step 1 requires reading the Developers chapter of RetroPie Docs, though :)

                  Is there anything existing on the Pi that is similar enough to use as an example of what I want to achieve? I have modified config files before and have a basic understanding of how they work; how the scripts interact with the configs is what’s throwing me off (I think…).

                  Thanks again for the assistance!

                  Mike

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @MikeS82
                    last edited by

                    @mikes82 said in Childproofing a RetroPie System:

                    It seems like these would be relatively simple features to implement, and I would like to learn how to write scripts, but I’m kind of out of my element and trying to find my bearings. I do believe step 1 requires reading the Developers chapter of RetroPie Docs, though :)

                    No, it doesn't require that. The entire script is just what I posted earlier - just copying 2 configuration files, 2 lines in a .sh file. You can create the script on the Pi itself (over SSH, using the nano editor) or use WinSCP to edit the file.

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      MikeS82 @mitu
                      last edited by

                      @mitu

                      I'm thinking I was overthinking this from the start, lol. It sounds like this truly is a simple task once you have the slightest idea of what you're doing!

                      Your advice is starting to sink in, and I believe I'm beginning to grasp the concepts well enough to where I might be able to do this! I didn't know how or where to start, but I think I have reached the point where the missing pieces will begin to fall into place once I am on the machine and start poking around.

                      Once again, many thanks!

                      Mike

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Simrose @MikeS82
                        last edited by Simrose

                        @mikes82

                        I make sure to keep a backup of my build as an image file incase my kids mess anything up.

                        I also disable the launch menu for the games in options run command.

                        And for mame I map the mame config menu to the keyboard as they don't use the keyboard.

                        And using kids mode.

                        I ended up making a seperate kids only setup and getting my kids a pi of their own and backed up their setup so if they do somehow manage to break it I can just rewrite the image.

                        They didn't want much content just some of their favourites and kodi
                        Sim

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        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.