-
-
Notifications
You must be signed in to change notification settings - Fork 845
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
Karabiner causes my app's IOKit call to fail with kIOReturnExclusiveAccess #2560
Comments
Have opened a stack overflow question also. |
Karabiner-Elements open IOHIDDevice with If your app is not related with specific hardware, you can open the virtual device (org_pqrs_Karabiner_DriverKit_VirtualHIDKeyboard) which Karabiner users to sends events. But, if your app needs to communicate with the specific hardware such LED adjustment, writing firmware, the conflict is a headache. |
Note: |
Thanks for the information @tekezo, I'll read through this a bit to try and understand. I unfortunately need to communicate with the device directly, however it's a plausible use case that the user is running Karabiner simultaneously. I have a couple extra questions if you'd be kind enough to answer.
|
if your app that wants to listen to HID events is meant to be run at login, then you can use the following kinda dumb workaround: disable Karabiner launch at login and in your app do
so basically this. From my limited tests everything seems to work fine. But the proper way to use Karabiner device is:
|
I'm building a MacOS app using IOKit.
I'm encountering an issue where if Karabiner is running before I run my app, opening a HIDManager fails with
kIOReturnExclusiveAccess
.This is a snippet of where this is occurring.
Something similar was mentioned here - #1038
If I close Karabiner and run my app, the HIDManager opens successfully. I can then reopen karabiner and both apps function as normal.
I don't yet understand why this might be. Any ideas if it's me or you?
I could guide my users to close karabiner, and then reopen once my app connects, but would obviously rather fix the root issue.
The text was updated successfully, but these errors were encountered: