通过即时反馈重新训练手指(为没有 Esc 键的未来)

通过即时反馈重新训练手指(为没有 Esc 键的未来)

为了未来做好准备并保护我的手腕,我重新映射了一些我常用的键(例如,为了退出,我现在按下/释放大写锁定键;为了控制,我用另一个键按住大写锁定键,为了大写锁定,我按下两个 Shift 键)。

但我希望在我老练的手指敲入禁键时能收到警报和即时反馈。因此,如果我输入ESCCONTROL_L,我希望什么都不发生,屏幕闪烁或发出哔哔声或两者兼而有之。闪烁的红色当然会令人愉快。

更进一步,当我使用“错误”的SHIFT大写字母和特殊字符时,我也不介意尝试发出警报,看看这是否可以帮助我改掉一些旧习惯。

这可能吗?

答案1

以下是我得到我想要的结果的方法。使用tput bel和其他 shell 命令似乎不起作用,但使用osascript -e "beep 1"起作用了。我添加了第二个哔声以使效果更明显。

  1. 安装 Karabiner 和 Seil
  2. 在 OSX 键盘偏好设置中将 Caps Lock 键设置为“无操作”(修饰键)
  3. 设置 Caps Lock 以使用 Seil 发送代码 110
  4. 在 Karabiner 中添加以下私有 XML 并启用每个结果项。

登山扣私有 XML 文件:

<?xml version="1.0"?>
<root>
 <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_beep</name>
    <url type="shell">
      <![CDATA[    /usr/bin/osascript -e "beep 2" ]]>
    </url>
  </vkopenurldef>
  <item>
    <name>Change escape key to beep</name>
    <identifier>private.escape_to_beep</identifier>
    <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::VK_OPEN_URL_SHELL_beep</autogen>
  </item>
  <item>
    <name>Left control key to beep</name>
    <identifier>private.left_control_key_to_beep</identifier>
    <autogen>__KeyToKey__ KeyCode::CONTROL_L, KeyCode::VK_OPEN_URL_SHELL_beep</autogen>
  </item>
  <item>
    <name>Application key to Control_R key</name>
    <appendix>(+ When you type Control_R only, send Escape)</appendix>
    <identifier>private.application2controlR_escape</identifier>
    <autogen>__KeyOverlaidModifier__ KeyCode::PC_APPLICATION, KeyCode::CONTROL_R, KeyCode::ESCAPE</autogen>
  </item>
</root>

我可能会通过编程来扩展此功能,以便对诸如使用错误的 Shift 键之类的事情执行相同的操作。

相关内容