0

我已经在 Pharo 中读到,可以使用 Alt-Tab 在窗口之间切换。但我一直无法对此进行测试,因为我常用的两个操作系统都使用捕获 Alt-Tab 并将其用于自己的窗口切换。

我在系统键盘映射浏览器中找不到 Alt-Tab 列表。切换窗口的键在哪里定义,如何更改?

编辑:我也喜欢“这就是你自己发现的方法”类型的答案。

4

3 回答 3

4

嗯...你击中了我们的弱点之一 :)

键绑定不是他最好的状态,但是:

  • 实际上,alt+tab 已经设置为“切换窗口”活动。问题是它并不总是有效(例如,它在 Playground 上无效)。
  • 这是因为那里有一些硬编码的逻辑,我们正在慢慢地从系统中删除它们(其中一些部分已经超过 15 年,因为它们来自 Pharo 出生之前)。
  • 有人(可能是在修复操场或硬代码失败的尝试中)忘记了创建新预览窗口的方法的停止......所以即使你到达系统的那个部分,你也会有一个调试器。当然,您可以通过删除断点来恢复正确的行为,但这并不能纠正“切换窗口”并非随处可用的事实。
  • 我为它打开了一个错误条目:https ://pharo.fogbugz.com/f/cases/15546 ,以防你想关注这个问题(你需要一个帐户,对此我很抱歉)。

无论如何,我们正在移除这些硬编码的东西,您可以在世界菜单/系统/键盘映射浏览器中查看所有当前可用的设置(它们很多,我们也在研究如何更好地展示这种组合。. .emacs 样式、弹出通知等)

于 2015-05-16T07:18:55.440 回答
2

我通过在包 Morhpic-Core>>Kernel edit Morph class>>#morphNavigationShortcutsOn 中编辑“变形之间的基本、通用导航快捷方式”来完成这项工作:

在那里你可以为等创建快捷方式"World navigateWindowForward"。我花了一段时间才找到可以正常工作的键,大多数在文本字段中都不能正常工作。我正在使用以下内容:

<keymap>
(aBuilder shortcut: #navigateFocusForwardCtrl)
    category: #MorphFocusCtrlNavigation
    default: $j ctrl asKeyCombination
    do: [ :target :morph :event | morph navigateFocusForward ].
(aBuilder shortcut: #navigateFocusBackwardCtrl)
    category: #MorphFocusCtrlNavigation
    default: $k ctrl asKeyCombination
    do: [ :target :morph :event | morph navigateFocusBackward ].
(aBuilder shortcut: #navigateVisibleWindowForward)
    category: #MorphFocusCtrlNavigation
    default: Character tab ctrl asKeyCombination
    do: [ :target :morph :event | World navigateVisibleWindowForward ].
(aBuilder shortcut: #navigateWindowForward)
    category: #MorphFocusCtrlNavigation
    default: $l ctrl asKeyCombination
    do: [ :target :morph :event | World navigateWindowForward ].
(aBuilder shortcut: #navigateWindowBackward)
    category: #MorphFocusCtrlNavigation
    default: $; ctrl asKeyCombination
    do: [ :target :morph :event | World navigateWindowBackward  ]

虽然类别可能不正确,但它可以工作......(而#MorphFocusNavigation 不正确!)

于 2017-06-16T18:44:25.810 回答
1

使用 halo 菜单在窗口对象上调出一个检查器。然后在检查器中切换到“键”选项卡。在那里您可以看到与变形相关的所有快捷方式。选择您感兴趣的 (Alt+TAB) 将在右侧打开一个新的检查器窗格。“源代码”显示并突出显示定义键绑定的源代码。浏览方法,编辑它,保存它,重置键映射(KMRepository 重置),你应该完成了。

于 2015-05-15T19:40:35.880 回答