Remap

Any key does what you say.

Caps Lock sends Escape. Right Alt holds push-to-talk. The Windows key sends nothing. Rebind is free, and each rule is a few lines of Luau.

A keyboard types phrases. Caps Lock is remapped to Escape, Right Alt to F13 for push-to-talk, and the Windows key is swallowed.

The script

The keyboard above, as Luau.

Each Bind claims only its own key. Every other key reaches your apps untouched.

-- rebind: min_sdk=3.0.0
-- rebind: name=Remap

-- Caps Lock sends Escape
Bind("CapsLock", {
  action = function() HID.Down("Escape") end,
  release = function() HID.Up("Escape") end,
})

-- hold Right Alt to talk: F13 is the push-to-talk key
Bind("RAlt", {
  action = function() HID.Down("F13") end,
  release = function() HID.Up("F13") end,
})

-- the Windows key sends nothing
Bind("LWin", function() end)

remap.luau

Three keys, three rules

Set F13 as the push-to-talk key in your voice app. Left Ctrl + Left Alt + K stops every script and releases held keys.

The factory had opinions. You have scripts.

Install Rebind, run the script above, and press Caps Lock.