以编程方式切换键盘布局

以编程方式切换键盘布局

我使用三种不同的布局并查看代码以通过.bashrc函数以编程方式更改布局。

答案1

例如,要获得美国布局(顺便说一句,这非常适合编程;请参阅问题)。

在 X 中,尝试setxkbmap -layout us

在 Linux 控制台中,添加XKBLAYOUT="us"/etc/default/keyboard;然后setupcon以超级用户身份运行。或者,使用dpkg-reconfigure keyboard-configuration(也作为超级用户)。您还可以通过使用 ; 在控制台中使用与 X 中不同的地图KMAP。在看/etc/console-setup/

这可能需要一些摆弄;也许,您想在您的文件中编写别名和/或函数.bashrc以便快速访问。如果你打算来回切换,我发现撰写关键是有更好的解决方案。当然,除非你用完全不同的字母书写。

答案2

确实很奇怪,X11没有提供标准工具来切换到给定的布局(当您使用 定义多个布局时setxkbmap)。

但我刚刚找到了一个可以做到这一点的工具:xkblayout-state

使用它,您可以通过名称或布局堆栈中的位置获取/设置当前布局。

答案3

它可能看起来很老套,但它的作用就像一个魅力:

setxkbmap -layout ru && setxkbmap -layout ru,us
setxkbmap -layout us && setxkbmap -layout us,ru

强制切换:

setxkbmap -layout ru && setxkbmap -layout us && setxkbmap -layout us,ru

如果需要,您可以对循环进行编程。

相关内容