HammerspoonはmacOSでキーのマッピングを変更することのできるソフトウエアです。
SierraにバージョンアップしたらKarabinerが使えなくなってしまい、Hammerspoonに乗り換えている人もいると思います。(私みたいに)
私はKarabinerで、USキーボードの左下にあるfnキーをcontrolに割り当てていたのですが、それと同じことをHammerspoonで行う設定を書いてみました。
fnと英字キー(とスペースバー)を押したときだけ、fnをcontrolキーに変えています。
(オートリピートのときにちゃんと動くのか自信がありません。)
~/.hammerspoon/init.lua
local handler = function(e)
local key = hs.keycodes.map[e:getKeyCode()]
local fn = e:getFlags()['fn']
if (fn and ((string.len(key) == 1 and 'a' <= key and key <= 'z') or key == 'space')) then
hs.eventtap.keyStroke({'ctrl'}, key, 1000)
return ''
end
end
eventtap = hs.eventtap.new({hs.eventtap.event.types.keyDown}, handler)
eventtap:start()