Besides, I never work on a laptop.
And this is a lame excuse. Smooth scrolling should also work when using keyboard with and pageup/pagedown, at least as an option and with some tuning preferences.
* There's a standard way to enable high-resolution scroll reporting (pixel-level instead of line-level), but Apple doesn't use it.
* There's a standard approach to multi-touch digitizers/trackpads (documented and I think to some extent created by Microsoft, called PTP) which Apple doesn't support.
* Apple's own Magic Trackpad speaks a proprietary protocol and it appears you can only speak it if you claim to use their USB VID/PID. And I don't think doing that would go over well in a commercial product. (And if you do manage to speak it, it turns out their driver really doesn't do two-finger scrolling well with tiny trackpads anyway. They probably only tested it on the generous dimensions of their hardware.) (Also, it attaches to your entire device, so having an additional interface with a different driver doesn't appear to work either.)
But...you can inject smooth scrolling events via Core Graphics. So you can run a userspace program with accessibility permission that scrolls smoothly. And you can also communicate with USB devices from such a program. There are some existing programs for doing smooth scrolling with standard mice (Mac Mouse Fix is one). I'm writing a userspace driver for PTP to make my keyboard's built-in trackpad work properly.
> But...you can inject smooth scrolling events via Core Graphics.
Applications can choose to ignore synthetic events, IIRC. Probably not an issue for scrolling, but for instance Little Snitch can be configured to ignore synthetic inputs to its security settings.
Supporting basically-compliant Vulkan GPUs covers probably 99.9% of developer machines. You need a pretty big user base to make it make sense to support the last 0.1% of people without access to a proper GPU driver.
I hope Zed reaches that scale, since I really like the project. But right now I would be a bit disappointed if that was a priority.
also wrt scrolling, mice like the logitech mx master actually have what is in my opinion a much better solution where the scrollwheel is not stepped and has scrolling inertia, allowing you to have the same level of precision with scrolling as you do with a touchpad (im not sure if the vertical wheel on it is the same but regardless). Its in my opinion a similar jump in capability for mice as continous triggers were for game controllers. Something that must have been initially quite notable, but slowly became expected behaviour (except on the switch for some reason but whatever i guess)