I need to listen for certain keypresses in a python terminal program without pausing execution with raw_input. I've seen people use a few windows specific ways of listening for keystrokes and I've seen people use large modules like tkinter and pygame which I want to avoid.
Is there a lightweight module out there that does this cross platform (at least ubuntu, windows, mac)? or is there a way to use just the event system from tkinter, pygame, etc...?
If not, how should I approach tackling this? My first thought is to redirect stdin to another process and keep checking to see if it contains one of my event keys.

edit
Thank you @unutbu for taking the time to mark this question that is 3 years old and successfully answered as a duplicate of another question whose answers do not apply to this question because I specifically asked about a non-blocking solution.
Short answer: no
Keypresses are system-dependent.  They are interrupt-driven.  They one of the basic things built into most modern OSes.  They have different philosophies that can't be unified in a generic way without losing functionality.  
you might try-
termios = unix, posix-style file-descriptor driven
curses = portal terminal-style handling (which is a specific console-based paradigm not generic)
Python wraps certain classes of input that might come from the keyboard: e.g., sys.stdin for console inupt. 
But trying to get universal keyboard input is a very general problem that's inherently platform-dependent.
Python cross-platform listening for keypresses?