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

macOS: Support diversion with a keyboard emulation #2732

Open
MattHag opened this issue Dec 27, 2024 · 1 comment
Open

macOS: Support diversion with a keyboard emulation #2732

MattHag opened this issue Dec 27, 2024 · 1 comment

Comments

@MattHag
Copy link
Collaborator

MattHag commented Dec 27, 2024

Information

  • Solaar version: 1.1.14RC
  • Distribution: macOS

Is your feature request related to a problem? Please describe.
The existing implementation of Linux provides a dummy keyboard to fake inputs using evdev. The diversion of keys is not functional on macOS, rendering man rules unusable.
However, to fix this for macOS it requires a good understanding how the diversion works and how to keep it compatible with Linux rules as best as possible.

Describe the solution you'd like
There's no equivalent for macOS, but pyobjc with CGEventCreateKeyboardEvent and similar functions could be useful.

Describe alternatives you've considered

  • Fake a whole HID device, if there's a library
  • Use macOS scripting with osascript

Additional context
Add any other context or screenshots about the feature request here.

@vulpes2
Copy link
Contributor

vulpes2 commented Jan 14, 2025

CoreHID has exactly what you want, the only caveat is that it's only available on Sequoia (or newer). We can restrict this feature to Sequoia at first and then think of a fallback later if there's demand for that. For older macOS versions I think you'd need to write an actual driver for virtual HID stuff, which is probably not worth the effort.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants