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

    LR-Fuse issues mapping keystrokes to gamepad

    Scheduled Pinned Locked Moved Help and Support
    lr-fusespectrumcontrollercontrol issue
    12 Posts 3 Posters 2.0k 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.
    • D
      dudleydes @retropieuser555
      last edited by

      @retropieuser555 I have tested Chuckie Egg running in lr-fuse (v1.1.1 4de01de) in RetroArch v1.7.6 and the joypad to keyboard mapping for my PS3 controller works without issue.

      Can you provide the following info?

      • Which version of lr-fuse and RetroArch are you running? You can find out by launching the RGUI (hotkey+X) and the information will be in the bottom left.

      • Which game are you testing? Did you save the mapping for the game as described in the last step here. If so, the settings will be saved in an .opt file in /opt/retropie/configs/all/retroarch/config/fuse. Could you post the contents of the relevant .opt file for the game?

      1 Reply Last reply Reply Quote 0
      • retropieuser555R
        retropieuser555
        last edited by

        Hi thanks for the reply. my version of lr-fuse is v,1,1,1 43d01de. I just tried to update again from source and that's the version it's giving me.

        The .opt file for Chuckie Egg has a ton of lines about cores not relevent to this for some reason. I guess that just happens when you save the config file? Anyway these are the contents

        https://pastebin.com/raw/cS0kzBiK

        The parts that seem to relate to lr-fuse are:-

        fuse_ay_stereo_separation = "none"
        fuse_fast_load = "enabled"
        fuse_hide_border = "disabled"
        fuse_joypad_a = "z"
        fuse_joypad_b = "2"
        fuse_joypad_down = "w"
        fuse_joypad_l = "z"
        fuse_joypad_l2 = "z"
        fuse_joypad_l3 = "<none>"
        fuse_joypad_left = "9"
        fuse_joypad_r = "z"
        fuse_joypad_r2 = "1"
        fuse_joypad_r3 = "<none>"
        fuse_joypad_right = "0"
        fuse_joypad_start = "s"
        fuse_joypad_up = "<none>"
        fuse_joypad_x = "z"
        fuse_joypad_y = "s"
        fuse_key_hold_time = "500"
        fuse_key_ovrlay_transp = "enabled"
        fuse_load_sound = "enabled"
        fuse_machine = "Spectrum 48K"
        fuse_speaker_type = "tv speaker"

        Now based on that setup, start should hit keystroke S to begin the game but it doesn't do that. It's only when I enter the Y button as that Keystroke, then S works on start and on Y. It's pretty odd. Also see how many buttons I've mapped to z for jumping? Only L2 actually registers the keystroke.

        Pi 5 4GB

        Retroflag GPI with raspberry pi zero 2 w/ wifi

        Retroachievements:- lovelessrapture

        pjftP D 2 Replies Last reply Reply Quote 0
        • pjftP
          pjft @retropieuser555
          last edited by

          @retropieuser555 I'm intrigued, but it may be something with retroarch and their more recent keyboard mapper.

          If you reset the game to go to the spectrum "shell", for lack of a better word, and press some of the other keys, such as start, do they register anything? What's your retroarch config and ZX spectrum specific retroarch options?

          1 Reply Last reply Reply Quote 0
          • retropieuser555R
            retropieuser555
            last edited by

            Sorry this is going to sound daft. How do you force the core to reset and give you the spectrum start menu? Whenever I hit reset it just takes me back to the start of the rom. The emulator always boots the rom automatically and bypasses the spectrum menu?

            Incidentally if I load up the keyboard overlay screen, none of the keystrokes there can be registered either.

            Here are the paste bins of the retroarch config file and lr-fuse config:-

            retroarch.cfg:- https://pastebin.com/raw/FLju2f3V

            fuse.cfg:- https://pastebin.com/raw/AvJvBc7c

            Pi 5 4GB

            Retroflag GPI with raspberry pi zero 2 w/ wifi

            Retroachievements:- lovelessrapture

            1 Reply Last reply Reply Quote 0
            • D
              dudleydes @retropieuser555
              last edited by

              @retropieuser555 Thanks for the info.

              I tested your game options file and, in the main, works fine. I can start a 1-player game, move Hen-House Harry left and right, and make him jump. The 2 key is mapped to fuse_joypad_b so the B button needs to be used to move up. Nothing is mapped to fuse_joypad_up.

              Using a PS3 controller, the Start button will start a game as well as the Y button and I can use the L1 and R1 buttons to jump i naddition to the A button.

              When using the joypad to keyboard mapping, only the buttons that will be used need to be assigned keys. The rest can remain as <none>. I would manually edit your game options file, replacing duplicate mappings with <none>.

              You can find my mapping for Chuckie Egg here if you wish to test. I use the on-screen keyboard to select number of players.

              RetroArch does throw in a lot of extraneous information in a game options file, making it over 1000 lines. To keep the file manageable (23 lines) for troubleshooting, and as I don't particularly like using the RGUI anyway, my solution was to create a blank game options file, _blank.opt (available here) for lr-fuse and place it in /opt/retropie/configs/all/retroarch/config/fuse.

              If I wished to create a mapping file for a game, then I would create a copy of _blank.opt, rename it with the rom name and manually edit the file replacing <none> with the key I wished to map. Launching the game in lr-fuse does not add any further lines, keeping the game options file nice and small.

              retropieuser555R 1 Reply Last reply Reply Quote 0
              • retropieuser555R
                retropieuser555 @dudleydes
                last edited by

                @dudleydes Yeah how that config file works for me isn't how it works for you. I forgot to point out whatever I map to fuse_joypad_b returns that keystroke when I press Up on the gamepad.

                Would it be possible to upload the core files for v1.1.1 4de01de for me please? They should be in the libereto.so folder (I'm not at home so I don't know the directory off the top of my head)

                I wonder if I use that previous core it correct the issue I'm having. As I have a feeling something has changed between 4de01de and 43d01de?

                Also thanks for the advise with the retroarch config file and the blank file idea. I don't really mind the opt files having extra lines of code as they're easy enough to go in and delete if I wanted to. But I usually stick to the GUI as I find it easier to navigate.

                Pi 5 4GB

                Retroflag GPI with raspberry pi zero 2 w/ wifi

                Retroachievements:- lovelessrapture

                pjftP D 2 Replies Last reply Reply Quote 0
                • pjftP
                  pjft @retropieuser555
                  last edited by

                  @retropieuser555 said in LR-Fuse issues mapping keystrokes to gamepad:

                  Incidentally if I load up the keyboard overlay screen, none of the keystrokes there can be registered either.

                  So, this for me worries me a bit more.

                  I tested things out this morning very briefly, and it works on my end as well, so at least that's reassuring to a degree.

                  I have two questions: could you share a screenshot/picture of the "Player 1 Binds" in the Input menu? Mine, for instance, looks like this - doesn't mean yours has to, but just to see what you have there.

                  IMG_1123.JPG

                  Other than that, the main things I don't know of and could potentially relate to this are these two options on retroarch.cfg

                  keyboard_gamepad_enable = "true"
                  keyboard_gamepad_mapping_type = "1"

                  I couldn't find an equivalent on my GUI, but if you'd want to test changing it to "false" and see if it changes anything, that's my best bet for the time being.

                  Do you perchance have a keyboard connected?

                  Apologies for the reset prompt - I don't quite recall how to go about it as either, so it is not a daft question at all. But if you can invoke the "R" button to redefine keys, I'd like to see you try to actually press some of those keys that aren't registering and seeing if something shows up there. It might share some more light into it.

                  Best.

                  retropieuser555R 1 Reply Last reply Reply Quote 0
                  • D
                    dudleydes @retropieuser555
                    last edited by

                    @retropieuser555 I've checked my system and it is lr-fuse 1.1.1 43d01de that I am using. I don't know how I got 4de01de as I can't reproduce it and checking the commit history for lr-fuse, there is no 4de01de commit - 43d01de is the latest commit. Apologies for any confusion.

                    1 Reply Last reply Reply Quote 0
                    • retropieuser555R
                      retropieuser555 @pjft
                      last edited by

                      @pjft thanks for the reply.

                      alt text

                      Hoping that picture shows up, that's my menu for input binds. I had a try at changing the keypad_gamepad_enable and mapping type functions but it doesn't seem to have changed anything. Also I don't have a keyboard plugged in no. I might try to setup the lr-fuse on a friend's pi and see if the same error occurs.

                      Pi 5 4GB

                      Retroflag GPI with raspberry pi zero 2 w/ wifi

                      Retroachievements:- lovelessrapture

                      pjftP D 2 Replies Last reply Reply Quote 0
                      • pjftP
                        pjft @retropieuser555
                        last edited by

                        @retropieuser555 picture isn't showing, apologies. At least for the moment.

                        1 Reply Last reply Reply Quote 0
                        • D
                          dudleydes @retropieuser555
                          last edited by

                          @retropieuser555 I notice in your picture that the User 1 Device Type is set to Sinclair 1 Joystick. I tested this setting and Hen-House Harry moves to the left if I press the B button and to the right if I press the X or Y button even though I have nothing mapped to those buttons. Could you try selecting the User 1 Device Type to the Cursor or Kempston joystick?

                          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.