Also it would fallback to a text input in unsupporting browsers which is quite different to what is desired imo.
Tbh I think a window.showEmojiPicker() is probably a good first step anyway. Give people a JS way to invoke it and use the selected character somehow?
We often want to insert the chosen emoji into a textarea or something, so the picker itself being an input feels wrong regardless. <button emojipicker> is perhaps a better design for progressive enhancement?
A datalist attached to the text field you're currently writing in.
And as a user, you want the emoji picker to be where your caret is. Emoji buttons exist due to technical limitations, imho, not because they're the best approach UX-wise.
For me, the menu is opened by hitting the fn key on my MacBook. Sometimes one keystroke does it. Every so often it requires two or three keystrokes. Don't know what's going on there…