exe*_*ook 9 linux keyboard-layout
在我的 C/C++ 程序中,我想知道用户要输入哪种语言。我的意思是 ID 显示在任务栏一角的语言。像 EN 或 RU 或 ZH 或 FR 或 IT。
我知道如何获取可能的布局列表:
$ setxkbmap -query | grep layout
Run Code Online (Sandbox Code Playgroud)
输出:
layout: us,ru
Run Code Online (Sandbox Code Playgroud)
但是如何知道现在选择了哪一个呢?(对于当前窗口)
setxkbmap -print
在这种情况下没有帮助,这也是我的第一个想法。我找到了一个小工具,很容易编译
sudo apt-get install git
mkdir -p `~/src`
cd `~/src`
git clone https://github.com/nonpop/xkblayout-state.git
cd xkblayout-state
make
Run Code Online (Sandbox Code Playgroud)
现在你可以运行命令./xkblayout-state
来获取当前的布局,例如
./xkblayout-state print "%n"
German%
Run Code Online (Sandbox Code Playgroud)
或列出所有已安装的布局
./xkblayout-state print "%N"
German
English
English
Run Code Online (Sandbox Code Playgroud)
在这种情况下没有尾随%
。我会预料到的,因为我没有添加\n
.
归档时间: |
|
查看次数: |
6755 次 |
最近记录: |