Futures-rs compatible OpenGL context creation and event processing



I’m looking for a futures compatible library for creating OpenGL contexts, and listening on events of peripherals (mouse, keyboard).

All libraries I found come with their own event loop, which would require polling the events. Since there is no way to be notified of events, it doesn’t appear to be possible to use it in a futures-rs context without running it in another thread.

Did I miss any libraries?
Are there foundational reasons why every library does it this way?