I have a speculative answer based on @TomK's answer.
IMO it is not a security practice/theatre, but a bug in the software, namely the developers failed to implement their intended behaviour.
As TomK said, every key has a code. Developers of Skrill want you to enter only digits in a certain field. If you are familiar to HTML, Angular, jQuery etc. you know that there are tons of good ways to restrict an input to a numeric value. By "numeric", important, I don't necessarily mean the value is a number, but that it could be a string made of digits (e.g. zip code 00144 is not 144; a number could be 114.3 which is not a zip, etc.).
So while there are plenties of reasonable and reputable ways to restrict the input to digits, probably the developers forced Javascript to refuse everything that is not [0-9]
, but failed because they are looking at the ID of the key, not at the value the user is typing.
In Angularjs, you would do
<input ng-pattern="^[0-9]+$">
That accepts strokes both from numeric row and key pad.