shirosaki / enjoyable Goto Github PK
View Code? Open in Web Editor NEWan application for Mac OS X which allows you to use controller inputs like a mouse or keyboard
an application for Mac OS X which allows you to use controller inputs like a mouse or keyboard
If anyone still works on this, it'd be nice if enjoyable emulated control pad buttons and analog sticks so we could remap controller inputs. It would also be helpful when a controller is not recognised by a game, but enjoyable is.
Can anyone compile an arm version? thank you very much indeed!!
It run very well on macOS 10.x, but got crash on macOS 12.2
It might be an API issues because of OS version when running it on macOS 12.2. It crashes with following error message,
Exception Name: NSRangeException
Description: *** -[__NSArrayM objectAtIndexedSubscript:]: index 0 beyond bounds for empty array
User Info: (null)
0 CoreFoundation 0x00007ff800c23f0b __exceptionPreprocess + 242
1 libobjc.A.dylib 0x00007ff800984b9d objc_exception_throw + 48
2 CoreFoundation 0x00007ff800cdf434 _CFThrowFormattedException + 202
3 CoreFoundation 0x00007ff800b9631a -[__NSArrayM objectAtIndexedSubscript:] + 142
4 Enjoyable 0x0000000108b91684 Enjoyable + 71300
5 Enjoyable 0x0000000108b918ce Enjoyable + 71886
6 Enjoyable 0x0000000108b87e76 Enjoyable + 32374
7 Enjoyable 0x0000000108b829a7 Enjoyable + 10663
8 CoreFoundation 0x00007ff800b9df23 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
9 CoreFoundation 0x00007ff800c3b3f9 ___CFXRegistrationPost_block_invoke + 49
10 CoreFoundation 0x00007ff800c3b376 _CFXRegistrationPost + 496
11 CoreFoundation 0x00007ff800b6f836 _CFXNotificationPost + 733
12 Foundation 0x00007ff8019b71be -[NSNotificationCenter postNotificationName:object:userInfo:] + 82
13 AppKit 0x00007ff8037d0ecc applicationStatusSubsystemCallback + 678
14 LaunchServices 0x00007ff8010536ea ___LSScheduleNotificationFunction_block_invoke_2 + 47
15 CoreFoundation 0x00007ff800ba84a3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 12
16 CoreFoundation 0x00007ff800ba8353 __CFRunLoopDoBlocks + 445
17 CoreFoundation 0x00007ff800ba76b8 __CFRunLoopRun + 2586
18 CoreFoundation 0x00007ff800ba65dd CFRunLoopRunSpecific + 563
19 HIToolbox 0x00007ff80988b4f1 RunCurrentEventLoopInMode + 292
20 HIToolbox 0x00007ff80988b247 ReceiveNextEventCommon + 587
21 HIToolbox 0x00007ff80988afe5 _BlockUntilNextEventMatchingListInModeWithFilter + 70
22 AppKit 0x00007ff8035d4b4c _DPSNextEvent + 886
23 AppKit 0x00007ff8035d31b8 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1411
24 AppKit 0x00007ff8035c55a9 -[NSApplication run] + 586
25 AppKit 0x00007ff803599447 NSApplicationMain + 816
26 Enjoyable 0x0000000108b81c9c Enjoyable + 7324
27 ??? 0x0000000000000001 0x0 + 1
and stops to run when trying to compile with XCode 13.3.1.It shows the error message and stops.
make: *** No targets specified and no makefile found. Stop.
Command PhaseScriptExecution failed with a nonzero exit code
I have a strange behavior for my first time try with the program. I used to plug a wireless Moga controller to my MAC in HID mode. All button is detected inside the software, even the left and right controller. But then, when I go into a game or just a plain text and hit right, I see the cursor move to right, then immediatly to the left.. Also, the left do not work at all !
What strange is when press the controller in the enjoyable software, I see here it work. It may be completly not related to the software though. But I thought it could help a person if this happen.
So, I connected both of my Joycons to the Mac, and opened Enjoyable. It opened on Axis 1 - High. Normally, it opens on Button 1. The other thing I noticed is that the ring around the Home button on the right Joycon was blue, and that the green LEDs were still, not moving. Yesterday, when I connected them, the green lights were constantly moving, and there was no blue ring. I have double checked that they are connected, and they are. Trying to use them in a game, nothing would happen, as if it didn't remember my configuration. This has happened with both pairs of my Joycons
Any help with this would be greatly appreciated.
i cant get my xbox one controllers triggers to work on the app but on the site it says there working
I appreciate this project hasn't been updated in a while but wondering if there is a possiblity that multiple key pressed can be sent/detected at one time.
The reason for this is for platform games (and potentially others) where you need to move left or right but also jump at the same time, so for example using 'a' or 'd' or 'arrow-left' or 'arrow-right' and 'space' will allow the player to move and jump. currently this doesn't seem possible and you have to press jump and then immediately after press the corresponding direction keys.
Within the game using the keyboard however the key combination above DOES work.
Press D-Pad Down also triggers D-pad right.
Holding d-pad right or left cannot right/left scroll
I don't know what happened after first mapping. It works good but next time it looks that only recognize one axis always on and I can't select any other button. The menu move like crazy
If I plug the controller in USB its worse, if I unplugged the menu looks "still" but can't choice any button cause always select an axis up/down
It does with two different Nintendo Pro Controller
Enjoyable is the only mapper that works with Minecraft like I charm but it only work for a day
How do I change the menu bar icon? It looks like it's a static black icon. It doesn't change color to white based on the desktop background like other menu bar icons do. I have a very dark background on my mac, so the icon becomes virtually invisible for me.
Most of the times works Ok. But it seems that for no apparent reason it loses the ability to to move the mouse cursor. All other buttons seem to continue working. It makes me change application and restart enjoyable in order to get the handle on the mouse cursor again. There doesn't seem to be any particular event that triggers it at least not on my part. Some days makes it impossible to use it, some days works fine.
Regards
Posterior-Note:
I found that the problem it's a some kind of conflict with Crossover Emulator that i'm using, it seems that Crossover stops receiving the mouse entries from the controller device. So it seems that the problem is not with enjoyable.
Able to map all other buttons on a Bluetooth xbox one controller, except both triggers. From my searching this may be due to Microsoft changing the drivers they use for the triggers recently?
Can we please have a fix?
Thank you!
I am using a xbox one s controller through bluetooth.
Unusable with latest Mac os (Big Sur)
In order to be able to fully use a controller at all times without mouse or keyboard intervention and survive restart / reboots - a config option is needed to enable the mappings when the program loads instead of manually requiring mapping to be enabled.
Dear developer, thank you for your hard work! I was wondering if there would be a way to deactivate this feature, since it restrains my usage to the main screen in a dual monitor setup!
I like how you can remap a controller with this simple app, very cool. If I could seek on feature if possible to make on Mac, it would be to be able to map more than on function to a specific button. EX: Left Trigger: Fire (When Pressed), Left Trigger: Reload (Press & Hold). essential its allowing a bumper and trigger to have multiple functions. much like how reWASD does on PC. while that is way more complex, just having this isolated feature would be nice to have if possible. since no app has it on Mac.
On consoles many games like racing consider the sticks angle: if the stick is leaned a bit, the virtual car turns a bit, if the stick is leaned to the full angle, the car turns as hard as it can. It would be great if Enjoyable can transmit this behavior of sticks and other analogue controls.
I understand that a keyboard doesn't have analogue keys so the sticks can't be emulated directly. But there is a trick to implement it. Enjoyable can emulate fast key pressing and releasing when a stick is leaned halfway. The more the stick is leaned, the longer the press time than the release time. A similar trick is used in electronics to turn discrete to analogue and it's called «pulse width modulation».
(percent is a stick lean angle, x is time, y is the emulated key state: top - pressed, bottom - released)
Try my repo:
https://github.com/erpapa/Enjoyable-1.3
Release package:
https://github.com/erpapa/Enjoyable-1.3/releases/tag/v1.3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.