【问题标题】:Remap Capslock Key in Keymando?在 Keymando 中重新映射 Capslock 键?
【发布时间】:2011-11-24 06:15:17
【问题描述】:

您能重新映射Keymando 中的CapsLock 键吗?

CapsLocklisted as an available key 但是当我尝试像这样的测试时:

map "<CapsLock-j>" { alert("CapsLock-j") }

...然后在 Keymando 菜单中点击 Reload Config,我得到一个错误对话框,上面写着:

解析 Keymando 配置文件时出错

nil:NilClass 的未定义方法 `ctrl'

可能有CapsLock 的缩写吗?例如,在可用键中,Control 键仅列为Control,但在示例代码中为ctrlCapsLock有类似的缩写吗?

如果可能,我想使用CapsLock 键作为模式键来实现如下逻辑:

if <CapsLock>
  map <j>, <Down>
  map <k>, <Up>
  # ...etc
end

【问题讨论】:

    标签: ruby macruby remap keymando


    【解决方案1】:

    虽然您无法重新映射大写锁定,但您可以通过向 keymandorc 文件添加一些基本状态来实现几乎相同的功能。我无法弄清楚如何将某些东西单独映射到选项键,但除此之外,这应该可以达到您的目标:

    在你的 keymandorc 的顶部放置:

    @caps = false
    

    然后在你定义绑定的地方放上类似下面的东西

    map "j" do
      if @caps then
        send("<Down>")
      else
        send("j")
      end
    end
    map "<Option-v>" do
      @caps = !@caps;
      alert("Vim Mode: " + @caps.to_s)
    end
    

    如果@caps 为真,您还可以绑定转义以退出模式,依此类推。

    【讨论】:

      【解决方案2】:

      抱歉,我们在网站上列出 Capslock 是一个错误。目前它只能通过“Modifer Keys..”下的 Keyboard.prefPane 重新映射到 Control、Option 或 Command,我们现在无法检测它是否被按下。

      我们会密切关注解决方案,但截至目前,它不会如您所愿。对不起。

      该网站也已修复以避免更多混乱。

      【讨论】:

      • 我开始怀疑大写锁定的关键事件被埋没了。大写锁定关闭时发送的实际键码是移位的键值,例如 F 或 @ 或 } 而不是 caps-lock 和 f。
      猜你喜欢
      • 2015-08-13
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2013-11-29
      • 2020-10-03
      • 2021-09-04
      • 1970-01-01
      相关资源
      最近更新 更多