Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在Keymando中重新映射Capslock键?_Ruby_Macruby_Remap_Keymando - Fatal编程技术网

Ruby 在Keymando中重新映射Capslock键?

Ruby 在Keymando中重新映射Capslock键?,ruby,macruby,remap,keymando,Ruby,Macruby,Remap,Keymando,您可以重新映射CapsLock键吗 CapsLock是,但当我尝试以下测试时: map "<CapsLock-j>" { alert("CapsLock-j") } 对不起,我们在网站上列出Capslock是个错误。目前,它只能通过“Modifier Keys..”下的Keyboard.prefPane重新映射为Control、Option或Command,我们目前无法检测是否按下了它 我们将继续关注解决方案,但从现在起,它不会满足您的要求。对不起 该网站已经修复,以避免更多的混淆

您可以重新映射
CapsLock
键吗

CapsLock
是,但当我尝试以下测试时:

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

对不起,我们在网站上列出Capslock是个错误。目前,它只能通过“Modifier Keys..”下的Keyboard.prefPane重新映射为Control、Option或Command,我们目前无法检测是否按下了它

我们将继续关注解决方案,但从现在起,它不会满足您的要求。对不起


该网站已经修复,以避免更多的混淆。

虽然您无法重新映射capslock,但您可以通过向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
映射“j”do
如果@caps那么
发送(“”)
其他的
发送(“j”)
结束
结束
映射“do”
@大写=@帽子;
警报(“Vim模式:”+@caps.to_s)
结束

如果@caps为true,您还可以绑定escape退出模式。

我开始怀疑caps锁的as key事件被掩埋了。caps lock关闭时发送的实际密钥代码是移位的密钥值,例如F或@or},而不是caps lock和F。
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