.xmodmap 不适用于两种布局

.xmodmap 不适用于两种布局

在升级到 Ubuntu 13.10 之前,我使用了两种键盘布局 - GR 和 DE。我能够在一个 .xmodmap 中设置两者,这意味着我能够配置 GR 和 DE。现在,当我创建 .xmodmap 时,它仅包含我当前使用的布局,但我希望两种布局都存在。我该如何实现这一点?

答案1

我还没有在 14.04 上解决这个问题,但我知道这个 bug 是 keyboard-indicator。更改布局后,xmodmap 设置会被重置。我编写了一个脚本,用于在更改布局后重置设置。我希望它对某些 realties 有用。

#!/usr/bin/env python

import os, dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop

def event_handler(args):
        if args == "com.canonical.indicator.keyboard":
                os.system("xmodmap ~/.Xmodmap")

dbus.mainloop.glib.DBusGMainLoop(set_as_default = True)

bus = dbus.SessionBus()
bus.add_signal_receiver(event_handler,
                        dbus_interface="com.canonical.Unity.Panel.Service",
                        signal_name="ReSync")

loop = gobject.MainLoop()
loop.run()

答案2

是的,这绝对是 13.10 中的一个错误,我找到了针对此问题的解决方案“至少对我来说”,首先更新您的系统,安装“gnome-tweak-tool”:

sudo apt-get install gnome-tweak-tool

转到“打字”选项,将“更改布局的键”更改为“alt + shift”,然后单击“Alt / Win键行为”并选择“控制映射到Win键(和通常的ctrl键)”。

我希望这能对别人有帮助

答案3

我确认了这一点,也确认了 xkb 工具中也会出现这种情况(因此没有解决方法)。xmodmap / xkb 修改在布局更改之间被重置(我使用 FI-US)。

这里有几个与问题相关的错误,也许最接近的错误是这个:

https://bugs.launchpad.net/ubuntu/+source/indicator-keyboard/+bug/1215826

(我在评论#34中没有找到解决方法配置选项)

我删除了新的键盘指示器,但它只解决了当聚焦其他窗口时不会重置 xmodmap 的问题。

我目前的知识:

使用键盘修改或布局,但您不能同时使用两者。糟糕的是,这可能不会很快得到修复(启动错误报告仍然开放)。

有点回归相关:

我也在 Unity 中发现了同一种错误(我也见过同样的问题,但是很少见),这里是相关的 launchBug:

https://bugs.launchpad.net/ubuntu/+source/unity/+bug/1084451

编辑:

来自 repos 的 gnome-tweak-tool 崩溃并出现段错误(launchBug 中已知错误,但我的名誉不允许我在这里链接它)。

答案4

使用 13.10 确认这一点!当我手动运行 xmodmap ~/.Xmodmap 时,它仅在将布局更改为另一个布局时才有效。

相同的设置在 13.04 中完美运行..

相关内容