I'm not sure that you'd need an entity for this. It sounds more client-side.
I'm not really familiar with Source programming, but there's probably a way to get key presses from the client. For the entity input/output, maybe you could send a server command with an ent_fire statement.
The Source engine doesn't support Intel graphics cards. There's a Steam Support article about it with some suggestions: https://support.steampowered.com/kb_article.php?ref=6956-UGCB-7160
Change the 5th pair of characters (from the left) of the top row (the character after IDST).
So when you open it you'll see something like this (the 30 may be 2D, 2E or 2F):
49 44 53 54 30 00 00 00 which is IDST0... in hexadecimal.
You need to change that to:
49 44 53 54 2C 00 00 00 which is...