I just had a client give me a call and state that their Windows 10 pc keyboard was typing backwards. At first I was not sure what this meant so I visited this client in person. Indeed the keystrokes the user was typing were displaying to the left of the last character. At first I suspected a stuck Left arrow key on the users keyboard but after trying a new keyboard the problem persisted.

I then looked into whether this user accidentally set the system location to a country that reads from right to left. This too was not the issue. 

I next tried safe mode. This also did not resolve the issue. Even in safe mode the text appeared to be typing backwards. I did read a few posts online that mentioned that it could be a hardware issue with the mother board. But over the 20 years and literally thousands of computers I have worked on I have never seen this issue related to a motherboard problem.

Upon further investigation I noticed that if I selected any windows menu the selected menu would very quickly change and rotate menus to the left.  I also clicked on any windows title bar and the selected window started marching to the left.

This indicated a “virtual stuck key” caused by a driver problem.

Windows Device Manager - keyboard typing backwards

I tracked this issue down to the fact that the user ran some windows updates the day before. It appeared that at least one windows update failed to install properly, leaving two entries in the device manager for HID Keyboard Device. 

The difficult part was how to remove the entry.  Every time I attempted to browse the tree in device manager the virtually stuck arrow key would press left and collapse the tree faster than I could open the next node.

The Fix

My fix was to hold to right arrow key down to attempt to offset the left arrow. It took a few trys to get the correct node to stay open but once I was able to keep the Keyboards node open, a simple right click and remove of the duplicate HID Keyboard Device entry instantly stopped the stuck left key.

This may not work for all cases but It Fixed it for me.

If anyone has an alternate fix please post it in the comments.