It's probably because you're using the standard Bangle.js firmware?
As soon as the IRQ pin changes, the firmware itself jumps in and processes the IRQ before the JS can get there. That may even be the reason you can't get the watch working.
I think you're not going to get anywhere with this unless you make your own build that completely disables Bangle.js's touch functionality - which is probably not what you want!
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.
It's probably because you're using the standard Bangle.js firmware?
As soon as the IRQ pin changes, the firmware itself jumps in and processes the IRQ before the JS can get there. That may even be the reason you can't get the watch working.
I think you're not going to get anywhere with this unless you make your own build that completely disables Bangle.js's touch functionality - which is probably not what you want!