Skip to content

Instantly share code, notes, and snippets.

@maurofaccenda
Last active April 10, 2024 15:41
Show Gist options
  • Save maurofaccenda/aca92d695220e545c5e7ffd28dc365c4 to your computer and use it in GitHub Desktop.
Save maurofaccenda/aca92d695220e545c5e7ffd28dc365c4 to your computer and use it in GitHub Desktop.
hs.hotkey.bind({}, "§", function() hs.eventtap.keyStroke({}, "`") end )
hs.hotkey.bind({ "cmd" }, "§", function() hs.eventtap.keyStroke({ "cmd" }, "`") end )
hs.hotkey.bind({ "shift" }, "§", function() hs.eventtap.keyStroke({ "shift" }, "`") end )
hs.hotkey.bind({ "cmd", "shift" }, "§", function() hs.eventtap.keyStroke({ "cmd", "shift" }, "`") end )
@ghigt
Copy link

ghigt commented Jan 15, 2024

I exactly want the same behavior you describe (shift + backtick producing ~). It doesn't works and still print ±.

It looks like hs.hotkey.bind({ "shift" }, "§", function() hs.eventtap.keyStroke({ "shift" }, "`") end ) doesn't behave well for me.

@maurofaccenda
Copy link
Author

maurofaccenda commented Jan 15, 2024

@ghigt I am sorry to hear that. It works fine for me. You can also play with some debugging and see what's going on.
I used this (paste on the console and once you are done, just reload config) it might help identify the problem:

local function keyCallback(event)
    hs.alert(hs.keycodes.map[event:getKeyCode()])
end

keyWatcher = hs.eventtap.new({ hs.eventtap.event.types.keyDown }, keyCallback)
keyWatcher:start()

As for reference, after pasting that on the console and pressing shift+§ I get 2 notifications: one with § and another with backtick.

@ghigt
Copy link

ghigt commented Jan 15, 2024

After testing with your debug, I finally saw that the ~ worked out of the MacOS Terminal app (it works fine with iTerm though). So I don't know why but it works everywhere except in the app I want to use it 😄

Big thanks for your help!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment