У меня не инпут: при нажатии клавиши я генерирую элемент списка (со взятым у события значением нажатой клавиши) и внедряю его в список. Я смотрел ролики этого товарища, думал может здесь быстрее подскажут.
В теории можно повесить обработчик oniput, сделать автозамену replace(/[a-zA-Zа-яА-Я]/g, '') и если длинна строки уменьшилась, то удалить с конца строки введенный символ.
Правда решение это так себе, но точно будет работать.