Issue is caused by a Windows 10 Update, KB4074588, released in February 2018.
Affects USB keyboard/mouse on desktop computers; if you have an old PS/2 keyboard/mouse contact (rare on modern computers) it will work, and I believe laptops' own keyboard/touchpads are not affected (only external USB).
It's worth noting that keyboard+mouse work during the UEFI/BIOS boot/startup sequnce, i.e. before Windows 10 is started.
The following is the solution from TenForums:
If a working keyboard is not available after installing the update, your keyboard and mouse should work within the Window 10 Recovery Environment, which you can use to restore your system.
Start the Windows 10 Recovery Environment.
If you restart the system before Windows finishes loading the desktop three times in a row, Windows should automatically start the Windows 10 Recovery Environment.
If Windows will not automatically boot to the recovery screen, you can also use installation media to enter the Windows 10 Recovery Environment:
How to create and use installation media to load the Recovery Environment
Use the Command Prompt to uninstall the update:
At the recovery screen, select Troubleshoot, then Advanced Options, and then Command Prompt. You may be asked to enter a BitLocker Recovery Key or username/password. If prompted for a username/password, you must enter a local administrator account.
In the Command Prompt window, type the command listed below for your version of Windows and press ENTER.
For 32-bit versions of Windows: dism.exe /image:c:\
For 64-bit versions of Windows: dism.exe /image:c:\
Note: If Windows is not stored on the C: drive, replace the C: in the above commands with the appropriate drive letter.
Close the Command Prompt and click Continue to exit the Recovery Environment. Restart to enter Windows.
Note that the command shown above includes the letter 'c', as you'd expect, to refer to the 'C' drive, that is, the presumed OS drive. However, though my OS is indeed on the 'C' drive, the drive identified as my 'C' drive when the Command prompt was accessed in the WinRE Troubleshoot > Advanced Options menu was not actually my 'C' drive---it was my 'D' drive. In order to successfully run the above command on my actual 'C' drive, I had to change the letter "C" to "D", because what the Command prompt thinks is my 'D' drive is actually my 'C' drive. (I've seen this sort of drive letter swapping occur before at the Command prompt, though I don't know why it happens.) Finally, to be clear, the "Note" near the end of the above instructions telling the user to enter a letter other than the letter "C" for their OS if their OS is not stored on the 'C' drive is not what I'm talking about here, as my OS is indeed on my 'C' drive. Again, I'm pointing out that the Command prompt identifies my 'C' drive as my 'D' drive, and vice-versa, and it almost certainly will misidentify the drives of some others who have a second hard drive in the same way.