3

您可以重新映射KeymandoCapsLock中的密钥吗?

CapsLock列为可用密钥,但是当我尝试如下测试时:

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

...然后点击Reload ConfigKeymando 菜单,我收到一个错误对话框,上面写着:

解析 Keymando 配置文件时出错

nil:NilClass 的未定义方法“ctrl”

是否有缩写CapsLock?例如,在可用键中,Control 键仅列出为,Control但在示例代码中为ctrl。有类似的缩写CapsLock吗?

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

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

2 回答 2

2

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

我们将密切关注解决方案,但截至目前,它不会做你想要的。对不起。

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

于 2011-09-27T04:51:17.377 回答
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 为真,您还可以绑定escape 以退出模式,依此类推。

于 2012-01-08T01:08:14.997 回答