[Bug 50153] New: HID doesn't work on macOS Catalina and Big Sur unless "Input Monitoring" permission is granted
WineHQ Bugzilla
wine-bugs at winehq.org
Fri Nov 20 17:40:50 CST 2020
https://bugs.winehq.org/show_bug.cgi?id=50153
Bug ID: 50153
Summary: HID doesn't work on macOS Catalina and Big Sur unless
"Input Monitoring" permission is granted
Product: Wine
Version: 5.22
Hardware: x86-64
OS: Mac OS X
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: hid
Assignee: wine-bugs at winehq.org
Reporter: bshanks at codeweavers.com
On macOS Catalina and Big Sur, if the user-level app (usually Terminal) doesn't
have permission granted for "Input Monitoring" in System Preferences ->
Security & Privacy, the IOHID support in winebus will fail with 'Couldn't open
IOHIDManager.'.
And when Wine is quitting and the driver unloads, it tries to call the
IOHIDManager that was already released, causing a crash.
IOHIDManagerOpen() is failing with kIOReturnNotPermitted because it actually
tries to "open" every matching device, which is every HID device on the system,
including the keyboard (which requires Input Monitoring permission).
(Yes, this API design is very confusing, and poorly documented).
Better is to open individual devices instead, so even if the keyboard fails to
open other devices will still work.
Also it would be ideal to not "open" a device until it's necessary, so there
won't be a permission prompt unless a Windows app actually wants to read from
the keyboard. Currently some part of Wine's HID stack requests input reports
when the device gets enumerated, triggering the permission prompt.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list