More than a few times, I've had liked to just write getch() instead of raw_input(). This is the missing cross-platform functionality you've been looking for.