Bash on Linux, 21 bytes
Unfortunately, I can't test it since I'm on MacBook on Linux - no PrntScr, no numeric keyboard &all.
xev is a tool that outputs mouse and keyboard events under
X.org. I pipe it to awk, filter even lines (since every key is shown when key is pressed, and then when it's released), and select only those that contain
(k - this string is in every line that describes pressed key.