Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raw Input Support - raphnetraw #356

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from

Conversation

CEnnis91
Copy link

@CEnnis91 CEnnis91 commented Jul 6, 2021

This is some initial work towards raw input support and should satisfy #300.

I know there are plans on doing blissbox support, so I tried to structure this with that in mind.

Basic controller testing has been completed for now, and it should work fine on Linux. Considering it's still early support is disabled in the makefile, just set HAVE_RAPHNET_INPUT = 1 where appropriate. The raphnetraw plugin tends to take over all 4 inputs when it's in use on other emulators, but I've worked around that and non-raphnet devices will work alongside raphnet devices when configured correctly.

I'm sure there might be a cleaner way to handle some bits, but still new to libretro's API.

Let me know your thoughts.

@hiryuu42
Copy link

As much as I would love to see raphnetraw support, this does not seem to work on my RetroPie and does not offer any feedback about why.

It does show as active in "/opt/retropie/configs/all/retroarch-core-options.cfg":
mupen64plus-RawInputAdapter = "Raphnet"

But then it just goes into udev anyway:

[WARN] [udev]: Couldn't open any keyboard, mouse or touchpad. Are permissions set correctly for /dev/input/event*?
[INFO] [udev]: Plugged pad: raphnet technologies Dual GC/N64 to USB v3.6 (10395:99) on port #0.
[INFO] [udev]: Pad #0 (/dev/input/event0) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event0) supports 40 force feedback effects.
[INFO] [udev]: Plugged pad: raphnet technologies Dual GC/N64 to USB v3.6 (10395:99) on port #1.
[INFO] [udev]: Pad #1 (/dev/input/event1) supports force feedback.
[INFO] [udev]: Pad #1 (/dev/input/event1) supports 40 force feedback effects.
[INFO] [Joypad]: Found joypad driver: "udev".

It retains the Retroarch button mapping and doesn't access the memory pak, but gives no error messages.

In standalone mupen, the hardware setup works as expected:

Input: Found USB device 0x289b:0x0063 serial 'xxxxxx' name 'Dual GC/N64 to USB v3.6'
Input: Adapter supports 2 raw channel(s)
Input: Channel 0: Adapter 'xxxxxx' raw channel 0
Input: Channel 1: Adapter 'xxxxxx' raw channel 1
Input: Mupen64Plus raphnetraw Input Plugin version 1.1.0 (compiled Sep 20 2021 03:14:47) initialized.

@m4xw
Copy link
Collaborator

m4xw commented Nov 9, 2021

@CEnnis91
Copy link
Author

Windows build should be working now

…t-raphnetraw.git

subrepo:
  subdir:   "mupen64plus-input-raphnetraw"
  merged:   "8611241"
upstream:
  origin:   "https://github.com/raphnet/mupen64plus-input-raphnetraw.git"
  branch:   "master"
  commit:   "8611241"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
subrepo:
  subdir:   "hidapi"
  merged:   "382138e"
upstream:
  origin:   "https://github.com/libusb/hidapi.git"
  branch:   "master"
  commit:   "382138e"
git-subrepo:
  version:  "0.4.3"
  origin:   "???"
  commit:   "???"
Include raphnet plugin into build
Make raphnet support completely optional (disable for now)
Raphnet controllers should be able to work along side with non-raphnet controllers
- Move raphnet handling out of emulate_game_controller_via_libretro
- Setup plugin connector similar to other plugin types
- Improve raphnet portmap and adapter handling and a bit
git subrepo pull custom/dependencies/hidapi

subrepo:
  subdir:   "custom/dependencies/hidapi"
  merged:   "b66d7c2c"
upstream:
  origin:   "https://github.com/libusb/hidapi.git"
  branch:   "master"
  commit:   "b66d7c2c"
git-subrepo:
  version:  "0.4.3"
  origin:   "https://github.com/ingydotnet/git-subrepo"
  commit:   "2f68596"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants