Eugeny/tabby

Key mapping

gigi206 opened this issue · 10 comments

It seems that some keys are not well mapped:

You can test with the comand showkey -a.

key terminus gnome-terminal
Ctrl+Left-arrow ^[b ^[[1;5D
Ctrl+Right-arrow ^[f [[1;5C
Ctrl+Up-arrow ^[[1;5A [[1;5A
Ctrl+Down-arrow ^[[1;5B [[1;5B
Alt+Left-arrow ^[[1;5D [[1;3D
Alt+Right-arrow ^[[1;5C [[1;3C
Alt+Up-arrow ^[[1;5A [[1;3A
Alt+Down-arrow ^[[1;5B [[1;3B

Example: this is the same key code for Ctrl+Up-arrow and Altl+Up-arrow

It seems other keys are well mapped.

Hi,

Looks like there is some issue with Page keys also. No Affect of Ctrl or Alt

key terminus konsole
PgUp ^[[5~ ^[[5~
PgDn ^[[6~ ^[[6~
C-PgUp ^[[5~ ^[[5;5~
C-PgDn ^[[6~ ^[[6;5~
A-PgUp ^[[5~ ^[[5;3~
A-PgDn ^[[6~ ^[[6;3~

Thanks & Regards,
Sriram.K

stale commented

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in two weeks unless you comment.
Thank you for your contributions.

Hey, is there any ETA on when to expect a fix? I wanted to use Terminus but I rely heavily on byobu / tmux and not having Alt+Arrow is making it impossible for me to navigate windows / sessions easily.

Thank you!

rdrms commented

This is a pretty big issue for me, I use weechat and this stops me from being able to change buffers (channels/servers) with alt+arrow keys. It's still possible to change buffers through alt+(number key), or more ridiculously through escape+ arrow keys, but it would really help if this was at least configurable if not fixed out of the box. Just an option where "Alt is Meta" currently to make it act as an "Escape" perhaps?

mio9 commented

This issue renders byobu (a tmux wrapper) unable to navigate between sessions without the need of detaching and reattaching, not a disaster issue to me, but much like a huge rock at my front door that I have to go out with the backdoor. Anyways, we really need that fix especially when sshing to servers

Could you check whether un-assigning the "previous/next word" helps?

The nightly build will now ignore hotkeys and pass-through arrows + modifiers when a full-screen (i.e. alternate buffer) app is active in the terminal.

mio9 commented

image

Issue not resolved, the Alt Arrow key binds still maps wrongly, which basically byobu through ssh partially unusable, and it's my daily workflow to use it.

mio9 commented

Could you check whether un-assigning the "previous/next word" helps?

Still exhibits the same behavior as I tested on nightly build

我刚刚使用tabby,我是tmux的重度使用者,天天使用,今天刚开始安装使用tabby,我也发现了这个问题,无法使用Alt+上下左右箭头来切换到tmux的窗格。刚开始确实不行,不过不知道什么原因现在竟然可以了,在可以之前我试图将tmux上的Alt+箭头切换为Ctrl+箭头来使用(因为我已经无计可施,准备妥协了),但我配置完之后神奇的事情发生了,竟然Alt+箭头可以正常切换了。
这是我的版本:

tmux 3.4
xpf@xpf-ofc:~$ tabby --version
1.0.215
xpf@xpf-ofc:~$

这是我的tmux配置



##################
# 从其他地方拷贝文字到tmux下时,默认是tmux的右键菜单,按住Shift再右键就会调出原有的菜单
##################

# Send prefix
set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix

# 更改分割水平和垂直窗口按键
unbind '"'
bind-key v split-window -v
unbind %
bind-key h split-window -h


# Use Alt-arrow keys to switch panes 
bind -n M-Left select-pane -L 
bind -n M-Right select-pane -R 
bind -n M-Up select-pane -U 
bind -n M-Down select-pane -D

# Use Ctrl-arrow keys to switch panes 
bind -n C-Left select-pane -L 
bind -n C-Right select-pane -R 
bind -n C-Up select-pane -U 
bind -n C-Down select-pane -D

# Shift arrow to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window

# Mouse mode
#set -g mode-mouse on
set -g mouse on
set -g monitor-activity on
set -g xterm-keys on
# 开启鼠标点击选择窗格
#set -g mouse-select-pane on
# 开启鼠标点击选择窗口
#set -g mouse-select-window on
# 开启鼠标调节窗格大小
#set -g mouse-resize-pane on

#set -g mouse-resize-pane on
#set -g mouse-select-pane on
#set -g mouse-select-window on

#tmux source .tmux.conf

#set -g default-terminal "linux"
#set -g default-terminal "screen-256color"

set-window-option -g mode-keys vi

set -g history-limit 600000

# 状态栏配置
# 颜色
set -g status-bg black
set -g status-fg white

# 对齐方式
set-option -g status-justify left # left/centre/right

# 左下角
set-option -g status-left '#[bg=black,fg=green][#[fg=cyan]#S#[fg=green]]'
set-option -g status-left-length 20

# 右下角
#set -g status-right '#[fg=green][#[fg=cyan]%Y-%m-%d %H:%M#[fg=green]]'
set -g status-right '#[fg=green][#[fg=cyan]%m-%d %H:%M#[fg=green]]'

# 窗口列表
setw -g automatic-rename on
set-window-option -g window-status-format '#[dim]#I:#[default]#W#[fg=grey,dim]'
set-window-option -g window-status-current-format '#[fg=cyan,bold]#I#[fg=blue]:#[fg=cyan]#W#[fg=dim]'

这是我的tabby配置(基本没怎么修改)

version: 7
profiles: []
groups: []
configSync:
  parts: {}
hotkeys:
  toggle-window: []
  copy-current-path: []
  ctrl-c:
    - Ctrl-C
  copy:
    - Ctrl-Shift-C
  paste:
    - Ctrl-Shift-V
    - Shift-Insert
  select-all:
    - Ctrl-Shift-A
  clear: []
  zoom-in:
    - Ctrl-=
    - Ctrl-Shift-=
  zoom-out:
    - Ctrl--
    - Ctrl-Shift--
  reset-zoom:
    - Ctrl-0
  home:
    - Home
  end:
    - End
  previous-word:
    - Ctrl-Left
  next-word:
    - Ctrl-Right
  delete-previous-word:
    - Ctrl-Backspace
  delete-line:
    - Ctrl-Shift-Backspace
  delete-next-word:
    - Ctrl-Delete
  search:
    - Ctrl-Shift-F
  pane-focus-all:
    - Ctrl-Shift-I
  focus-all-tabs:
    - Ctrl-Alt-Shift-I
  scroll-to-top:
    - Ctrl-PageUp
  scroll-up: []
  scroll-down: []
  scroll-to-bottom:
    - Ctrl-PageDown
  restart-telnet-session: []
  restart-ssh-session: []
  launch-winscp: []
  settings-tab: {}
  settings:
    - Ctrl-,
  serial: []
  restart-serial-session: []
  new-tab:
    - Ctrl-Shift-T
  new-window:
    - Ctrl-Shift-N
  profile: {}
  profile-selectors: {}
  toggle-fullscreen:
    - F11
  close-tab:
    - Ctrl-Shift-W
  reopen-tab:
    - Ctrl-Shift-Z
  toggle-last-tab: []
  rename-tab:
    - Ctrl-Shift-R
  next-tab:
    - Ctrl-Shift-Right
    - Ctrl-Tab
  previous-tab:
    - Ctrl-Shift-Left
    - Ctrl-Shift-Tab
  move-tab-left:
    - Ctrl-Shift-PageUp
  move-tab-right:
    - Ctrl-Shift-PageDown
  rearrange-panes:
    - Ctrl-Shift
  duplicate-tab: []
  restart-tab: []
  reconnect-tab: []
  disconnect-tab: []
  explode-tab:
    - Ctrl-Shift-.
  combine-tabs:
    - Ctrl-Shift-,
  tab-7: []
  tab-8: []
  tab-9: []
  tab-10: []
  tab-11: []
  tab-12: []
  tab-13: []
  tab-14: []
  tab-15: []
  tab-16: []
  tab-17: []
  tab-18: []
  tab-19: []
  tab-20: []
  split-right:
    - Ctrl-Shift-S
  split-bottom:
    - Ctrl-Shift-D
  split-left: []
  split-top: []
  pane-nav-right:
    - Ctrl-Alt-Right
  pane-nav-down:
    - Ctrl-Alt-Down
  pane-nav-up:
    - Ctrl-Alt-Up
  pane-nav-left:
    - Ctrl-Alt-Left
  pane-nav-previous:
    - Ctrl-Alt-[
  pane-nav-next:
    - Ctrl-Alt-]
  pane-nav-1: []
  pane-nav-2: []
  pane-nav-3: []
  pane-nav-4: []
  pane-nav-5: []
  pane-nav-6: []
  pane-nav-7: []
  pane-nav-8: []
  pane-nav-9: []
  pane-maximize:
    - Ctrl-Alt-Enter
  pane-increase-vertical: []
  pane-decrease-vertical: []
  pane-increase-horizontal: []
  pane-decrease-horizontal: []
  close-pane: []
  switch-profile:
    - Ctrl-Alt-T
  profile-selector:
    - Ctrl-Shift-E
  command-selector:
    - Ctrl-Shift-P
  tab-2:
    - Alt-2
  tab-3:
    - Alt-3
  tab-4:
    - Alt-4
  tab-5:
    - Alt-5
  tab-6:
    - Alt-6
  tab-1:
    - Alt-1
terminal:
  searchOptions: {}
  colorScheme:
    name: Desert
    foreground: '#ffffff'
    background: '#333333'
    cursor: '#00ff00'
    colors:
      - '#4d4d4d'
      - '#ff2b2b'
      - '#98fb98'
      - '#f0e68c'
      - '#cd853f'
      - '#ffdead'
      - '#ffa0a0'
      - '#f5deb3'
      - '#555555'
      - '#ff5555'
      - '#55ff55'
      - '#ffff55'
      - '#87ceff'
      - '#ff55ff'
      - '#ffd700'
      - '#ffffff'
  scrollbackLines: 250000
  font: Hack Nerd Font
  customColorSchemes: []
  lightColorScheme:
    name: Afterglow
    foreground: '#d0d0d0'
    background: '#212121'
    cursor: '#d0d0d0'
    colors:
      - '#151515'
      - '#ac4142'
      - '#7e8e50'
      - '#e5b567'
      - '#6c99bb'
      - '#9f4e85'
      - '#7dd6cf'
      - '#d0d0d0'
      - '#505050'
      - '#ac4142'
      - '#7e8e50'
      - '#e5b567'
      - '#6c99bb'
      - '#9f4e85'
      - '#7dd6cf'
      - '#f5f5f5'
  fontSize: 19
  ligatures: true
  fontWeightBold: 600
  minimumContrastRatio: 8
ssh: {}
clickableLinks: {}
accessibility: {}
appearance:
  colorSchemeMode: auto
hacks: {}
pluginBlacklist: []
providerBlacklist: []
commandBlacklist: []
profileDefaults:
  ssh:
    disableDynamicTitle: true
profileBlacklist: []
language: zh-CN

我的可以正常使用了,希望对大家有所帮助