Hammerspoonにinit.lua
と書いてあります。私のkewsを他の人に再マップしたいと思っています。具体的には、私はmacOS上でバックスラッシュキーとdeleteキーを切り替えたいと思います。HammerspoonでCommand + Deleteがもう機能しなくなったとき
しかし、単純な削除とバックスラッシュは正常に動作しますが、私は自分のアプリのフォーカスを別のものに変更して、そこに何かを入力して元のアプリに戻って、削除キー(実際にはスイッチを入れたときのバックスラッシュキー)より長い作業;代わりに、フォーカスを打ち切る前にアプリ内の文字を削除します(つまり、2番目から最後にフォーカスされたアプリ)。しかし、そこに何かを入力してからもう一度削除しようとすると、突然削除が問題なく再開します。
なぜ突然動作しないのだろうか。しかし、それはバグかもしれません。とにかくここに私のinit.lua
は、削除とバックスラッシュを切り替えることです。
local VK_BACKSLASH = 0x2a
local VK_DELETE = 0x33
keyEventtap = hs.eventtap.new({
hs.eventtap.event.types.keyDown
}, function(event)
local bundleId = string.lower(hs.application.frontmostApplication():bundleID())
local keyCode = event:getKeyCode()
local flags = event:getFlags()
if keyCode == VK_DELETE then
if flagsMatches(flags, {'shift'}) then
event:setKeyCode(VK_BACKSLASH)
event:setFlags({shift=true})
else
event:setKeyCode(VK_BACKSLASH)
end
elseif keyCode == VK_BACKSLASH then
event:setKeyCode(VK_DELETE)
end
end)
keyEventtap:start()
私はここで何が欠けていますか?