Skip to content

Implement SimpleTextInputEx protocol on top of AppleEvent and SimpleTextInput protocols - #632

Open
ilikesn0w wants to merge 1 commit into
acidanthera:masterfrom
ilikesn0w:ilikesn0w-inex-20260919
Open

ilikesn0w wants to merge 1 commit into
acidanthera:masterfrom
ilikesn0w:ilikesn0w-inex-20260919

Conversation

@ilikesn0w

@ilikesn0w ilikesn0w commented Sep 19, 2026 •

Copy link
Copy Markdown
Contributor

Implemented SimpleTextInputEx protocol on top of AppleEvent and SimpleTextInput protocols. Tested it with edit in OpenShell on MacBookPro9,2, and it fully works

Closes: acidanthera/bugtracker#1080

@mikebeaton
mikebeaton force-pushed the ilikesn0w-inex-20260919 branch from 95027a3 to 0df8398 Compare September 26, 2026 06:56
@ilikesn0w

ilikesn0w commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor Author

I can also suggest creating a OpenInExDxe driver that can be inserted into firmware as .ffs or loaded from OpenCore as .efi. We can use it with OpenCore instead of InstallSimpleTextInputEx option.

@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 2 times, most recently from ae2cf5c to 9e55306 Compare September 27, 2026 06:16
@ilikesn0w ilikesn0w changed the title Implement SimpleInputEx protocol on top of AppleEvent Implement SimpleTextInputEx protocol on top of Apple Event and SimpleTextInput protocols Oct 4, 2026
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch from 9e55306 to 89c7e81 Compare October 4, 2026 16:15
@ilikesn0w ilikesn0w changed the title Implement SimpleTextInputEx protocol on top of Apple Event and SimpleTextInput protocols Implement SimpleTextInputEx protocol on top of AppleEvent and SimpleTextInput protocols Oct 4, 2026
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 2 times, most recently from 2ae5730 to e4aa48f Compare October 12, 2026 07:48
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 2 times, most recently from 1d3381b to 05523f6 Compare October 23, 2026 14:13
Comment thread Docs/Configuration.tex Resolved
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 2 times, most recently from 375a51b to ce20ab8 Compare October 31, 2026 18:32
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch from ce20ab8 to d6655d2 Compare October 31, 2026 20:05
@ilikesn0w
ilikesn0w requested a review from vit9696 November 1, 2026 10:32

@vit9696 vit9696 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All in all this looks about right, though I am slightly worried whether the implementation is good enough for all quirky usage scenarios. Initialisation is a bit ugly, I left a few more comments on its.


KeyMapAggregator = NULL;

Status = gBS->LocateProtocol (&gAppleKeyMapAggregatorProtocolGuid, NULL, (VOID **)&KeyMapAggregator);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OcHandleProtocolFallback?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What handle should I give to OcHandleProtocolFallback? We don't know on which handle Aggregator is installed. I think OcGetProtocol would be better here but I don't know.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not gST->ConsoleInHandle?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don’t see Apple/OC installing it onto gST->ConsoleInHandle.
image
image

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough, but if anyone wants to prioritise, I guess ConsoleInHandle could be a sane default.

@ilikesn0w ilikesn0w Nov 1, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done it, check the latest force push.

@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch from d6655d2 to 75986ea Compare November 1, 2026 14:09
@ilikesn0w

Copy link
Copy Markdown
Contributor Author

Resolved some comments.

@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch from 75986ea to f134de7 Compare November 1, 2026 14:14
Comment thread Docs/Configuration.tex Resolved
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 3 times, most recently from b8cba2b to d9c7ec7 Compare November 1, 2026 16:07
@ilikesn0w
ilikesn0w requested a review from vit9696 November 1, 2026 20:27
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 2 times, most recently from 581f3a6 to 7693067 Compare November 1, 2026 21:59
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 4 times, most recently from 1e0ed9b to a53d724 Compare November 1, 2026 23:18
}

Status = gBS->InstallMultipleProtocolInterfaces (
&gST->ConsoleInHandle,

@ilikesn0w ilikesn0w Nov 1, 2026 •

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed NewHandle variable, I don't think that it's necessary here.

@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch 4 times, most recently from 5a1273d to 5cb317d Compare November 7, 2026 19:18
@ilikesn0w
ilikesn0w force-pushed the ilikesn0w-inex-20260919 branch from 5cb317d to 387e5de Compare November 12, 2026 23:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

Implement SimpleInputEx protocol on top of SimpleInput or AppleEvent

2 participants