X11

如何從命令行更改目前選擇的鍵盤佈局?

  • January 17, 2017

我有我的鍵盤佈局(其中兩個)並通過以下命令配置它們之間的切換:

setxkbmap -layout us,ru -option -option "grp:lctrl_lshift_toggle,ctrl:nocaps"

現在我想切換到us佈局,使用一些命令行命令。那可能嗎?

您可以使用xkb-switch-n切換到下一個佈局):

xkb-switch -n

xkblayout-stateset +1在你的情況下環繞):

xkblayout-state set +1

xtexautomation模擬Control_L+Shift_L按鍵/釋放:

xte 'keydown Control_L' 'keydown Shift_L' 'keyup Shift_L' 'keyup Control_L'

在 Stack Exchange 中搜尋kbdmap 時,會發現此頁面沒有提及該詞。為清楚起見,這是一個答案(不完全符合問題的X11標籤,但它應該對某人有所幫助)……

僅限於虛擬控制台時

沒有X。

kbdmap (1)

kbdmap, vidfont– syscons 和 vt 的前端

… 可以輕鬆設置可用的鍵盤映射 …

確實,這很簡單(對我來說,更改為英國鍵盤佈局)很有效。

使用 X 時

– 例如,使用基於 FreeBSD 的 TrueOS 桌面。

來自更改鍵盤佈局的文章 5 ?| FreeBSD 論壇(2015-08-03):

kbdmap用於控制台。setxkbmap是您想要的 X11 實用程序。…

有一個警告,例如更改為英國時:

$ kbdmap
kbdcontrol: getting keymap: Inappropriate ioctl for device
You are not on a virtual console - expect certain strange side-effects
lang_default = en
dialect = en_...UTF-8
lang_abk = en

…

keymap="uk.kbd"
$ 

引用自:https://unix.stackexchange.com/questions/78980