如何将终端 ctrl+c(中断)设置为 super+c

如何将终端 ctrl+c(中断)设置为 super+c

如何在终端中将ctrl+ c(中断)设置为super+ ?c

  • 任何其他用于发送中断的组合键都是不可接受的。
  • 在终端上下文之外修改ctrl&的行为(例如使用 gnome-tweaks 来翻转它们)是不可接受的。必须保留为并且必须保留为。superctrlctrlsupersuper

答案1

首先,您必须确保克服@johnandmegh 评论中提到的障碍。以某种方式配置您的窗口环境,或选择不同的快捷键。

如果您决定使用Ctrl+C进行复制并使用 ++Ctrl进行中断,即交换这两个键的原始行为,您只需在 GNOME 终端的首选项中将+设置为复制的热键即可。ShiftCCtrlC

如果你想要一些不同的东西,你可能需要修改终端的(事实上静脉血栓栓塞症's) 源代码。这假设您具有 C(实际上是 C++)编程语言的一些基本知识,以及软件或软件包安装的知识。

您可能需要编辑keymap.cc,但更有可能的Terminal::widget_key_press()vte.cc。在我看来,相关部分是评论所说的Replace characters which have "control" counterparts with those counterparts.

终端需要发出一个字节的控制字符,并且stty intr必须配置为该值。如果您不想触碰stty(并处理那里的其他可能冲突),请使用字节 0x03。

编译 VTE 并尝试使用./src/app/vte-2.91。如果不起作用,请将 放在printf()源代码中以了解发生了什么。如果有效,您可能应该遵循 Ubuntu 的构建过程来编译与 Ubuntu 附带的相同版本,也应用 Ubuntu 的补丁,相同的编译选项等等。无论如何,您应该以某种方式用此版本替换系统范围的 VTE 安装,然后退出全部 gnome-terminalwindows。如果您破坏了某些东西,请启动非基于 VTE 的终端并libvte-2.91-0从那里重新安装发行版和相关软件包。

相关内容