2011-09-24 21 views
3

您可以重映射Keymando中的CapsLock密钥吗?重新映射Keymando中的Capslock Key?

CapsLocklisted as an available key但是当我尝试像一个测试:

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

...并在Keymando菜单打Reload Config,我得到一个错误对话框,说:

错误解析Keymando配置文件

未定义的方法'ctrl'为零:NilClass

有没有可能是CapsLock的缩写?例如,在可用密钥中,控制密钥仅列为Control,但在示例代码中为ctrl。是否有类似的缩写CapsLock

如果可能的话,我想用CapsLock键作为一个模式键来实现类似的逻辑:

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

回答

2

对不起,这是我们的一部分,网页上列出大写锁定一个错误。目前它只能通过“Modifer Keys ..”下的Keyboard.prefPane重新映射到Control,Option或Command,现在我们无法检测它是否被按下。

我们会继续关注解决方案,但现在它不会去做你想做的事。抱歉。

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

+0

我已经开始怀疑,大写字母锁的关键事件被埋没了。当大写锁定关闭时发送的实际键码是移位的键值,例如F或@或}而不是大写锁定和f。 – TechZen

1

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

在你的顶部keymandorc地说:

@caps = false 

然后下来,无论你定义的绑定把类似下面的

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

然后,您可以还结合逃生退出模式,如果@caps是真实的,依此类推。