X16Community / x16-rom

Other
43 stars 27 forks source link

Move typematic rate/delay setting from Kernal init #349

Closed stefan-b-jakobsson closed 1 month ago

stefan-b-jakobsson commented 1 month ago

It's been reported in the SMC channel on Discord that some keyboards will not light up the Num Lock LED on boot if you have set keyboard typematic rate/delay in the MENU config. This at least happens with the official Perrix keyboard.

I don't have access to that keyboard to take any data samples, but the issue is likely caused by the Kernal sending the set typematic rate/delay command during keyboard POR or when the SMC is sending the set LEDs command.

The keyboard POR should according to IBM specs take minimum 150 ms and maximum 2.0 s. It might therefore differ a lot how long the POR takes.

To remove the risk that there is interference between the SMC keyboard init and the Kernal init, I suggest that we remove the set typematic rate/delay from Kernal init. We could move it to the keyboard driver and send the setting after receiving the first key code.