Mac
Karabiner
Hammerspoon

Karabiner の Use KANA as KANA/EISUU (toggle) を hammerspoon で

More than 1 year has passed since last update.

init.lua

local KEY_CODE_JIS_EISUU = 102
local KEY_CODE_JIS_KANA  = 104

local function isInputSourceKana()
  -- 利用中の IME に合わせて要修正
  -- cf. hs.logger.new('IM', 'debug'):d(hs.inspect(hs.keycodes.methods()))
  return hs.keycodes.currentMethod() == 'ひらがな(ATOK)'
end

local toggleInputSource
toggleInputSource = hs.hotkey.bind({}, KEY_CODE_JIS_KANA, function()
  if isInputSourceKana() then
    return hs.eventtap.keyStroke({}, KEY_CODE_JIS_EISUU, 0)
  end

  toggleInputSource:disable()
  hs.eventtap.keyStroke({}, KEY_CODE_JIS_KANA, 0)
  toggleInputSource:enable()
end)

備考

  • hs.keycodes.setMethodIM をセットするとメニューバー上のアイコンは変わるものの、実際にキーを叩くと意図通りにはならなかったので、英数/かなキーをストロークさせる様に