That's a nice general question where you can show off. However, in the context of the so-called full-stack web development, I guess it means a key has been pressed on a website so I would pass over drivers and focused over the HTTP exchange including TLS, with multiple variants like what if gzip compression is enabled, what if the server and browser support HHTP/2 etc. or one doesn't, and then of course you have so much to talk about once you get to how the input can be handled by JavaScript. So a nice question overall.