您可以重新映射Keymando中的CapsLock
密钥吗?
CapsLock
是listed as an available key但是当我尝试像以下测试时一样:
map "<CapsLock-j>" { alert("CapsLock-j") }
...并在Keymando菜单中点击Reload Config
,我收到一个错误对话框,上面写着:
解析Keymando配置文件时出错
未定义的方法`ctrl'代表nil:NilClass
是否有CapsLock
的缩写?例如,在可用键中,Control键仅列为Control
,但在示例代码中为ctrl
。 CapsLock
是否有类似的缩写?
如果可能,我想使用CapsLock
键作为模式键来实现如下逻辑:
if <CapsLock>
map <j>, <Down>
map <k>, <Up>
# ...etc
end
答案 0 :(得分:2)
很抱歉,我们在网站上列出了Capslock的错误。目前它只能通过“Modifer Keys ..”下的Keyboard.prefPane重新映射到Control,Option或Command,现在我们无法检测它是否被按下了。
我们会睁大眼睛寻求解决方案,但截至目前,它不会做你想要的。抱歉。
该网站已经修复,以避免混淆。
答案 1 :(得分: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为true,您还可以绑定escape以退出模式,依此类推。