使用左右 Alt + Shift 组合键更改键盘布局

使用左右 Alt + Shift 组合键更改键盘布局

我在 Ubuntu 系统上使用英语和波斯语键盘布局。我想使用Left Alt+Left ShiftRight Alt+更改键盘布局Right Shift。目前我无法使用Right Alt+Right Shift将键盘布局从波斯语更改为英语,因此我必须使用Left Alt+Left Shift进行更改。

有人知道我该如何设置Alt+Shift来更改两侧的键盘布局吗?我使用 ubuntu 12.04。

谢谢!

答案1

好的,再试一次,我希望这次能够成功... ;)

学分归因于verendj1,他描述了一种分配自定义键切换键盘布局, 使用设置xkbmap,其中收录于解决方法提到编辑2我之前的回答...

这是稍微复杂一点的方法,但可以让您更灵活地使用组合键。首先,复制并粘贴我编写的这个脚本,并将其命名为 kb_toggle.sh。确保将 LANG1 和 LANG2 编辑为您所需的键盘布局代码。

#!/bin/bash

LANG1="us"
LANG2="de"
CURRENT_LANG=$(setxkbmap -query | tail -n 1 | cut -f6 -d ' ')
if [ "$CURRENT_LANG" = $LANG1 ]; then
    setxkbmap $LANG2
else
    setxkbmap $LANG1
fi

通过右键单击文件->“属性”->“权限”选项卡,然后选择“允许将文件作为程序执行”来创建文件。

现在,打开“系统设置”->“键盘”->“快捷方式”选项卡,然后选择“自定义快捷方式”。单击底部的 + 按钮,将快捷方式命名为“键盘切换”或任何您想要的名称。然后在命令框中提供您之前创建的脚本的完整路径。点击应用。单击显示“已禁用”的位置,然后您可以通过单击您的组合键将快捷方式设置为您想要的任何内容!

我认为您需要"de"改为"ir"

再次祝你好运!


编辑

你甚至可能会逃脱单行, 如果你更喜欢:

setxkbmap us,ir -option "grp:alt_shift_toggle"

现在你可以按 alt+shift 进行切换

也可以看看http://wiki.lxde.org/en/Change_keyboard_layoutshttp://www.x.org/releases/X11R7.7/doc/man/man1/setxkbmap.1.xhtml


编辑2

根据如何当你决定实现你的目标时,你可能希望lv3:ralt_alt在你的命令中包含

setxkbmap us,ir -option "lv3:ralt_alt,grp:alt_shift_toggle"

man xkeyboard-config | grep lv3详情请参阅:

lv3:ralt_alt

右 Alt 键永远不会选择第三级

   xkeyboard-config  provides  the  description files for the X Keyboard Extension (XKB). The configuration options below are
   usually applied with setxkbmap(1).

答案2

“右 Alt 键”通常(总是?)不是与“左 Alt 键”相同,但对应于AltGr,例如

因此具有独特的功能。

你可能想尝试使用xdotool仿真某些组合键行为。因此,您可以设置

  1. Left Alt+Left Shift按照描述的方式阿卜杜勒卡德尔在他的回答中,
  2. 第二种组合是Right AltGr+ Right Shift)xdotool

编辑

详细例子如何做到这一点一般来说附有截图,请参考韋萊的精彩答案在这里。关于你的问题,你可以尝试

工具键 --clearmodifiersAlt+Shift

然后将此命令分配给Shift+Level3 Shift(不要输入此命令,只需按right_Shift+ right_AltGr)快捷键自定义快捷方式。 再次,请参考相关部分韋萊的回答

瞧,您已经整理好了。


请注意,如果你尝试“反过来”做这件事,就像这样

xdotool 键 --clearmodifiers ISO_Level3_Shift+Shift

(或者另一种方法,但不太可能奏效Alt_R+Shift_R),注意到韓國“相当于”ISO_Level3_Shift

你可能会卡住,因为“Alt_R+Shift_R”不是似乎在标准布局切换键对话框中提供。


进一步阅读: 来自xdotool 人页:

通常,任何有效的 X Keysym 字符串都可以使用。多个键以“+”分隔。“替代"、"ctrl"、"shift"、"super" 和 "meta" 都映射到 Foo_L,例如Alt_L和 Control_L 等等

使用 setxkbmap 将 AltGr 键重新映射到 Control您可能感兴趣...


编辑2

https://bugs.launchpad.net/ubuntu/+source/xdotool/+bug/696247http://code.google.com/p/semicomplete/issues/detail?id=13...和解决方法其中建议的(并确认截至 2012 年 11 月有效)“目前的解决方法是使用设置xkbmap强制使用键盘映射修改映射(setxkbmap dvorak 等)”。因此,请参考我的第二个单独的答案。

答案3

您可以使用 Alt-Shift 来处理两种语言

系统设置... → 键盘布局 → (点击“+”添加新语言布局)→

选项... →(点击)“更改布局的键”→(勾选)“左 Alt+左 Shift”→关闭

在此处输入图片描述

在此处输入图片描述

答案4

从 dash 进入键盘布局,然后单击选项,有一个选项key(s) to change layout检查alt+shift。这对我来说很管用,alt 和 shift 都可以使用,甚至右 alt+左 shift 也可以使用 :)

相关内容