Specifically Arch. I found a GitHub page for xbox360wirelesschatpad but the installation instructions are for Windows. I know LibUSB is available but the vjoy driver doesn’t seem to be. I feel like there’s probably some comparable package.

There might also be an alternative way to do this all together. There seem to be a few methods of doing this on Windows using third party applications.


I am mostly doing this for the novelty of it but I feel like it could be useful for navigating my PC from my couch or responding to messages through Steam.

It seems like this whole process is pretty plug and play with the Xbox One controller and it’s chatpad but that’s not what I am after.

    • CorrodedOP
      link
      fedilink
      English
      7
      edit-2
      8 months ago

      Look promising but when running npm i

      I get the following error message

      npm WARN old lockfile 
      npm WARN old lockfile The package-lock.json file was created with an old version of npm,
      npm WARN old lockfile so supplemental metadata must be fetched from the registry.
      npm WARN old lockfile 
      npm WARN old lockfile This is a one-time fix-up, please be patient...
      npm WARN old lockfile 
      npm WARN deprecated ini@1.3.5: Please update to ini >=1.3.6 to avoid a prototype pollution issue
      npm WARN deprecated har-validator@5.1.5: this library is no longer supported
      npm WARN deprecated debug@4.2.0: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
      npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
      npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
      npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
      npm ERR! code 1
      npm ERR! path /home/Luke/.custom_scripts/chatpad-linux/node_modules/@serialport/bindings
      npm ERR! command failed
      npm ERR! command sh -c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
      npm ERR! gyp info it worked if it ends with ok
      npm ERR! gyp info using node-gyp@3.8.0
      npm ERR! gyp info using node@18.18.2 | linux | x64
      npm ERR! gyp ERR! configure error 
      npm ERR! gyp ERR! stack Error: Command failed: /usr/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
      npm ERR! gyp ERR! stack   File "<string>", line 1
      npm ERR! gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
      npm ERR! gyp ERR! stack                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      npm ERR! gyp ERR! stack SyntaxError: Missing parentheses in call to 'print'. Did you mean print(...)?
      npm ERR! gyp ERR! stack 
      npm ERR! gyp ERR! stack     at ChildProcess.exithandler (node:child_process:422:12)
      npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:517:28)
      npm ERR! gyp ERR! stack     at maybeClose (node:internal/child_process:1098:16)
      npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:303:5)
      npm ERR! gyp ERR! System Linux 6.8.4-arch1-1
      npm ERR! gyp ERR! command "/usr/bin/node" "/home/Luke/.custom_scripts/chatpad-linux/node_modules/.bin/node-gyp" "rebuild"
      npm ERR! gyp ERR! cwd /home/Luke/.custom_scripts/chatpad-linux/node_modules/@serialport/bindings
      npm ERR! gyp ERR! node -v v18.18.2
      npm ERR! gyp ERR! node-gyp -v v3.8.0
      npm ERR! gyp ERR! not ok
      
      npm ERR! A complete log of this run can be found in: /home/Luke/.npm/_logs/2024-04-13T00_57_22_075Z-debug-0.log
      
      

      It almost seems like it’s trying to make calls with older applications and that’s why it’s erroring out. I took a look at the files and I am guessing package-lock.json is the culprit. For example

      npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.

      seems to match

          "tar": {
            "version": "2.2.2",
            "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
            "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
            "requires": {
              "block-stream": "*",
              "fstream": "^1.0.12",
              "inherits": "2"
      

      Going to https://registry.npmjs.org/tar/ gives me a GitHub link with the latest version being 6.1.13. I don’t know if the fix as as simple as swapping the URL to be https://registry.npmjs.org/tar/-/tar-6.1.13.tgz (which apparently does exist) then doing the same thing for ini, har-validator, uuid, and request. Even then I don’t know how to figure out the hash value that I would need to the integrity check.

      Any ideas or suggestions?

      Edit: The integrity section is under dist on https://registry.npmjs.org/package_name_here/. I am going to try to hack something together and see if it works.

      Edit 2: I fixed the deprecated dependency errors with the exception of hal-validator and the latter part of the error message still remains.

      Edit 3:

      pm ERR! gyp ERR! stack Error: Command failed: /usr/bin/python -c import sys; print "%s.%s.%s" % sys.version_info[:3];
      
      

      Makes me wonder if it’s a Python issue but I really don’t know how to proceed from here.

      Edit 4: There’s a section on the GitHub page’s issue section that mentioned “Failed at the @serialport/[email protected] install script” and I’m wondering if that might be it. The solution was apparently running npm install node-sass@latest --save --force before the npm i but it errors out when run in the chatpad-linux directory starting with

      npm ERR! code 1
      npm ERR! path /home/Luke/.custom_scripts/chatpad-linux/node_modules/ioctl
      

      and it continues on with more text.

      • @Dagamant
        link
        28 months ago

        Sorry, I haven’t messed with node much and I don’t have a 360 controller to test anymore :(

        • CorrodedOP
          link
          fedilink
          English
          28 months ago

          No worries.

          I don’t think you would technically need an Xbox 360 controller to test this. This is the step before running sudo nodejs index.js <serial port> and using the controller.

          • K0W4L5K1
            link
            fedilink
            2
            edit-2
            8 months ago

            Hey i just saw this on my way home but try running the logs through an ai like blackbox it has a JavaScript trained one specifically. I have been using it for other issues and shits fucking cool

            Edit: https://www.blackbox.ai/share/14a4c80f-0506-4cc7-8508-9810d71acb72 here’s the response it gave me might help you more I’ll try it out when I get home as well I don’t have a pad but if it builds should work? Right? ¯_(ツ)_/¯

            • CorrodedOP
              link
              fedilink
              English
              28 months ago

              Thanks for the suggestion. It seems like that would have made upgrading the packages a lot easier.

              Unfortunately after applying the fixes it suggests it seems to kind of send me in a circle. It did say at one point it might be a Python issue.