Mel_Burslan is correct that this feature does not natively exist, but creating a user-defined command is not really the way to go about creating it. I tinkered for a few minutes and came up with this:
:nmap <silent> ,s "=nr2char(getchar())<cr>P
Which uses some Vim trickery involving "putting" text from a register, in this case the "expression" register. The expression being plugged into the register is "
nr2char(getchar())" which will return a single character string.
The reason I built the mapping this way is that getting user input "midway through" a mapping is tricky and can behave unpredictably; even this mapping will drop the cursor down to the status area while waiting for the user to type a character.