Let’s say you have connected to your computer some human interface device (HID) that can simulate key presses (e.g. Arduino with a button) and you want to do some debug.
If you wonder how to capture a keystroke in Windows and detect which key has been pressed, this can be easily done from the PowerShell.
Cool Tip: Keyboard key press simulation using Arduino! Read more →
Capture Keystroke in PowerShell
To capture a key press in PowerShell, execute the following command:
PS C:\> $PressedKey = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
The command above captures a keystroke and records the information about the pressed key to the $PressedKey
variable.
To print the information about the captured keystroke, execute:
PS C:\> $PressedKey
Sample output:
VirtualKeyCode Character ControlKeyState KeyDown -------------- --------- --------------- ------- 65 a NumLockOn True
If you have captured the press of a special key, e.g. F12
, the “Character” field will be empty:
VirtualKeyCode Character ControlKeyState KeyDown -------------- --------- --------------- ------- 123 NumLockOn True
To get more details about the pressed key by its VirtualKeyCode
, check the table of the virtual-key codes used by the Windows system here.
Cool Tip: How to respond “Yes” or “No” to prompts in Windows PowerShell & CMD automatically! Read more →