2016-12-02 48 views
0

我使用的是優化佈局NEO2:https://www.neo-layout.org/捕捉和變更鍵盤上的MAC塞拉利昂效仿NEO2鍵盤佈局

不幸的是,Mac版是基於其已停止自塞拉利昂更新工作鐵鎖(https://pqrs.org/osx/karabiner/)。 有一個很有前途的新版本叫做karabiner元素(https://github.com/tekezo/Karabiner-Elements),希望能夠解決這個問題。

由於我現在不修復mac sierra的問題,我正在尋找一種非通用的「快速和骯髒」的解決方案,它只是將標準德語鍵盤映射到neo佈局。

  1. 是否有可能在全系統範圍內捕獲鍵盤事件?
  2. 我必須使用哪種語言/框架才能實現此解決方法?

回答

1

我會建議使用KeyBindingsEditor創建/編輯鍵綁定文件,該文件應位於/這裏創建:{用戶文件夾} /Library/KeyBindings/DefaultKeyBinding.dict

請注意,您的鍵綁定文件必須使用UTF-8編碼,並且在對它們進行修改後必須重新啓動計算機才能生效。

另外,這裏有一些關於custom key bindings in macOS的更多信息,您可能會對此感興趣。

+0

該程序生成的配置文件不起作用。但通過提供的鏈接,我可以做一些基本的重新映射。這看起來像一個可能的選擇。我將嘗試再次將箭頭鍵映射回去。 – Xlaech

+0

使用這種方法你有沒有成功? –

0

使用上面的解決方案,我能夠得到我的4.層返回一些較小的問題。

這裏是我做的:

第1步:創建一個DefaultKeyBinding.dict文件(我錯了,BindingsEditor作品)

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"  "http://www.apple.com/DTDs/ 
<plist version="1.0"> 
<dict> 
    <key>^a</key> 
    <string>moveDown:</string> 
    <key>^c</key> 
    <string>deleteForward:</string> 
    <key>^e</key> 
    <string>moveForward:</string> 
    <key>^i</key> 
    <string>moveBackward:</string> 
    <key>^l</key> 
    <string>moveUp:</string> 
    <key>^o</key> 
    <string>moveToEndOfLine:</string> 
    <key>^u</key> 
    <string>moveToBeginningOfLine:</string> 
    <key>^v</key> 
    <string>deleteBackward:</string> 
</dict> 
</plist> 

第2步:重映射到Command_Right ctrl_left

Settings in Karabiner-Elements

問題

這種方法似乎不適用於每個程序。映射到CMD + *(這是我真正想要的沒有工作) 這是我打(因爲CTRL + * premapped快捷鍵的可能)周圍只注意到剛纔的幾個問題:

  • Spotlight搜索左邊的快捷方式工作很好,但正確的快捷方式總是呈上行
  • 微軟的Excel應用程序結束使用此快捷方式時,去完全瘋了
  • 這個編輯器,我打字這在使用其他快捷鍵以及

結論

首先,我也想提一提這個博客帖子:http://slongwell.github.io/articles/2016-09/karabiner-workaround

這種方法不會工作在一定程度上,絕對是一個選項,直到鐵鎖解決了這個問題。 但是,如果您找到更好的解決方案,請隨時在這裏發佈。