按住一个键可以暂时切换键盘布局吗?

按住一个键可以暂时切换键盘布局吗?

我最近升级到了 Ubuntu 13.10。在 Ubuntu 12.04 中,我可以定义一个键,按住该键时,可以暂时切换到不同的键盘布局。我还没能找到在 13.10 中实现该功能的方法:唯一的选择似乎是使用“切换到下一个源”快捷方式在不同的布局之间切换。

有没有办法在 13.10 中获得“按住一个键即可暂时切换到不同的键盘布局”功能?

答案1

  • 随着 Gnome 3.6 的推出,布局设置方法发生了变化。因此,Ubuntu 13.10 及更高版本的行为与以前不同。这在 Gnome 中应该可以很好地工作(已测试 Ubuntu 13.10/14.04)。

  • Unity 似乎无法使用xkb-options(已在 Ubuntu 13.10/14.04 中测试过)。即使使用例如:

    setxkbmap us,ara -option grp:rctrl_switch
    

    它只能工作几秒钟,然后就会重置。

    编辑/usr/share/X11/xkb/symbols/pc,从 ctrl 绑定中删除 rctrl:

    //modifier_map Control{ Control_L, Control_R };
    modifier_map Control{ Control_L };
    

    再次:

    setxkbmap us,ara -option grp:rctrl_switch
    

    它确实有效,直到我使用Super+Space或直接从指示器更改我的布局。因此,作为 Unity 的解决方法,禁用布局切换快捷方式(布局指示器也可以删除),然后-option grp:..._toggle向 中添加一个setxkbmap

对于 Gnome 来说:

  1. 使用dconf-editor→ org → gnome → 桌面 → 输入源

  2. 添加setxkbmap选项到xkb-options,例如:

    ['grp:rctrl_switch']
    

查看所有可能的选项:

more /usr/share/X11/xkb/rules/xorg.lst | grep grp:

在此处输入图片描述

答案2

请按照以下步骤操作:

  1. 选择系统设置...从系统菜单; snap1

  2. 选择键盘snap2

  3. 在标签下打字点击布局设置snap3

  4. 在里面键盘设置窗口下快捷方式选项卡,选择打字. 默认为切换到下一个源Super+ SPACE;点击它会要求你分配一个新的加速器...,按所需的组合键更改为下一个大号ayout(我使用了Super+ L.)并且它将被分配以更改为下一个布局。

    (然后我使用相同的首选布局为切换到以前的源分配了类似的内容,然后开始测试它们。从首选布局切换到替代布局有效,但反之则无效。请参考下一步进行修复。) saucy1

  5. 在同一窗口中,您可以选择/分配撰写键。首选的是Right Alt composeKey

  6. 分配Super+L“切换到下一个来源”使用我喜欢的布局,我将键盘布局更改为替代布局,然后指定组合“切换到上一个来源”(为此我使用了Shift++ SuperL。然后我测试了它们,它们工作正常。

    我使用的组合键的新加速器如下所示: saucy2


有用的链接:

  • 如何启用 Compose 键?

  • 我如何输入重音字符,如 ë?alt。如何使用组合键?

    概括:

    使用compose键,此处分配给Rt. Alt

    • 对于ö您按下,然后ComposeShify+'然后o按键;换句话说,它是Compose " oRt. Alt " o
    • ß按下Compose然后按ss

    (..这里你必须记住两个字符的组合)

    您可以在终端中使用此命令获取组合键(和 Unicode 数字)的组合:

    cat /usr/share/X11/locale/en_US.UTF-8/Compose | grep ö
    

    (其中 ö 应该被您选择的字符替换。)

    输出内容如下:

    <Multi_key> <quotedbl> <o>          : "ö"   odiaeresis
    

    (其中<Multi_Key>是撰写(ShiftShift+ Rt.Alt)键,<quotedbl>是双引号 -"Shift+ '<o>是小写oo。对于大写 Ö 使用Shift+o和 代替组合键的最后一个字符。)

    使用十六进制 Unicode 字符代码点:

    • 按下(然后释放)Shift+ Ctrl+ U,然后同时划线显示时,输入十六进制 Unicode 字符代码点,后跟ReturnSpace

    例如Ctrl++Shift后跟u然后2 6 3 bReturnSpace☻ 。

    (...所以这个需要你记住 Unicode 号码)

☻ 干杯……

答案3

自从问了这个问题,我就转向了Linux Mint 17使用 Cinnamon 桌面。Cinnamon 桌面提供了与 Ubuntu 12.04 相同的临时切换布局选项,包括按住特定键临时切换键盘布局的选项。

相关内容