Receiving key press and key release events in Linux terminal applications?
The following links may be of some assistance in using the keyboard raw mode which will give you access to the keyboard events rather than just key releases.
Raw mode does have the disadvantage that you have to do your own conversion from scan codes to characters though.
This won't work in the general case. ANSI terminals (from which all emulators descend) represent key "press" events only. They don't record down/up events independently.
If you need low level keyboard event access, the proper environment is really a GUI program. Even a web application will have cleaner access to key events than a terminal.