Git Product home page Git Product logo

Comments (6)

MichaelBuckley avatar MichaelBuckley commented on August 15, 2024 1

This is actually caused by the code that searches for connected gamepads on your system. OpenEmu suffers from the same dialog. Neither of these emulators are actually monitoring your keystrokes when not in use. Instead, what's happening is that they contain code that connects to every USB device connected to your computer and asks it if it's a gamepad or not. Because you might have keyboards connected over USB, macOS is being paranoid and assuming that if your app directly connects to a keyboard over USB, it might be a keylogger, prevents the connection, and throws up that warning dialogue.

The funny thing is that it doesn't even matter to Snes9x. macOS doesn't prevent it from connecting directly to gamepads, only to keyboards. But that code is only looking for gamepads. Keyboard events are passed to the app from the OS, so it doesn't need to connect directly to the keyboards.

So even if you click the "Deny" button, it won't break anything in Snes9x or OpenEmu.

There's newer APIs we can use to more safely enumerate the USB devices and not trigger this warning, but I've been hesistant to do any more emulation work since you-know-who sued that emulator for their current system.

from snes9x.

qwertymodo avatar qwertymodo commented on August 15, 2024

I'm not a Mac user, so I can't say this authoritatively, or speak to the exact specifics, but that looks to be just a poorly worded way of saying that the app is able to respond to inputs even when it isn't in focus.

from snes9x.

SofaBandit avatar SofaBandit commented on August 15, 2024

Thanks for the response @qwertymodo, I've gone ahead and tried out a couple of games with the permission denied and I can confirm, as best as I can tell, the app runs fine without it.

If you believe that this is a red herring, I'm happy to close the issue or feel free to close it yourself. Let me know what you think.

from snes9x.

bearoso avatar bearoso commented on August 15, 2024

but I've been hesistant to do any more emulation work since you-know-who sued that emulator for their current system.

I read a leaked log of that project's developers' chat, and they were actively sharing illicit copies of pre-release software amongst themselves.

I suggest that if the games you wish to emulate are available on some platform, you purchase a copy so you have a license to said game. Emulating falls under fair use. Do not share ROM files with others.

from snes9x.

MichaelBuckley avatar MichaelBuckley commented on August 15, 2024

I agree that emulation is legal, and that the developers of the project were doing the things you mentioned. However, just by being sued, you can lose big. I couldn't afford to fight a lawsuit against a company with deeper pockets than me.

I read the suit filed against that project. The thing that worried me the most was that they objected to developers even discussing the emulation of commercial games. That is something that happens in the Github issues here. We have a good reason to discuss that: accuracy. We want to make sure the emulator works properly. But proving that in court is a riskier prospect.

from snes9x.

SofaBandit avatar SofaBandit commented on August 15, 2024

Ah ok, thanks for the explaination @MichaelBuckley, it was really useful 👍

I was worrying over nothing it seems but better safe than sorry and I learned something out of it.

Thanks again and enjoy the rest of the weekend 😄

from snes9x.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.