Once the device is paired, it should remember the pairing details - so usually next time you connect from the same computer it'll go right through. That could be it? It's just new computers that need to enter the passkey.
Or what happens if you try the actual code from that link? NRF.setSecurity({passkey:"123456", mitm:1, display:1});
keyboard:1 does have a special meaning, and it's possible it is changing how the pairing is expected to work somehow - I think usually in that case you'd get a http://www.espruino.com/Reference#l_BluetoothDevice_passkeyRequest when trying to connect to another device, but it's possible you get something similar (that isn't handled by Espruino) when another device tries to connect to you.
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Once the device is paired, it should remember the pairing details - so usually next time you connect from the same computer it'll go right through. That could be it? It's just new computers that need to enter the passkey.
Or what happens if you try the actual code from that link?
NRF.setSecurity({passkey:"123456", mitm:1, display:1});
keyboard:1
does have a special meaning, and it's possible it is changing how the pairing is expected to work somehow - I think usually in that case you'd get a http://www.espruino.com/Reference#l_BluetoothDevice_passkeyRequest when trying to connect to another device, but it's possible you get something similar (that isn't handled by Espruino) when another device tries to connect to you.