2011-09-24 41 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是真實的,依此類推。