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

    Keyboard not working in any game

    Scheduled Pinned Locked Moved Help and Support
    debiankeyboard
    16 Posts 2 Posters 971 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
      m33ts4k0z
      last edited by m33ts4k0z

      Hello.

      I installed retropie on a 64 bit laptop running Debian 12 using the method described in the docs. Everything seems to work correctly, I configured the keyboard using emulation station's config and it works in the menus. However openning a game, makes the keyboard totally unresponsive. No keys work and not even hotkeys. It looks like the emulationstation doesn't create/update configs for Retroarch although all scripts are there.

      I don't know if it matters but I copied the configs from a backup and I noticed that the user there was called pi while the user in my new system is called retropie.

      I searched and replaced the occurrences I found but still the controls don't work.

      Any ideas?

      Thanks in advance.

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

        @m33ts4k0z said in Keyboard not working in any game:

        It looks like the emulationstation doesn't create/update configs for Retroarch although all scripts are there.

        It does, unless there's a permission or installation issue (i.e. you removed the auto-configuration from ES or changed the permissions and the install user doesn't have the proper rights to write the file). I use my keyboard all the time in RetroArch. The configuration is saved in /opt/retropie/configs/all/retroarch.cfg directly.

        I don't know if it matters but I copied the configs from a backup and I noticed that the user there was called pi while the user in my new system is called retropie.

        Which configs did you copy ? Please post the es_input.cfg file from your $HOME/,emulationstation folder, surrounded by code blocks.

        1 Reply Last reply Reply Quote 0
        • M
          m33ts4k0z
          last edited by m33ts4k0z

          Thank you for your answer.

          I copied the /etc/emulationstation as well as the /opt/retropie/configs. These came from a Rpi3b+ installation.

          Another note: I haven't added the user to the sudoers that dont need to input the password as the docs suggest. Should I do that?

          Here comes the es_input.cfg file:

          <?xml version="1.0"?>
          <inputList>
            <inputAction type="onfinish">
              <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
            </inputAction>
            <inputConfig type="keyboard" deviceName="Keyboard" deviceGUID="-1">
              <input name="rightanalogdown" type="key" id="106" value="1"/>
              <input name="left" type="key" id="1073741904" value="1"/>
              <input name="rightanalogleft" type="key" id="109" value="1"/>
              <input name="right" type="key" id="1073741903" value="1"/>
              <input name="pagedown" type="key" id="101" value="1"/>
              <input name="down" type="key" id="1073741905" value="1"/>
              <input name="rightanalogup" type="key" id="105" value="1"/>
              <input name="pageup" type="key" id="113" value="1"/>
              <input name="rightanalogright" type="key" id="108" value="1"/>
              <input name="y" type="key" id="97" value="1"/>
              <input name="x" type="key" id="119" value="1"/>
              <input name="b" type="key" id="115" value="1"/>
              <input name="a" type="key" id="100" value="1"/>
              <input name="up" type="key" id="1073741906" value="1"/>
              <input name="select" type="key" id="27" value="1"/>
              <input name="start" type="key" id="13" value="1"/>
              <input name="leftanalogright" type="key" id="104" value="1"/>
              <input name="leftanalogup" type="key" id="116" value="1"/>
              <input name="leftanalogdown" type="key" id="98" value="1"/>
              <input name="leftanalogleft" type="key" id="102" value="1"/>
            </inputConfig>
          </inputList>
          

          The retroarch.cfg file seems to have saved at least some of the values correctly:

          input_player1_a = "d"
          input_player1_a_axis = "nul"
          input_player1_a_btn = "nul"
          input_player1_a_mbtn = "nul"
          input_player1_analog_dpad_mode = "0"
          input_player1_b = "s"
          input_player1_b_axis = "nul"
          input_player1_b_btn = "nul"
          input_player1_b_mbtn = "nul"
          input_player1_down = "down"
          input_player1_down_axis = "nul"
          input_player1_down_btn = "nul"
          input_player1_down_mbtn = "nul"
          input_player1_gun_aux_a = "nul"
          input_player1_gun_aux_a_axis = "nul"
          input_player1_gun_aux_a_btn = "nul"
          input_player1_gun_aux_a_mbtn = "nul"
          input_player1_gun_aux_b = "nul"
          input_player1_gun_aux_b_axis = "nul"
          input_player1_gun_aux_b_btn = "nul"
          input_player1_gun_aux_b_mbtn = "nul"
          input_player1_gun_aux_c = "nul"
          input_player1_gun_aux_c_axis = "nul"
          input_player1_gun_aux_c_btn = "nul"
          input_player1_gun_aux_c_mbtn = "nul"
          input_player1_gun_dpad_down = "nul"
          input_player1_gun_dpad_down_axis = "nul"
          input_player1_gun_dpad_down_btn = "nul"
          input_player1_gun_dpad_down_mbtn = "nul"
          input_player1_gun_dpad_left = "nul"
          input_player1_gun_dpad_left_axis = "nul"
          input_player1_gun_dpad_left_btn = "nul"
          input_player1_gun_dpad_left_mbtn = "nul"
          input_player1_gun_dpad_right = "nul"
          input_player1_gun_dpad_right_axis = "nul"
          input_player1_gun_dpad_right_btn = "nul"
          input_player1_gun_dpad_right_mbtn = "nul"
          input_player1_gun_dpad_up = "nul"
          input_player1_gun_dpad_up_axis = "nul"
          input_player1_gun_dpad_up_btn = "nul"
          input_player1_gun_dpad_up_mbtn = "nul"
          input_player1_gun_offscreen_shot = "nul"
          input_player1_gun_offscreen_shot_axis = "nul"
          input_player1_gun_offscreen_shot_btn = "nul"
          input_player1_gun_offscreen_shot_mbtn = "nul"
          input_player1_gun_select = "nul"
          input_player1_gun_select_axis = "nul"
          input_player1_gun_select_btn = "nul"
          input_player1_gun_select_mbtn = "nul"
          input_player1_gun_start = "nul"
          input_player1_gun_start_axis = "nul"
          input_player1_gun_start_btn = "nul"
          input_player1_gun_start_mbtn = "nul"
          input_player1_gun_trigger = "nul"
          input_player1_gun_trigger_axis = "nul"
          input_player1_gun_trigger_btn = "nul"
          input_player1_gun_trigger_mbtn = "1"
          input_player1_joypad_index = "0"
          input_player1_l = "q"
          input_player1_l2 = "num1"
          input_player1_l2_axis = "+5"
          input_player1_l2_btn = "nul"
          input_player1_l2_mbtn = "nul"
          input_player1_l3 = "g"
          input_player1_l3_axis = "nul"
          input_player1_l3_btn = "nul"
          input_player1_l3_mbtn = "nul"
          input_player1_l_axis = "nul"
          input_player1_l_btn = "nul"
          input_player1_l_mbtn = "nul"
          input_player1_l_x_minus = "nul"
          input_player1_l_x_minus_axis = "nul"
          input_player1_l_x_minus_btn = "nul"
          input_player1_l_x_minus_mbtn = "nul"
          input_player1_l_x_plus = "nul"
          input_player1_l_x_plus_axis = "nul"
          input_player1_l_x_plus_btn = "nul"
          input_player1_l_x_plus_mbtn = "nul"
          input_player1_l_y_minus = "nul"
          input_player1_l_y_minus_axis = "nul"
          input_player1_l_y_minus_btn = "nul"
          input_player1_l_y_minus_mbtn = "nul"
          input_player1_l_y_plus = "nul"
          input_player1_l_y_plus_axis = "nul"
          input_player1_l_y_plus_btn = "nul"
          input_player1_l_y_plus_mbtn = "nul"
          input_player1_left = "left"
          input_player1_left_axis = "nul"
          input_player1_left_btn = "nul"
          input_player1_left_mbtn = "nul"
          input_player1_mouse_index = "0"
          input_player1_r = "e"
          input_player1_r2 = "num3"
          input_player1_r2_axis = "+4"
          input_player1_r2_btn = "nul"
          input_player1_r2_mbtn = "nul"
          input_player1_r3 = "k"
          input_player1_r3_axis = "nul"
          input_player1_r3_btn = "nul"
          input_player1_r3_mbtn = "nul"
          input_player1_r_axis = "nul"
          input_player1_r_btn = "nul"
          input_player1_r_mbtn = "nul"
          input_player1_r_x_minus = "nul"
          input_player1_r_x_minus_axis = "nul"
          input_player1_r_x_minus_btn = "nul"
          input_player1_r_x_minus_mbtn = "nul"
          input_player1_r_x_plus = "nul"
          input_player1_r_x_plus_axis = "nul"
          input_player1_r_x_plus_btn = "nul"
          input_player1_r_x_plus_mbtn = "nul"
          input_player1_r_y_minus = "nul"
          input_player1_r_y_minus_axis = "nul"
          input_player1_r_y_minus_btn = "nul"
          input_player1_r_y_minus_mbtn = "nul"
          input_player1_r_y_plus = "nul"
          input_player1_r_y_plus_axis = "nul"
          input_player1_r_y_plus_btn = "nul"
          input_player1_r_y_plus_mbtn = "nul"
          input_player1_right = "right"
          input_player1_right_axis = "nul"
          input_player1_right_btn = "nul"
          input_player1_right_mbtn = "nul"
          input_player1_select = "escape"
          input_player1_select_axis = "nul"
          input_player1_select_btn = "nul"
          input_player1_select_mbtn = "nul"
          input_player1_start = "enter"
          input_player1_start_axis = "nul"
          input_player1_start_btn = "nul"
          input_player1_start_mbtn = "nul"
          input_player1_turbo = "nul"
          input_player1_turbo_axis = "nul"
          input_player1_turbo_btn = "nul"
          input_player1_turbo_mbtn = "nul"
          input_player1_up = "up"
          input_player1_up_axis = "nul"
          input_player1_up_btn = "nul"
          input_player1_up_mbtn = "nul"
          input_player1_x = "w"
          input_player1_x_axis = "nul"
          input_player1_x_btn = "nul"
          input_player1_x_mbtn = "nul"
          input_player1_y = "a"
          input_player1_y_axis = "nul"
          input_player1_y_btn = "nul"
          input_player1_y_mbtn = "nul"
          
          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @m33ts4k0z
            last edited by

            @m33ts4k0z said in Keyboard not working in any game:

            I copied the /etc/emulationstation as well as the /opt/retropie/configs. These came from a Rpi3b+ installation.

            I suggest you clear retroarch.cfg, re-install the retroarch package to generate the default (for a PC) configuration file and then re-configure the keyboard in EmulationStation. Clearly the configuration is saved, but you may have some leftovers from your previous config, since the default RetroPie configuration doesn't contain all those input definitions.

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

              @mitu

              I tried to do that but I receive an error now when I compile retroarch from source. Here is the log.

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

                @m33ts4k0z said in Keyboard not working in any game:

                I tried to do that but I receive an error now when I compile retroarch from source. Here is the log.

                This looks like a Github problem to clone the repository for joypad-autoconfig, try again later on.

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

                  @mitu

                  It looks like something happens right after the joypad-autoconfig gets cloned. I commented it and the same error occrus right after the libretro-core is cloned. But I can't seem to find the source of this since this error seems to come from the runCmd function that its never called after that?

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

                    @m33ts4k0z said in Keyboard not working in any game:

                    But I can't seem to find the source of this since this error seems to come from the runCmd function that its never called after that?

                    Not sure what part is called, but I can't reproduce the error. Since it worked before, did you change anything after the initial installation that might make the install fail ?

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

                      @mitu

                      Ok I figured it out. The error was that the /opt/retropie/configs/all/retroarch/shaders directory wasn't empty and the git pull was aborting. Maybe you can add a git reset --hard or something similar there? Because the .git directory existed in there.

                      About the initial issue, I got the keyboard working now but still it looks like the keys that I assigned through emulationstation are not used? Instead the default Retroarch keys are used (z x c v)

                      I believe I have to delete some more cfg files in order for emulation station to recreate them.

                      mituM M 2 Replies Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @m33ts4k0z
                        last edited by mitu

                        @m33ts4k0z said in Keyboard not working in any game:

                        Maybe you can add a git reset --hard or something similar there? Because the .git directory existed in there.

                        It's because the shaders repos are different on a PC than on a Pi. Even if reset is used, it wouldn't work.

                        I believe I have to delete some more cfg files in order for emulation station to recreate them.

                        You may have overrides or saved configis in each system's folder that trumps the main config file.
                        EDIT: if you used reset or save configuration from RetroArch's menu, that's likely the case. Not something we recommend.

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

                          No actually I haven't touched any Retroarch settings.

                          For example, for arcade, my retroach.cfg looks like this:

                          # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
                          
                          input_remapping_directory = "/opt/retropie/configs/arcade"
                          
                          #include "/opt/retropie/configs/all/retroarch.cfg"
                          

                          It looks like fb-neo and mame have totally different key bidnings for some reason although they both use the same cfg:

                          lr-fbneo = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg %ROM%"
                          lr-fbneo-neocd = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-fbneo/fbneo_libretro.so --subsystem neocd --config /opt/retropie/configs/arcade/retroarch.cfg %ROM%"
                          lr-mame2003 = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame2003/mame2003_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg %ROM%"
                          default = "lr-mame2003"
                          lr-mame = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-mame/mamearcade_libretro.so --config /opt/retropie/configs/arcade/retroarch.cfg %ROM%"
                          lr-flycast = "/opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-flycast/flycast_libretro.so </dev/null --config /opt/retropie/configs/arcade/retroarch.cfg %ROM%"
                          
                          mituM 1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @m33ts4k0z
                            last edited by mitu

                            @m33ts4k0z said in Keyboard not working in any game:

                            It looks like fb-neo and mame have totally different key bidnings for some reason although they both use the same cfg:

                            Hm, for mame2003 - not from what I've experienced so far - do you have an example where the bindings are 'totally different' ? Excluding any remaps/overrides, just the OOB configuration.

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

                              @mitu

                              I tried cadillacs and dinosaurs using fb-neo and lr-mame-2003 and the keys where different. However I'm sure the issue is somewhere with the configs I copied. I have no overrides anywhere but how could I be sure that I have no overrides when a load the game?

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

                                @m33ts4k0z said in Keyboard not working in any game:

                                I have no overrides anywhere but how could I be sure that I have no overrides when a load the game?

                                Usually the loading of overrides is printed by RetroArch on start, unless disabled. Mame2003 can also be differently configured through the MAME menu, which trumps the input configuration from RetroArch - see https://retropie.org.uk/docs/lr-mame2003/#mame-menu.

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

                                  @mitu

                                  Yes indeed retroarch says that the config is saved to /opt/retropie/configs/arcade/retroarch.cfg when it starts? I suppose the issue is a setting that overrides retropie, right?

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

                                    Issues solved.

                                    The problem was that emulationstation didn't have permission to right to /opt/retropie/configs/all. All keybidnings are working fine now.

                                    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.