Redesigning Zig IO API

I wrote a post analyzing the current IO API and providing a few ways we can improve it here: https://igor84.github.io/blog/redesigning-zig-io-api/.

If we can agree we want some of those improvements I am ready to implement it and submit a pull request.

how does async and hw io fit in?

hw io => component + event / attributes:

  • key + down, up, stroke / modifier (shift, ctrl, alt/cmd/opt)
  • mouse + relative movement, absolute movement
  • mouse button + down, up, scroll / button number

That aspect with either first or third solution shouldn’t change compared to how it works now, if I understand your question.