Alright so I been daily driving Linux for a couple months now and it’s been pretty smooth going.
Today I felt nostalgic and wanted to play Dark Souls 2. And it absolutely didn’t recognize my controller. This is the first time I had such an issue with the Steam Controller and I didn’t know what to do.
Tried the usual suspects but nothing, and i had to give up. I tried googling, found no results, uninstalled. But I wasn’t happy, so I googled again and found the solution.
Apparently my Keychron keyboard is the issue? So quick exception added and it works. Still wondering why this isn’t an issue in any other game tho…

  • vividspecter@aussie.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 day ago

    Thanks for drawing attention to this. I’ve been having issues with finicky gamepad hotplugging of late and I suspect this is the cause.

  • Green Wizard@lemmy.zip
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    Back when I was on windows, Elden Ring wouldn’t recognize my controller. No matter what I did, nothing worked and I was going insane. Eventually I used steam input to make my controller make keyboard inputs, worked pretty well. I was able to get through a lot of the game that way until it beat the willpower out of me and I stopped playing lol

  • mehquestion@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    Can you explain what you mean by added a quick exception?

    I have the same problem on the same game due to the same hardware.

    I came up with a bulky solution, which is to launch a script that disconnects my keyboard for a bit; just to allow enough time to launch DS2. Then it reconnects the keyboard so normal function is resumed

    Can you expand on your solutions so I can see if its better?

    If anyone is interested in my super basic scripts, let me know and I’ll share them.

    • ThunderComplex@lemmy.todayOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 days ago

      First do lsusb | grep -i keychron and then plug the ID that it returns into the following launch options for the game on Steam:
      SDL_GAMECONTROLLER_IGNORE_DEVICES=0x<ID>/0x<ID> %command%
      The first ID is probably going to be 3434 since that’s the manufacturer ID for Keychron.

  • HubertManne@piefed.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I have not had any issues of significance. Certainly not more than I had with windows. I don’t use a controller though or anything. Im a pretty vanilla user.

  • scoot@programming.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I recall running into this issue as well. Ended up just unplugging my keyboard before booting up the game lol.

    My understanding is that it isn’t a linux problem, but a problem with Dark Souls 2 specifically. Like I’m pretty sure Windows users encounter this too.

  • edinbruh@feddit.it
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    Hello, I have had a “similar” issue. In my case a program didn’t recognise my controller as the first one because my motherboard’s led controller (!!!) pretended to be a controller.

    One very good and useful thing you can do is:

    • Verify that is really the problem, use udevadm info <device path> and see if it has ID_INPUT_JOYSTIC=1 or something similar.
    • Write an udev rule to unset the variable (e.g. ID_INPUT_JOYSTIC=) to remove the 1 without actually setting it to 0
    • Send the rule to systemd in an issue so they add it to a list of known hardware quirks. This way everyone with your keyboard will get the fix
  • Nate@piefed.alphapuggle.dev
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    Is it a magnetic switch Keychron? They have a feature where it can work as analogue input because it can sense how deep the keys are pressed, and it may be emulating a gamepad to do this and taking priority over your main controller

    • ThunderComplex@lemmy.todayOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 days ago

      No lol I wish. At least then I could understand why this happens. Although as another commenter pointed out Keychron might be using the same chips for all keyboards so maybe mine has the functionality built in despite not being magnetic and that might be the issue.

  • Broadfern@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    Peripherals can be finicky on Linux since drivers like to fight for priority.

    Slightly related: if you’re using Wayland you may also want to make rule exceptions for controllers/remote input. That pop up box is annoying to track down and re-confirm every 15 minutes when you’re not in the same room.

    Once it’s sorted it’s smooth sailing though and no surprise 30 minute restarts a la Windows :)

    • ThunderComplex@lemmy.todayOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 days ago

      On KDE so that popup box isn’t a problem anymore. It would ask if the SC is allowed to remote control every time I connected it but with KDE 6.7 I think it rembers that now and it’s no issue anymore.

  • baddu@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I’m a Windows user (though I’m Linux curious) and this seems like a common issue in From Soft games. Sekiro prefers to use my cheap USB foot pedal as controller one over anything.

  • Baggie@lemmy.zip
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I had a similar weird thing with deltarune. Steam controller was listed as second controller on launch(first was steam deck controls), but when booting the controls got swapped. Deltarune was expecting to use the second controller instead of the first though? Had to swap them manually in the steam OS menu but worked fine after that. Very odd.

  • Sanctus@anarchist.nexus
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    2 days ago

    See if you can tell if your box is reading your keyboard as a joypad. Mine was doing that and it would take 1st player slot on some games like rain world. It was also picking up my puck as a virtual Xbox controller for some reason. You can set it in like udev to not recognize it like that. Not sure if thats the issue but I had something similar with my qmk kbd75 rev2 and thats what I had to do.

    • ThunderComplex@lemmy.todayOP
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 days ago

      Yea apparently according to the Steam guide I found Keychron keyboards are detected as joysticks so it would take priority over the SC.
      What confuses me tho is why especially this brand and why only in this game?
      Eh I guess don’t look a gifted horse in the launch options or something

      • Sanctus@anarchist.nexus
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 days ago

        Lol its the microcontroller used I think? For whatever reason it registers in udev as a joypad as well as a keyboard. Its a simple edit in udev to get it fixed but I only did it once in my life so its not in my memory. If you want I can paste my udev edit when I get home tonight.

        • ThunderComplex@lemmy.todayOP
          link
          fedilink
          English
          arrow-up
          0
          ·
          2 days ago

          Thanks but I can figure it out myself. (Prolly am gonna forget about this tho until it becomes an issue again).

            • steelplatedmech@piefed.ca
              link
              fedilink
              English
              arrow-up
              0
              ·
              2 hours ago

              Could you post your solution here when you get the time? Don’t have the issue, but would love to know how udev was used to solve the issue for if I ever encounter the problem myself.

              • Sanctus@anarchist.nexus
                link
                fedilink
                English
                arrow-up
                0
                ·
                2 hours ago

                Sure but it is per device, I am basically telling my system “this is not a joypad”. Its just a rule in udev. You’d need to get these values from your own device. Each vendor and product will have one.

                # KBD75 Rev2  
                SUBSYSTEM=="input", ATTRS{idVendor}=="4b42", ATTRS{idProduct}=="6061", 
                ENV{ID_INPUT_JOYSTICK}=""
                
                • steelplatedmech@piefed.ca
                  link
                  fedilink
                  English
                  arrow-up
                  0
                  ·
                  2 hours ago

                  Thank you for the example. I have the same keyboard brand too so definitely nice to have. I think I can use lsusb to find my values.

  • TabbsTheBat (they/them)@pawb.social
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 days ago

    I’ve had a whole set of weird issues with controllers, not long ago I had 2 games “break” my controller configs in 2 different ways =w=

    Never had anything that took long to fix thankfully, but I can definitely relate on some level lol