如何使 Ctrl + Alt 在 Ubuntu 中像 Alt gr 一样工作?

如何使 Ctrl + Alt 在 Ubuntu 中像 Alt gr 一样工作?

我最近在笔记本电脑上切换到 Ubuntu,几乎让我切换回 Windows 的一件事是我无法使Ctrl+Alt表现得像Alt Gr.

我已经编程了好几年了,例如我习惯$通过按Ctrl+ Alt+来制作符号4。在 Ubuntu 中我必须使用Alt Gr+4这几乎让我发疯......

有解决办法吗?

答案1

您可以添加全局快捷方式来写入特殊字符。我经常在 Ubuntu 上使用这个德语键盘布局(在 Windows 上这个功能是开箱即用的)。

我添加了以下快捷方式:

Shift+ Enter+7写信{

Shift+ Enter+0写信}

Shift+ Enter+8写信[

Shift+ Enter+9写信]

要添加这些快捷方式,您将xbindkeys需要xvkbd

sudo apt-get install xbindkeys xvkbd

然后编辑配置文件:

vim ~/.xbindkeysrc

并添加以下行(根据您的喜好进行编辑):

"xvkbd -xsendevent -text '{'"
    m:0xc + c:16
    Control+Alt + 7

"xvkbd -xsendevent -text '['"
    m:0xc + c:17
    Control+Alt + 8

"xvkbd -xsendevent -text ']'"
    m:0xc + c:18
    Control+Alt + 9

"xvkbd -xsendevent -text '}'"
    m:0xc + c:19
    Control+Alt + 0

"xvkbd -xsendevent -text '\[backslash]'"
    m:0xc + c:20
    Control+Alt + ssharp

"xvkbd -xsendevent -text '\[asciitilde]'"
    m:0xc + c:35
    Control+Alt + plus

然后重新加载 xbindkeys:

xbindkeys -f ~/.xbindkeysrc

感谢高手分享这个(http://forum.ubuntuusers.de/topic/strg-%2B-alt-alt-gr-wie-in-windows/)。

答案2

在尝试让它与 xbindkeys 和 xvkbd/xte 的组合一起工作但失败后(我永远无法让某些字符 {、[、]、}、\ 等正常工作,可能是因为我使用斯堪的纳维亚键盘布局),我终于找到了一个简单实用的解决方案:Autokey。以下是使其正常工作的具体说明:

  1. 安装自动键通过 Ubuntu 软件(我使用的是 GTK 版本,而不是 KDE)或通过:“sudo apt-get install autokey-gtk”。
  2. 每个键配置一个脚本,例如 { 使用此代码:keyboard.send_keys("<alt_gr>+7")并将热键设置为 Ctrl+Alt+7(首先将热键设置为 7,然后添加 Ctrl 和 Alt 作为修饰符)。这至少适用于最重要的代码编写键: { [ ] } 。
  3. 将 autokey 添加到启动应用程序(搜索“start”即可找到它),然后添加一个以“autokey”作为命令的程序。

该解决方案适用于当前 X 会话中运行的任何内容(我认为),但如果您使用 Ctrl+Alt+(F2-F6) 启动新的终端会话,则该解决方案将不起作用。

答案3

尽管这仍然没有回答您的问题,但我发现这是比其他答案更简单的解决方案。

为了使R-ALT工作像这样AltGr,您可以将以下行添加到您的~/.xinitrc

setxkbmap -option lv3:ralt_switch

可以找到转移到第三级的其他方法(通常使用AltGr密钥实现),并且可以在 中定义新方法/usr/share/X11/xkb/symbols/level3

答案4

我只在编写代码时使用特殊符号,所以我设法通过 Sublime Text 解决这个问题。

在首选项 -> 键绑定 - 用户

插入以下内容:

[
{ "keys": ["ctrl+alt+2"], "command": "insert", "args": {"characters": "@"} },
{ "keys": ["ctrl+alt+3"], "command": "insert", "args": {"characters": "£"} },
{ "keys": ["ctrl+alt+4"], "command": "insert", "args": {"characters": "$"} },
{ "keys": ["ctrl+alt+5"], "command": "insert", "args": {"characters": "€"} },
{ "keys": ["ctrl+alt+7"], "command": "insert", "args": {"characters": "{"} },
{ "keys": ["ctrl+alt+8"], "command": "insert", "args": {"characters": "["} },
{ "keys": ["ctrl+alt+9"], "command": "insert", "args": {"characters": "]"} },
{ "keys": ["ctrl+alt+0"], "command": "insert", "args": {"characters": "}"} },
{ "keys": ["ctrl+alt++"], "command": "insert", "args": {"characters": "\\"} },
{ "keys": ["ctrl+alt+<"], "command": "insert", "args": {"characters": "|"} }

]

相关内容