--- created: 2017-03-18 22:29:30 +0100 language: en layout: redirect layout_old: default redirect_to: https://blog.mbirth.de/archives/2017/03/18/hp-50g-and-missed-keypresses.html tags: - know-how - hardware - hp - 50g - calculator title: HP 50g and missed keypresses toc: false updated: 2017-03-18 22:29:30 +0100 --- The default key debouncing wait time in the HP 50g is very long so that it misses lots of keypresses when typing fast. E.g. when typing `500` the calculator only registers `50`. This behaviour is controlled by the `KEYTIME` setting. The `KEYTIME` setting specifies the number of processor ticks, any further keypresses are ignored after a key was pressed. The default value is **1138** which resembles about 140 ms. Setting this to e.g. **500** (~61 ms) makes entering numbers much more reliable. Some users even disabled it by setting it to **0** and had no problems at all. Changing the value ================== To set the `KEYTIME` setting to **500**, press the following keys (in RPN mode): 1. 500 1. ENTER 1. ALPHAALPHA 1. KEYTIME 1. STO ▶ But this only works for the current session. After a reboot of the device, the value will be back to the default value of **1138** again. Changing the value on bootup ============================ To have this value changed on every bootup of the calculator, we have to save the instructions to a special variable called `STARTUP`. To do this, press the following keys (in RPN mode): 1. + (this will insert `<< >>` and place the cursor in the middle) 1. 500 1. 0 (this will insert a `→`) 1. ALPHAALPHA 1. KEYTIME 1. ENTER 1. STARTUP 1. STO ▶ This stores the instruction into the special variable `STARTUP` which gets evaluated on every bootup.