如何捕捉 Cycle.js 中的键盘事件?

How to catch keyboard events in Cycle.js?

我试图掌握用户在打开我的应用程序时按下 Escape 键的时间(因此不一定要聚焦输入字段)。然而,到目前为止,我完全无法拦截键盘事件。这就是我目前正在尝试的:

drivers.DOM.select(':root')
.events('keypress')
// .filter(ev => ev.keyCode === 27)
.map(ev => true)

我也试过在 bodyhtml 上抓晚上,但都无济于事...

只做一个单行键盘驱动:

Cycle.run(main, {
  DOM: makeDOMDriver(containerElement),
  Keypress: () => Rx.Observable.fromEvent(document, 'keypress'); // <=====
});

检查这个例子:https://github.com/cyclejs/examples/blob/master/animated-letters/src/main.js#L110