Haven't you or some software added registry value Scancode Map into following Registry key?
HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout
That one is used for registry key remapping, if you want to change default behavior of some keys.
You can safely return to defaults simply by deleting the Scancode Map value. Instead of messing with interactive Registry editor, the following command will do the deletion for you:
reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layout" /v "Scancode Map" /f
Also perform scanning of your machine for malware. Once I've seen thing like this was a side-effect of present malware.
Also you can attach a different keyboard to confirm whether the issue is present only for built-in keyboard or with any keyboard. This can give you a clue.
Also please check this solution although it was related to different keys. In other words: try killing as many apps (and background processes) as possible, until it stops.