This lack of functionality has been in existence since Mac OS X's inception. It's the reason why a cross-platform software _always_ has to support both select() and poll() to check if a user is typing on the terminal -- select() just for Mac OS X, and poll() for every other system. Wouldn't it be nice if we could standardise on poll()?
Compare what macOS manpages say:
https://developer.apple.com/library/archive/documentation/Sy...
> BUGS: The poll() system call currently does not support devices.
with the requirements for certification:
https://pubs.opengroup.org/onlinepubs/9799919799.2024edition...
> The poll() and ppoll() functions shall support regular files, terminal and pseudo-terminal devices, FIFOs, pipes, and sockets.
Is the bug fixed in macOS 15 or is this certification yet another load of horseshit?