web-dev-qa-db-ja.com

コマンドラインから現在選択されているキーボードレイアウトを変更するにはどうすればよいですか?

私はキーボードレイアウト(そのうちの2つ)を持ち、次のコマンドを使用してそれらを切り替えます。

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

次に、コマンドラインコマンドを使用して、usレイアウトに切り替えます。それは可能ですか?

12
Rogach

xkb-switch-n次のレイアウトに切り替えます):

xkb-switch -n

または xkblayout-stateset +1ラップして、あなたの場合):

xkblayout-state set +1

またはxte from xautomation シミュレート Control_L+Shift_L キーを押す/離す:

xte 'keydown Control_L' 'keydown Shift_L' 'keyup Shift_L' 'keyup Control_L'
13
don_crissti

Stack Exchangeでkbdmapを検索すると、この単語がnoで示されているこのページが見つかります。明確にするために、ここに答えがあります(質問のX11タグに完全に一致するわけではありませんが、誰かを助けるはずです)…

仮想コンソールに限定した場合

なしX。

kbdmap (1)

kbdmapvidfont-sysconsおよびvtのフロントエンド

…使用可能なキーマップを簡単に設定できます…

本当に、それは簡単で(私にとっては、英国のキーボードレイアウトに変更して)効果的です。

Xを使用する場合

–たとえば、FreeBSDベースのTrueOSデスクトップ。

From post 5 underChange keyboard layout? | FreeBSDフォーラム(2015-08-03):

kbdmapはコンソール用です。 setxkbmapはX11に必要なユーティリティです。 …

たとえば、[〜#〜] u [〜#〜]nitedに変更すると警告が表示されます:

$ 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"
$ 
2
Graham Perrin

キーボードレイアウトのディストリビューションに応じて、コマンドは

loadkeys <path/to/file>

loadkey /lib/kbd/keymaps/i386/qwerty/pt_PT.map.gz

もし私が正確に覚えていれば。特定の動作に特定のキーを割り当てる場合は、manページでloadkeysも確認してください。

1
BitsOfNix

さまざまなディストリビューションで言語とキーボードのレイアウトを変更する というタイトルのこのHowto Forgeの記事を見てください。さまざまなディストリビューションでキーボードのレイアウトを変更するためのさまざまなコマンドがあります。

これらのコマンドのほとんどはGUIとして存在しますが、見ればそれらのほとんどはコマンドラインからも実行できます。たとえば、Fedora(Red Hatベースのディストリビューション)を使用しています。コマンド system-config-keyboard引数なしで実行すると、GUIが表示されます。

しかし、system-config-keyboard --helpコマンドラインからも実行できます:

$ system-config-keyboard --help
Usage: system-config-keyboard [--help] [--noui] [--text] [<keyboardtype>]
       --help            Print out this message.
       --noui            Run in command line mode.
       --text            Run in text interface mode.

       <keyboardtype> options are: ar-azerty, ar-azerty-digits, ar-digits, ar-qwerty, ar-qwerty-digits, be-latin1, ben, ben-probhat, bg_bds-utf8, bg_pho-utf8, br-abnt2, cf, croat, cz-lat2, cz-us-qwertz, de, de-latin1, de-latin1-nodeadkeys, dev, dk, dk-latin1, dvorak, es, et, fi, fi-latin1, fr, fr-latin1, fr-latin9, fr-pc, fr_CH, fr_CH-latin1, gr, guj, gur, hu, hu101, ie, is-latin1, it, it-ibm, it2, jp106, ko, la-latin1, mk-utf, nl, no, pl2, pt-latin1, ro, ro-cedilla, ro-std, ro-std-cedilla, ru, sg, sg-latin1, sk-qwerty, slovene, sr-cy, sr-latin, sv-latin1, tj, tml-inscript, tml-uni, trq, ua-utf, uk, us, us-acentos

キーボードレイアウトをロシア語に変更するには、次のコマンドを実行します。

$ system-config-keyboard ru
0
slm