SendString

Sends the string specified argument to the terminal in the current tab, as though that text were literally typed into the terminal.

local wezterm = require 'wezterm'

return {
  keys = {
    { key = 'm', mods = 'CMD', action = wezterm.action.SendString 'Hello' },
  },
}

You can also emit escape sequences using SendString. This example shows how to bind Alt-LeftArrow/RightArrow to the Alt-b/f, an emacs style keybinding for moving backwards/forwards through a word in a line editor.

\x1b is the ESC character:

local wezterm = require 'wezterm'
local act = wezterm.action

return {
  keys = {
    -- Make Option-Left equivalent to Alt-b which many line editors interpret as backward-word
    { key = 'LeftArrow', mods = 'OPT', action = act.SendString '\x1bb' },
    -- Make Option-Right equivalent to Alt-f; forward-word
    { key = 'RightArrow', mods = 'OPT', action = act.SendString '\x1bf' },
  },
}

See also SendKey which makes the example above much more convenient, and Multiple for combining multiple actions in a single press.