- Mouseovers: Can be done with CSS Sprites, and the best way to do it honestly. No load time compared to doing it with JS. CSS Sprites are supported by all browsers and all versions of IE minus 6 and below (You can get them to work, just a REAL PITA).
- Keyboard Input: With jQuery (Or simple JS) you can trap key presses up/down. Very easy to do, and it appears he utilized this jQuery plugin,
http://demos.flesler.com/jquery/scrollTo/. Didn't take a look at the code though, but it operates just like that for the most part. I would still allow people to scroll, and still take key input, but that's just me.
- Transitions and Animations: This can be done with CSS3 for the most part. Not all browsers support it, but it's really easy and fun to build. I do a CSS3 transition/animation and for unsupported browsers I do JS implementation. Just a nice fallback. I did a CSS3 page with animations for a company promo, and I have the code still, I want to host it on my site to show it off.