Estou usando o Arch Linux com Gnome 47 e Wayland e quero usar o Midnight Commander para mcedit
editar arquivos de texto no formato gnome-terminal
.
O mcedit usa por padrão as teclas de atalho Shift-Insert
e Ctrl-Insert
para colar e copiar texto. Mas isso não funciona porque "algo" está interceptando essas teclas de atalho para copiar/colar do buffer de seleção primário. Não sei se isso é controlado pelo Gnome, Wayland ou pelo próprio Linux.
Eu sei que posso escolher outras teclas de atalho para copiar/colar no mcedit, mas eu preferiria manter esses padrões e fazê-los funcionar, para que eu possa usar SSH em outras máquinas e usar o mcedit lá sem alterar a configuração do mc em cada máquina. Então eu quero consertar o problema raiz em vez de usar soluções alternativas.
Como posso desabilitar essas teclas de atalho globais no Gnome/Wayland/Linux? Elas não são definidas nas preferências de teclas de atalho do gnome-terminal ou nas preferências do gnome, então não posso simplesmente remover a vinculação. No entanto, posso adicioná-las como teclas de atalho nas preferências do gnome e mapeá-las para algum comando, mas isso não me ajuda a fazer com que essas teclas apareçam como pressionamentos de tecla normais no gnome-terminal para que eu possa vinculá-las no Midnight Commander.
O problema também pode ser reproduzido sem o Midnight Commander simplesmente executando cat
no gnome-terminal:
- Del, Shift-Del e Ctrl-Del geram as saídas
^[[3~
,^[[3;2~
conforme^[[3;5~
esperado. - Insert gera a saída
^[[2~
enquanto Shift-Insert e Ctrl-Insert não fazem nada. O que eu esperaria é que essas teclas produzissem^[[2;2~
e^[[2;5~
.
Infelizmente, essas combinações de teclas são codificadas no GNOME Terminal (na verdade, no VTE e, portanto, em todos os emuladores de terminal baseados em VTE). Se você não for contra recompilar o VTE e sobrescrever o fornecido pela sua distribuição, você deve remover essas linhas:
https://gitlab.gnome.org/GNOME/vte/-/blob/0.78.3/src/vte.cc?ref_type=tags#L5280-5294
e recompilar o VTE. De preferência, use a versão enviada pela sua distro, usando os mesmos sinalizadores de compilação e patches e tudo mais, seguindo os passos que sua distro toma ao criar o pacote. Mas você pode, é claro, escolher fazer do seu jeito.