Open undersquire opened 9 months ago
First look at https://wezfurlong.org/wezterm/config/keyboard-concepts.html#macos-left-and-right-option-key Then if this is still an issue, run through https://wezfurlong.org/wezterm/troubleshooting.html#debugging-keyboard-related-issues and share the information here.
Took a look at the macOS left-right settings, however that seemed to have no affect.
Debugging the keys, here is what I got when pressing Option + Shift + 1:
10:18:44.033 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Char('!'), modifiers: SHIFT | ALT | LEFT_ALT, leds: (empty), phys_code: Some(K1), raw_code: 18, repeat_count: 1, key_is_down: true, handled: Handled(false) }
10:18:44.034 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('!'), modifiers: SHIFT | ALT | LEFT_ALT, leds: (empty), repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Char('!'), modifiers: SHIFT | ALT | LEFT_ALT, leds: (empty), phys_code: Some(K1), raw_code: 18, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
10:18:44.034 INFO wezterm_gui::termwindow::keyevent > Char('!') SHIFT | ALT | LEFT_ALT -> send to pane Char('!') SHIFT | ALT | LEFT_ALT
10:18:44.034 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{1b}!", Char('!') SHIFT | ALT | LEFT_ALT
10:18:44.116 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Char('!'), modifiers: SHIFT | ALT | LEFT_ALT, leds: (empty), phys_code: Some(K1), raw_code: 18, repeat_count: 1, key_is_down: false, handled: Handled(false) }
10:18:44.116 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: Char('!'), modifiers: SHIFT | ALT | LEFT_ALT, leds: (empty), repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Char('!'), modifiers: SHIFT | ALT | LEFT_ALT, leds: (empty), phys_code: Some(K1), raw_code: 18, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
10:18:44.116 INFO wezterm_gui::termwindow::keyevent > Char('!') SHIFT | ALT | LEFT_ALT -> send to pane Char('!') SHIFT | ALT | LEFT_ALT
So I noticed it is detecting it as an exclamation mark. I tried changing my binding to !
with mods ALT
, but that also isn't triggered.
I also tried setting config.send_composed_key_when_left_alt_is_pressed = true/false
in all of these tests but to no avail.
Here is the output from wezterm show-keys --lua
:
return {
keys = {
{ key = 'Space', mods = 'SHIFT|ALT', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } },
{ key = '!', mods = 'ALT', action = act.ActivateTab(4) },
{ key = '-', mods = 'ALT', action = act.DecreaseFontSize },
{ key = '1', mods = 'ALT', action = act.ActivateTab(0) },
{ key = '1', mods = 'SHIFT|ALT', action = act.ActivateTab(4) },
{ key = '2', mods = 'ALT', action = act.ActivateTab(1) },
{ key = '2', mods = 'SHIFT|ALT', action = act.ActivateTab(5) },
{ key = '3', mods = 'ALT', action = act.ActivateTab(2) },
{ key = '3', mods = 'SHIFT|ALT', action = act.ActivateTab(6) },
{ key = '4', mods = 'ALT', action = act.ActivateTab(3) },
{ key = '4', mods = 'SHIFT|ALT', action = act.ActivateTab(7) },
{ key = '5', mods = 'ALT', action = act.ActivateTab(4) },
{ key = '5', mods = 'SHIFT|ALT', action = act.ActivateTab(8) },
{ key = '6', mods = 'ALT', action = act.ActivateTab(5) },
{ key = '6', mods = 'SHIFT|ALT', action = act.ActivateTab(9) },
{ key = '7', mods = 'ALT', action = act.ActivateTab(6) },
{ key = '7', mods = 'SHIFT|ALT', action = act.ActivateTab(10) },
{ key = '8', mods = 'ALT', action = act.ActivateTab(7) },
{ key = '8', mods = 'SHIFT|ALT', action = act.ActivateTab(11) },
{ key = '=', mods = 'ALT', action = act.IncreaseFontSize },
{ key = 'C', mods = 'ALT', action = act.ActivateCopyMode },
{ key = 'H', mods = 'ALT', action = act.SplitPane{ command = { domain = 'CurrentPaneDomain' }, direction = 'Left', size = { Percent = (50) }, top_level = false } },
{ key = 'J', mods = 'ALT', action = act.SplitPane{ command = { domain = 'CurrentPaneDomain' }, direction = 'Down', size = { Percent = (50) }, top_level = false } },
{ key = 'K', mods = 'ALT', action = act.SplitPane{ command = { domain = 'CurrentPaneDomain' }, direction = 'Up', size = { Percent = (50) }, top_level = false } },
{ key = 'L', mods = 'ALT', action = act.SplitPane{ command = { domain = 'CurrentPaneDomain' }, direction = 'Right', size = { Percent = (50) }, top_level = false } },
{ key = 'V', mods = 'ALT', action = act.PasteFrom 'PrimarySelection' },
{ key = 'W', mods = 'ALT', action = act.CloseCurrentTab{ confirm = true } },
{ key = '[', mods = 'ALT', action = act.ActivateTabRelative(-1) },
{ key = ']', mods = 'ALT', action = act.ActivateTabRelative(1) },
{ key = '_', mods = 'ALT', action = act.ResetFontSize },
{ key = 'c', mods = 'ALT', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } },
{ key = 'h', mods = 'ALT', action = act.ActivatePaneDirection 'Left' },
{ key = 'j', mods = 'ALT', action = act.ActivatePaneDirection 'Down' },
{ key = 'k', mods = 'ALT', action = act.ActivatePaneDirection 'Up' },
{ key = 'l', mods = 'ALT', action = act.ActivatePaneDirection 'Right' },
{ key = 'p', mods = 'ALT', action = act.ActivateCommandPalette },
{ key = 'q', mods = 'ALT', action = act.QuitApplication },
{ key = 'r', mods = 'ALT', action = act.ResetTerminal },
{ key = 't', mods = 'ALT', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 'v', mods = 'ALT', action = act.PasteFrom 'Clipboard' },
{ key = 'w', mods = 'ALT', action = act.CloseCurrentPane{ confirm = true } },
},
key_tables = {
copy_mode = {
{ key = 'Tab', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' },
{ key = 'Tab', mods = 'SHIFT', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'Enter', mods = 'NONE', action = act.CopyMode 'MoveToStartOfNextLine' },
{ key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' },
{ key = 'Space', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } },
{ key = '$', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' },
{ key = '$', mods = 'SHIFT', action = act.CopyMode 'MoveToEndOfLineContent' },
{ key = ',', mods = 'NONE', action = act.CopyMode 'JumpReverse' },
{ key = '0', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' },
{ key = ';', mods = 'NONE', action = act.CopyMode 'JumpAgain' },
{ key = 'F', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = false } } },
{ key = 'F', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = false } } },
{ key = 'G', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackBottom' },
{ key = 'G', mods = 'SHIFT', action = act.CopyMode 'MoveToScrollbackBottom' },
{ key = 'H', mods = 'NONE', action = act.CopyMode 'MoveToViewportTop' },
{ key = 'H', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportTop' },
{ key = 'L', mods = 'NONE', action = act.CopyMode 'MoveToViewportBottom' },
{ key = 'L', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportBottom' },
{ key = 'M', mods = 'NONE', action = act.CopyMode 'MoveToViewportMiddle' },
{ key = 'M', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportMiddle' },
{ key = 'O', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' },
{ key = 'O', mods = 'SHIFT', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' },
{ key = 'T', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = true } } },
{ key = 'T', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = true } } },
{ key = 'V', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Line' } },
{ key = 'V', mods = 'SHIFT', action = act.CopyMode{ SetSelectionMode = 'Line' } },
{ key = '^', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLineContent' },
{ key = '^', mods = 'SHIFT', action = act.CopyMode 'MoveToStartOfLineContent' },
{ key = 'b', mods = 'NONE', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'b', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'b', mods = 'CTRL', action = act.CopyMode 'PageUp' },
{ key = 'c', mods = 'CTRL', action = act.CopyMode 'Close' },
{ key = 'd', mods = 'CTRL', action = act.CopyMode{ MoveByPage = (0.5) } },
{ key = 'e', mods = 'NONE', action = act.CopyMode 'MoveForwardWordEnd' },
{ key = 'f', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = false } } },
{ key = 'f', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' },
{ key = 'f', mods = 'CTRL', action = act.CopyMode 'PageDown' },
{ key = 'g', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackTop' },
{ key = 'g', mods = 'CTRL', action = act.CopyMode 'Close' },
{ key = 'h', mods = 'NONE', action = act.CopyMode 'MoveLeft' },
{ key = 'j', mods = 'NONE', action = act.CopyMode 'MoveDown' },
{ key = 'k', mods = 'NONE', action = act.CopyMode 'MoveUp' },
{ key = 'l', mods = 'NONE', action = act.CopyMode 'MoveRight' },
{ key = 'm', mods = 'ALT', action = act.CopyMode 'MoveToStartOfLineContent' },
{ key = 'o', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEnd' },
{ key = 'q', mods = 'NONE', action = act.CopyMode 'Close' },
{ key = 't', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = true } } },
{ key = 'u', mods = 'CTRL', action = act.CopyMode{ MoveByPage = (-0.5) } },
{ key = 'v', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } },
{ key = 'v', mods = 'CTRL', action = act.CopyMode{ SetSelectionMode = 'Block' } },
{ key = 'w', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' },
{ key = 'y', mods = 'NONE', action = act.Multiple{ { CopyTo = 'ClipboardAndPrimarySelection' }, { CopyMode = 'Close' } } },
{ key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PageUp' },
{ key = 'PageDown', mods = 'NONE', action = act.CopyMode 'PageDown' },
{ key = 'End', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' },
{ key = 'Home', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' },
{ key = 'LeftArrow', mods = 'NONE', action = act.CopyMode 'MoveLeft' },
{ key = 'LeftArrow', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'RightArrow', mods = 'NONE', action = act.CopyMode 'MoveRight' },
{ key = 'RightArrow', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' },
{ key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'MoveUp' },
{ key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'MoveDown' },
},
search_mode = {
{ key = 'Enter', mods = 'NONE', action = act.CopyMode 'PriorMatch' },
{ key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' },
{ key = 'n', mods = 'CTRL', action = act.CopyMode 'NextMatch' },
{ key = 'p', mods = 'CTRL', action = act.CopyMode 'PriorMatch' },
{ key = 'r', mods = 'CTRL', action = act.CopyMode 'CycleMatchType' },
{ key = 'u', mods = 'CTRL', action = act.CopyMode 'ClearPattern' },
{ key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PriorMatchPage' },
{ key = 'PageDown', mods = 'NONE', action = act.CopyMode 'NextMatchPage' },
{ key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'PriorMatch' },
{ key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'NextMatch' },
},
}
}
... Notably:
{ key = '!', mods = 'ALT', action = act.ActivateTab(4) },
{ key = '1', mods = 'ALT', action = act.ActivateTab(0) },
{ key = '1', mods = 'SHIFT|ALT', action = act.ActivateTab(4) },
Hello! I also had the same issue in using Alt + ←
.
From logs of mine and @undersquire, I thought that the terminal receives an event Alt + Left Alt + ...
instead of Alt + ...
, am I right?
Key event log:
13:53:54.256 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Char('\u{f702}'), modifiers: ALT | LEFT_ALT, leds: (empty), phys_code: Some(LeftArrow), raw_code: 123, repeat_count: 1, key_is_down: true, handled: Handled(false) }
13:53:54.257 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftArrow, modifiers: ALT | LEFT_ALT, leds: (empty), repeat_count: 1, key_is_down: true, raw: Some(RawKeyEvent { key: Char('\u{f702}'), modifiers: ALT | LEFT_ALT, leds: (empty), phys_code: Some(LeftArrow), raw_code: 123, repeat_count: 1, key_is_down: true, handled: Handled(false) }) }
13:53:54.257 INFO wezterm_gui::termwindow::keyevent > LeftArrow ALT | LEFT_ALT -> send to pane LeftArrow ALT | LEFT_ALT
13:53:54.257 INFO wezterm_term::terminalstate::keyboard > key_down: sending "\u{1b}[1;3D", LeftArrow ALT | LEFT_ALT
13:53:54.344 INFO wezterm_gui::termwindow::keyevent > key_event RawKeyEvent { key: Char('\u{f702}'), modifiers: ALT | LEFT_ALT, leds: (empty), phys_code: Some(LeftArrow), raw_code: 123, repeat_count: 1, key_is_down: false, handled: Handled(false) }
13:53:54.344 INFO wezterm_gui::termwindow::keyevent > key_event KeyEvent { key: LeftArrow, modifiers: ALT | LEFT_ALT, leds: (empty), repeat_count: 1, key_is_down: false, raw: Some(RawKeyEvent { key: Char('\u{f702}'), modifiers: ALT | LEFT_ALT, leds: (empty), phys_code: Some(LeftArrow), raw_code: 123, repeat_count: 1, key_is_down: false, handled: Handled(false) }) }
13:53:54.344 INFO wezterm_gui::termwindow::keyevent > LeftArrow ALT | LEFT_ALT -> send to pane LeftArrow ALT | LEFT_ALT
Results from wezterm show-keys --lua
:
return {
keys = {
{ key = 'Tab', mods = 'CTRL', action = act.ActivateTabRelative(1) },
{ key = 'Tab', mods = 'SHIFT|CTRL', action = act.ActivateTabRelative(-1) },
{ key = 'Enter', mods = 'ALT', action = act.ToggleFullScreen },
{ key = '!', mods = 'CTRL', action = act.ActivateTab(0) },
{ key = '!', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) },
{ key = '\"', mods = 'ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } },
{ key = '\"', mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } },
{ key = '#', mods = 'CTRL', action = act.ActivateTab(2) },
{ key = '#', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) },
{ key = '$', mods = 'CTRL', action = act.ActivateTab(3) },
{ key = '$', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) },
{ key = '%', mods = 'CTRL', action = act.ActivateTab(4) },
{ key = '%', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) },
{ key = '%', mods = 'ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } },
{ key = '%', mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } },
{ key = '&', mods = 'CTRL', action = act.ActivateTab(6) },
{ key = '&', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) },
{ key = '\'', mods = 'SHIFT|ALT|CTRL', action = act.SplitVertical{ domain = 'CurrentPaneDomain' } },
{ key = '(', mods = 'CTRL', action = act.ActivateTab(-1) },
{ key = '(', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) },
{ key = ')', mods = 'CTRL', action = act.ResetFontSize },
{ key = ')', mods = 'SHIFT|CTRL', action = act.ResetFontSize },
{ key = '*', mods = 'CTRL', action = act.ActivateTab(7) },
{ key = '*', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) },
{ key = '+', mods = 'CTRL', action = act.IncreaseFontSize },
{ key = '+', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
{ key = '-', mods = 'CTRL', action = act.DecreaseFontSize },
{ key = '-', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize },
{ key = '-', mods = 'SUPER', action = act.DecreaseFontSize },
{ key = '0', mods = 'CTRL', action = act.ResetFontSize },
{ key = '0', mods = 'SHIFT|CTRL', action = act.ResetFontSize },
{ key = '0', mods = 'SUPER', action = act.ResetFontSize },
{ key = '1', mods = 'SHIFT|CTRL', action = act.ActivateTab(0) },
{ key = '1', mods = 'SUPER', action = act.ActivateTab(0) },
{ key = '2', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) },
{ key = '2', mods = 'SUPER', action = act.ActivateTab(1) },
{ key = '3', mods = 'SHIFT|CTRL', action = act.ActivateTab(2) },
{ key = '3', mods = 'SUPER', action = act.ActivateTab(2) },
{ key = '4', mods = 'SHIFT|CTRL', action = act.ActivateTab(3) },
{ key = '4', mods = 'SUPER', action = act.ActivateTab(3) },
{ key = '5', mods = 'SHIFT|CTRL', action = act.ActivateTab(4) },
{ key = '5', mods = 'SHIFT|ALT|CTRL', action = act.SplitHorizontal{ domain = 'CurrentPaneDomain' } },
{ key = '5', mods = 'SUPER', action = act.ActivateTab(4) },
{ key = '6', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) },
{ key = '6', mods = 'SUPER', action = act.ActivateTab(5) },
{ key = '7', mods = 'SHIFT|CTRL', action = act.ActivateTab(6) },
{ key = '7', mods = 'SUPER', action = act.ActivateTab(6) },
{ key = '8', mods = 'SHIFT|CTRL', action = act.ActivateTab(7) },
{ key = '8', mods = 'SUPER', action = act.ActivateTab(7) },
{ key = '9', mods = 'SHIFT|CTRL', action = act.ActivateTab(-1) },
{ key = '9', mods = 'SUPER', action = act.ActivateTab(-1) },
{ key = '=', mods = 'CTRL', action = act.IncreaseFontSize },
{ key = '=', mods = 'SHIFT|CTRL', action = act.IncreaseFontSize },
{ key = '=', mods = 'SUPER', action = act.IncreaseFontSize },
{ key = '@', mods = 'CTRL', action = act.ActivateTab(1) },
{ key = '@', mods = 'SHIFT|CTRL', action = act.ActivateTab(1) },
{ key = 'C', mods = 'CTRL', action = act.CopyTo 'Clipboard' },
{ key = 'C', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' },
{ key = 'F', mods = 'CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
{ key = 'F', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
{ key = 'H', mods = 'CTRL', action = act.HideApplication },
{ key = 'H', mods = 'SHIFT|CTRL', action = act.HideApplication },
{ key = 'K', mods = 'CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
{ key = 'K', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
{ key = 'L', mods = 'CTRL', action = act.ShowDebugOverlay },
{ key = 'L', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay },
{ key = 'M', mods = 'CTRL', action = act.Hide },
{ key = 'M', mods = 'SHIFT|CTRL', action = act.Hide },
{ key = 'N', mods = 'CTRL', action = act.SpawnWindow },
{ key = 'N', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
{ key = 'P', mods = 'CTRL', action = act.ActivateCommandPalette },
{ key = 'P', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
{ key = 'Q', mods = 'CTRL', action = act.QuitApplication },
{ key = 'Q', mods = 'SHIFT|CTRL', action = act.QuitApplication },
{ key = 'R', mods = 'CTRL', action = act.ReloadConfiguration },
{ key = 'R', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
{ key = 'T', mods = 'CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 'T', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 'U', mods = 'CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } },
{ key = 'U', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } },
{ key = 'V', mods = 'CTRL', action = act.PasteFrom 'Clipboard' },
{ key = 'V', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
{ key = 'W', mods = 'CTRL', action = act.CloseCurrentTab{ confirm = true } },
{ key = 'W', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } },
{ key = 'X', mods = 'CTRL', action = act.ActivateCopyMode },
{ key = 'X', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode },
{ key = 'Z', mods = 'CTRL', action = act.TogglePaneZoomState },
{ key = 'Z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState },
{ key = '[', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) },
{ key = ']', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) },
{ key = '^', mods = 'CTRL', action = act.ActivateTab(5) },
{ key = '^', mods = 'SHIFT|CTRL', action = act.ActivateTab(5) },
{ key = '_', mods = 'CTRL', action = act.DecreaseFontSize },
{ key = '_', mods = 'SHIFT|CTRL', action = act.DecreaseFontSize },
{ key = 'c', mods = 'SHIFT|CTRL', action = act.CopyTo 'Clipboard' },
{ key = 'c', mods = 'SUPER', action = act.CopyTo 'Clipboard' },
{ key = 'f', mods = 'SHIFT|CTRL', action = act.Search 'CurrentSelectionOrEmptyString' },
{ key = 'f', mods = 'SUPER', action = act.Search 'CurrentSelectionOrEmptyString' },
{ key = 'h', mods = 'SHIFT|CTRL', action = act.HideApplication },
{ key = 'h', mods = 'SUPER', action = act.HideApplication },
{ key = 'k', mods = 'SHIFT|CTRL', action = act.ClearScrollback 'ScrollbackOnly' },
{ key = 'k', mods = 'SUPER', action = act.ClearScrollback 'ScrollbackOnly' },
{ key = 'l', mods = 'SHIFT|CTRL', action = act.ShowDebugOverlay },
{ key = 'm', mods = 'SHIFT|CTRL', action = act.Hide },
{ key = 'm', mods = 'SUPER', action = act.Hide },
{ key = 'n', mods = 'SHIFT|CTRL', action = act.SpawnWindow },
{ key = 'n', mods = 'SUPER', action = act.SpawnWindow },
{ key = 'p', mods = 'SHIFT|CTRL', action = act.ActivateCommandPalette },
{ key = 'q', mods = 'SHIFT|CTRL', action = act.QuitApplication },
{ key = 'q', mods = 'SUPER', action = act.QuitApplication },
{ key = 'r', mods = 'SHIFT|CTRL', action = act.ReloadConfiguration },
{ key = 'r', mods = 'SUPER', action = act.ReloadConfiguration },
{ key = 't', mods = 'SHIFT|CTRL', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 't', mods = 'SUPER', action = act.SpawnTab 'CurrentPaneDomain' },
{ key = 'u', mods = 'SHIFT|CTRL', action = act.CharSelect{ copy_on_select = true, copy_to = 'ClipboardAndPrimarySelection' } },
{ key = 'v', mods = 'SHIFT|CTRL', action = act.PasteFrom 'Clipboard' },
{ key = 'v', mods = 'SUPER', action = act.PasteFrom 'Clipboard' },
{ key = 'w', mods = 'SHIFT|CTRL', action = act.CloseCurrentTab{ confirm = true } },
{ key = 'w', mods = 'SUPER', action = act.CloseCurrentTab{ confirm = true } },
{ key = 'x', mods = 'SHIFT|CTRL', action = act.ActivateCopyMode },
{ key = 'z', mods = 'SHIFT|CTRL', action = act.TogglePaneZoomState },
{ key = '{', mods = 'SUPER', action = act.ActivateTabRelative(-1) },
{ key = '{', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(-1) },
{ key = '}', mods = 'SUPER', action = act.ActivateTabRelative(1) },
{ key = '}', mods = 'SHIFT|SUPER', action = act.ActivateTabRelative(1) },
{ key = 'phys:Space', mods = 'SHIFT|CTRL', action = act.QuickSelect },
{ key = 'PageUp', mods = 'SHIFT', action = act.ScrollByPage(-1) },
{ key = 'PageUp', mods = 'CTRL', action = act.ActivateTabRelative(-1) },
{ key = 'PageUp', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(-1) },
{ key = 'PageDown', mods = 'SHIFT', action = act.ScrollByPage(1) },
{ key = 'PageDown', mods = 'CTRL', action = act.ActivateTabRelative(1) },
{ key = 'PageDown', mods = 'SHIFT|CTRL', action = act.MoveTabRelative(1) },
{ key = 'LeftArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Left' },
{ key = 'LeftArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Left', 1 } },
{ key = 'RightArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Right' },
{ key = 'RightArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Right', 1 } },
{ key = 'UpArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Up' },
{ key = 'UpArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Up', 1 } },
{ key = 'DownArrow', mods = 'SHIFT|CTRL', action = act.ActivatePaneDirection 'Down' },
{ key = 'DownArrow', mods = 'SHIFT|ALT|CTRL', action = act.AdjustPaneSize{ 'Down', 1 } },
{ key = 'Copy', mods = 'NONE', action = act.CopyTo 'Clipboard' },
{ key = 'Paste', mods = 'NONE', action = act.PasteFrom 'Clipboard' },
},
key_tables = {
copy_mode = {
{ key = 'Tab', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' },
{ key = 'Tab', mods = 'SHIFT', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'Enter', mods = 'NONE', action = act.CopyMode 'MoveToStartOfNextLine' },
{ key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' },
{ key = 'Space', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } },
{ key = '$', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' },
{ key = '$', mods = 'SHIFT', action = act.CopyMode 'MoveToEndOfLineContent' },
{ key = ',', mods = 'NONE', action = act.CopyMode 'JumpReverse' },
{ key = '0', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' },
{ key = ';', mods = 'NONE', action = act.CopyMode 'JumpAgain' },
{ key = 'F', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = false } } },
{ key = 'F', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = false } } },
{ key = 'G', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackBottom' },
{ key = 'G', mods = 'SHIFT', action = act.CopyMode 'MoveToScrollbackBottom' },
{ key = 'H', mods = 'NONE', action = act.CopyMode 'MoveToViewportTop' },
{ key = 'H', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportTop' },
{ key = 'L', mods = 'NONE', action = act.CopyMode 'MoveToViewportBottom' },
{ key = 'L', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportBottom' },
{ key = 'M', mods = 'NONE', action = act.CopyMode 'MoveToViewportMiddle' },
{ key = 'M', mods = 'SHIFT', action = act.CopyMode 'MoveToViewportMiddle' },
{ key = 'O', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' },
{ key = 'O', mods = 'SHIFT', action = act.CopyMode 'MoveToSelectionOtherEndHoriz' },
{ key = 'T', mods = 'NONE', action = act.CopyMode{ JumpBackward = { prev_char = true } } },
{ key = 'T', mods = 'SHIFT', action = act.CopyMode{ JumpBackward = { prev_char = true } } },
{ key = 'V', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Line' } },
{ key = 'V', mods = 'SHIFT', action = act.CopyMode{ SetSelectionMode = 'Line' } },
{ key = '^', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLineContent' },
{ key = '^', mods = 'SHIFT', action = act.CopyMode 'MoveToStartOfLineContent' },
{ key = 'b', mods = 'NONE', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'b', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'b', mods = 'CTRL', action = act.CopyMode 'PageUp' },
{ key = 'c', mods = 'CTRL', action = act.CopyMode 'Close' },
{ key = 'd', mods = 'CTRL', action = act.CopyMode{ MoveByPage = (0.5) } },
{ key = 'e', mods = 'NONE', action = act.CopyMode 'MoveForwardWordEnd' },
{ key = 'f', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = false } } },
{ key = 'f', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' },
{ key = 'f', mods = 'CTRL', action = act.CopyMode 'PageDown' },
{ key = 'g', mods = 'NONE', action = act.CopyMode 'MoveToScrollbackTop' },
{ key = 'g', mods = 'CTRL', action = act.CopyMode 'Close' },
{ key = 'h', mods = 'NONE', action = act.CopyMode 'MoveLeft' },
{ key = 'j', mods = 'NONE', action = act.CopyMode 'MoveDown' },
{ key = 'k', mods = 'NONE', action = act.CopyMode 'MoveUp' },
{ key = 'l', mods = 'NONE', action = act.CopyMode 'MoveRight' },
{ key = 'm', mods = 'ALT', action = act.CopyMode 'MoveToStartOfLineContent' },
{ key = 'o', mods = 'NONE', action = act.CopyMode 'MoveToSelectionOtherEnd' },
{ key = 'q', mods = 'NONE', action = act.CopyMode 'Close' },
{ key = 't', mods = 'NONE', action = act.CopyMode{ JumpForward = { prev_char = true } } },
{ key = 'u', mods = 'CTRL', action = act.CopyMode{ MoveByPage = (-0.5) } },
{ key = 'v', mods = 'NONE', action = act.CopyMode{ SetSelectionMode = 'Cell' } },
{ key = 'v', mods = 'CTRL', action = act.CopyMode{ SetSelectionMode = 'Block' } },
{ key = 'w', mods = 'NONE', action = act.CopyMode 'MoveForwardWord' },
{ key = 'y', mods = 'NONE', action = act.Multiple{ { CopyTo = 'ClipboardAndPrimarySelection' }, { CopyMode = 'Close' } } },
{ key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PageUp' },
{ key = 'PageDown', mods = 'NONE', action = act.CopyMode 'PageDown' },
{ key = 'End', mods = 'NONE', action = act.CopyMode 'MoveToEndOfLineContent' },
{ key = 'Home', mods = 'NONE', action = act.CopyMode 'MoveToStartOfLine' },
{ key = 'LeftArrow', mods = 'NONE', action = act.CopyMode 'MoveLeft' },
{ key = 'LeftArrow', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
{ key = 'RightArrow', mods = 'NONE', action = act.CopyMode 'MoveRight' },
{ key = 'RightArrow', mods = 'ALT', action = act.CopyMode 'MoveForwardWord' },
{ key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'MoveUp' },
{ key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'MoveDown' },
},
search_mode = {
{ key = 'Enter', mods = 'NONE', action = act.CopyMode 'PriorMatch' },
{ key = 'Escape', mods = 'NONE', action = act.CopyMode 'Close' },
{ key = 'n', mods = 'CTRL', action = act.CopyMode 'NextMatch' },
{ key = 'p', mods = 'CTRL', action = act.CopyMode 'PriorMatch' },
{ key = 'r', mods = 'CTRL', action = act.CopyMode 'CycleMatchType' },
{ key = 'u', mods = 'CTRL', action = act.CopyMode 'ClearPattern' },
{ key = 'PageUp', mods = 'NONE', action = act.CopyMode 'PriorMatchPage' },
{ key = 'PageDown', mods = 'NONE', action = act.CopyMode 'NextMatchPage' },
{ key = 'UpArrow', mods = 'NONE', action = act.CopyMode 'PriorMatch' },
{ key = 'DownArrow', mods = 'NONE', action = act.CopyMode 'NextMatch' },
},
}
}
It seems that configuration for Alt + ←
is recognized:
{ key = 'LeftArrow', mods = 'ALT', action = act.CopyMode 'MoveBackwardWord' },
ALT - h also has issues, no issues on kitty terminal.
I can't toggle the horizontal term on nvchad using wezterm, probably related to this issue.
ALT SHIFT bindings are also an issue for windows.
What Operating System(s) are you seeing this problem on?
macOS
Which Wayland compositor or X11 Window manager(s) are you using?
No response
WezTerm version
20240203-110809-5046fc22
Did you try the latest nightly build to see if the issue is better (or worse!) than your current version?
No, and I'll explain why below
Describe the bug
I tried the following binding on macOS:
However, the keybind doesn't work. The active tab isn't set and instead the number 1 is typed.
To Reproduce
No response
Configuration
Specified earlier.
Expected Behavior
No response
Logs
No response
Anything else?
No response