在Moose中,我希望每当用户在任何文本窗格中按下 Command-M 时都会通知我的浏览器。
我正在监听内部端口,等待任何类型的事件。虽然按下 Command-m 时会出现一个文本事件,但它不包含按下 command-m 的事实。
为了验证,在 Moose 中,GLMExplicitBrowser>>innerPortEvent:
通过添加以下第一条语句进行修改:
(aPortEvent port name asString beginsWith: 'select') ifFalse:[ aPortEvent inspect.].
现在在工作区中运行以下命令:
|browser |
browser := GLMBasicExamples new textSelection.
browser openOn: (1 to: 100).
((browser paneNamed: #start) port: #selection) value: 2.
((browser paneNamed: #end) port: #selection) value: 5.
每当文本更改时,您都会收到通知。如果按 Command-M,则不会收到通知。如果您接受修改后的文本,您会在文本端口上收到一个与常规文本更改没有区别的端口事件。即:您看不到文本是否被接受!
如何获得特殊按键和文本接受的通知?