<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=For2ando</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=For2ando"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/For2ando"/>
	<updated>2026-04-14T00:15:22Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25702</id>
		<title>Linux コンソール/キーボード設定</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25702"/>
		<updated>2022-05-29T16:50:23Z</updated>

		<summary type="html">&lt;p&gt;For2ando: /* 命令を追加する */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linux コンソール]]&lt;br /&gt;
[[Category:キーボード設定]]&lt;br /&gt;
[[en:Keyboard configuration in console]]&lt;br /&gt;
[[es:Keyboard configuration in console]]&lt;br /&gt;
[[pt:KEYMAP]]&lt;br /&gt;
[[ru:Keyboard configuration in console]]&lt;br /&gt;
[[zh-hans:Keyboard configuration in console]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Xorg でのキーボード設定}}&lt;br /&gt;
{{Related|特別なキーボードキー}}&lt;br /&gt;
{{Related|フォント#コンソールフォント}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[[Wikipedia:ja:仮想コンソール|仮想コンソール]]のキーボードマッピング (keymap) やコンソールフォント、コンソールマップは {{Pkg|kbd}} パッケージ (既にインストールされているはずです) によって提供されています。このパッケージには仮想コンソールを管理するための低水準なツールも多く含まれています。さらに、systemd は localectl ツールも提供しています。これはシステムロケールとキーボードレイアウトの設定を仮想コンソールと Xorg の両方を制御できます。&lt;br /&gt;
&lt;br /&gt;
== キーボード設定の表示 ==&lt;br /&gt;
&lt;br /&gt;
{{ic|localectl status}} を使って、キーボード設定を表示することができます。&lt;br /&gt;
&lt;br /&gt;
== キーマップ ==&lt;br /&gt;
&lt;br /&gt;
キーマップファイルは、{{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに格納されています。通常、一つのキーマップファイルは、一つのキーボードレイアウトに対応しています。({{ic|include}} ステートメントを使用して共通部分を共有したり、キーマップファイルに複数のレイアウトと切り替え用のキーの組み合せを含めることができます)。詳細は、{{man|5|keymaps}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== キーマップの一覧表示 ===&lt;br /&gt;
&lt;br /&gt;
複数のコンポーネントによって構成されている [[XKB]] キーボードレイアウトとは異なり、仮想コンソールのキーボードレイアウトはコンポーネントがひとつしかありません。基本的にはひとつの keymap ファイルがひとつのキーボードレイアウトに対応しています (&#039;&#039;include&#039;&#039; ステートメントを使って共有の部分を共有することで keymap ファイルには複数のレイアウトを含めることができます)。keymap ファイルは {{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに保存されています。次のコマンドを使うことで利用可能な全てのキーマップを表示できます:&lt;br /&gt;
&lt;br /&gt;
 $ localectl list-keymaps&lt;br /&gt;
&lt;br /&gt;
コンソールキーマップの命名規則は厳格には定まっていませんが、一般的には [[Wikipedia:ISO_3166-1_alpha-2#Officially_assigned_code_elements|2-letter country code]] と variant をスラッシュ ({{ic|-}}) かアンダースコア ({{ic|_}}) で区切った名前が付けられています。&lt;br /&gt;
&lt;br /&gt;
find を使ってキーマップを調べることもできます:&lt;br /&gt;
&lt;br /&gt;
 $ find /usr/share/kbd/keymaps/ -type f&lt;br /&gt;
&lt;br /&gt;
=== Loadkeys ===&lt;br /&gt;
&lt;br /&gt;
現在のセッションでのみ有効なキーマップを設定することもできます。異なるキーマップを試したり、問題を解決したりするときに有用です。&lt;br /&gt;
&lt;br /&gt;
一時的な設定を行うには &#039;&#039;loadkeys&#039;&#039; ツールを使います。このツールは [[systemd|systemd]] によって {{ic|/etc/vconsole.conf}} に設定されたキーマップをロードするために内部的に使用されています。とても簡単に使えます:&lt;br /&gt;
&lt;br /&gt;
 # loadkeys &#039;&#039;keymap&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 loadkeys}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 永続的な設定 ===&lt;br /&gt;
&lt;br /&gt;
高度な設定を {{ic|/etc/vconsole.conf}} ですることができ、起動時に [[systemd|systemd]] によって読み込まれます。{{ic|KEYMAP}} 変数がキーマップの指定に使用されます。変数が空だったり設定されていない場合、デフォルトの値として {{ic|us}} キーマップが使われます。全てのオプションは {{ic|man 5 vconsole.conf}} を見て下さい。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/vconsole.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
KEYMAP=jp106&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;localectl&#039;&#039; を使ってコンソールのキーマップを設定することも可能です。コマンドを実行することで {{ic|/etc/vconsole.conf}} 内の {{ic|KEYMAP}} 変数が変更され現在のセッションのキーマップが設定されます。例:&lt;br /&gt;
&lt;br /&gt;
 $ localectl set-keymap --no-convert &#039;&#039;jp106&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 localectl}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== カスタムキーマップの作成 ===&lt;br /&gt;
&lt;br /&gt;
コンソールを使用する場合、ホットキーを使用して特定の文字を表示できます。 さらに、文字のシーケンスといくつかのエスケープシーケンスを表示することもできます。 したがって、コマンドを構成する文字のシーケンスを出力し、その後に改行のエスケープ文字を出力すると、そのコマンドが実行されます。&lt;br /&gt;
&lt;br /&gt;
これを行う1つの方法は、キーマップファイルを編集することです。 ただし、それが属するパッケージが更新されるたびに書き換えられるため、このファイルを編集することはお勧めしません。 既存のキーマップを個人のキーマップと統合することをお勧めします。 {{ic|loadkeys}}ユーティリティはこれを行うことができます。&lt;br /&gt;
&lt;br /&gt;
まず、キーマップファイルを作成します。 このキーマップファイルはどこにあってもかまいませんが、1つの方法は、{{ic|/ usr/local}}のディレクトリ階層を模倣することです。&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /usr/local/share/kbd/keymaps&lt;br /&gt;
 # vim /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
ちなみに、このような個人用キーマップは、デフォルトのキーマップですでに扱われているキーの動作を再定義する場合にも役立ちます。{{ic|loadkeys}}をロードすると、それらが新しい命令と競合する場合はデフォルトキーマップの命令が置き換えら 、それ以外の場合はそのまま保持されます。 このように、そのキーマップへの変更のみをパーソナルキーマップで指定する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ヒント|{{ic|/usr/share/kbd/keymaps/}}ディレクトリツリーにある既存のキーマップを編集することもできます。 キーマップには&#039;&#039;.map.gz&#039;&#039;拡張子が付いています。たとえば、{{ic|us.map.gz}}はアメリカのキーマップです。 キーマップを{{ic|/usr/local/share/kbd/keymaps/personal.map.gz}}にコピーし、「gunzip」してください。}}&lt;br /&gt;
&lt;br /&gt;
==== 命令を追加する ====&lt;br /&gt;
&lt;br /&gt;
このパーソナルキーマップには、2種類の命令が必要です。 まず、[[Extra Keyboard keys|keycode]]命令、これは、デフォルトのキーマップに表示される形式と一致します。 これらの命令は、キーコードをkeysymに関連付けます。 Keysymはキーボードアクションを表します。 使用可能なアクションには、文字コードまたは文字シーケンスの出力、コンソールまたはキーマップの切り替え、マシンの起動、およびその他の多くのアクションが含まれます。 現在アクティブな完全なキーマップは、次のコマンドで取得できます。&lt;br /&gt;
&lt;br /&gt;
 # dumpkeys -l&lt;br /&gt;
&lt;br /&gt;
ほとんどのkeysymは直感的です。 たとえば、キー112でもって「e」を出力するように設定するには、命令は次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112  = e&lt;br /&gt;
&lt;br /&gt;
キー112でもってユーロ記号を出力するように設定するには、ディレクティブは次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = euro&lt;br /&gt;
&lt;br /&gt;
一部のkeysymは、キーボードアクションにすぐには接続されません。 特に、大文字のFと30より大きい数からなる1〜3桁の数字(F1〜F246)が前に付いたキー記号は、常にフリーです。 これは、一連の文字やその他のアクションを出力するようにホットキーに指示するのに便利です。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = F70&lt;br /&gt;
&lt;br /&gt;
次に、F70をバインドして特定の文字列を出力できます。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;Hello&amp;quot;&lt;br /&gt;
&lt;br /&gt;
キー112を押すと、F70の内容が出力されます。 ターミナルに表示されたコマンドを実行するには、コマンド文字列の最後に改行エスケープ文字を追加する必要があります。 たとえば、[[Power_management#Suspend_and_hibernate|システムを休止状態にする]]ためには、次のキーマップを追加します。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;sudo systemctl hibernate\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== その他の例 ====&lt;br /&gt;
&lt;br /&gt;
* (Emacs用に)右Altキーを左Altキーと同じにするには、キーマップで次の行を使用します。 これはファイル{{ic|/usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc}}をインクルードします。詳細については、チェックしてください。&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;linux-with-two-alt-keys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* (Vim用に)CapsLockをEscapeと交換するには、それぞれのキーコードを再マップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 1 = Caps_Lock&lt;br /&gt;
 keycode 58 = Escape&lt;br /&gt;
&lt;br /&gt;
* CapsLockをもうひとつののコントロールキーにするには、それぞれのキーコードを再マップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
* CapsLock と左コントロールを交換するには、それぞれのキーコードをリマップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 29 = Caps_Lock&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
==== 変更を保存する ====&lt;br /&gt;
&lt;br /&gt;
これらのパーソナルキーマップを使用するには、「loadkeys」によってロードする必要があります。&lt;br /&gt;
&lt;br /&gt;
 # loadkeys /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
ただし、このキーマップは現在のセッションでのみアクティブになります。起動時にキーマップをロードするには、[[#Persistent configuration|/etc/vconsole.conf]]の{{ic|KEYMAP}}変数でファイルへのフルパスを指定します。 {{Pkg|kbd}}が提供する公式キーマップにようにファイルをgzipで圧縮する必要はありません。&lt;br /&gt;
&lt;br /&gt;
== typematic delay と rate の調整 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;typematic delay&#039;&#039; はキーリピートを始めるのにキーを押し続ける必要がある時間 (ミリ秒) を表します。キーリピートが開始されると、&#039;&#039;typematic rate&#039;&#039; によって指定された頻度 (Hz) で文字が繰り返されます。これらの値は &#039;&#039;kbdrate&#039;&#039; コマンドを使うことで変更できます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate [-d &#039;&#039;delay&#039;&#039;] [-r &#039;&#039;rate&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
例えば typematic delay を 200ms に typematic rate を 30Hz に設定するには、次のコマンドを実行します:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate -d 200 -r 30&lt;br /&gt;
&lt;br /&gt;
delay や rate の値を指定しないでコマンドを実行することで typematic の値をデフォルト (delay は 250ms で rate は 11Hz) に戻すことができます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate&lt;br /&gt;
&lt;br /&gt;
Xorg で設定したい場合は [[Xorg でのキーボード設定#typematic delay と rate の調整]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd サービス ===&lt;br /&gt;
&lt;br /&gt;
systemd サービスを使ってキーボードレートを設定することもできます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/kbdrate.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Keyboard repeat rate in tty.&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
StandardInput=tty&lt;br /&gt;
StandardOutput=tty&lt;br /&gt;
ExecStart=/usr/bin/kbdrate -s -d 450 -r 60&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
作成したら {{ic|kbdrate.service}} を[[起動]]・[[有効化]]してください。&lt;/div&gt;</summary>
		<author><name>For2ando</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25701</id>
		<title>Linux コンソール/キーボード設定</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25701"/>
		<updated>2022-05-29T16:44:40Z</updated>

		<summary type="html">&lt;p&gt;For2ando: Translate.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linux コンソール]]&lt;br /&gt;
[[Category:キーボード設定]]&lt;br /&gt;
[[en:Keyboard configuration in console]]&lt;br /&gt;
[[es:Keyboard configuration in console]]&lt;br /&gt;
[[pt:KEYMAP]]&lt;br /&gt;
[[ru:Keyboard configuration in console]]&lt;br /&gt;
[[zh-hans:Keyboard configuration in console]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Xorg でのキーボード設定}}&lt;br /&gt;
{{Related|特別なキーボードキー}}&lt;br /&gt;
{{Related|フォント#コンソールフォント}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[[Wikipedia:ja:仮想コンソール|仮想コンソール]]のキーボードマッピング (keymap) やコンソールフォント、コンソールマップは {{Pkg|kbd}} パッケージ (既にインストールされているはずです) によって提供されています。このパッケージには仮想コンソールを管理するための低水準なツールも多く含まれています。さらに、systemd は localectl ツールも提供しています。これはシステムロケールとキーボードレイアウトの設定を仮想コンソールと Xorg の両方を制御できます。&lt;br /&gt;
&lt;br /&gt;
== キーボード設定の表示 ==&lt;br /&gt;
&lt;br /&gt;
{{ic|localectl status}} を使って、キーボード設定を表示することができます。&lt;br /&gt;
&lt;br /&gt;
== キーマップ ==&lt;br /&gt;
&lt;br /&gt;
キーマップファイルは、{{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに格納されています。通常、一つのキーマップファイルは、一つのキーボードレイアウトに対応しています。({{ic|include}} ステートメントを使用して共通部分を共有したり、キーマップファイルに複数のレイアウトと切り替え用のキーの組み合せを含めることができます)。詳細は、{{man|5|keymaps}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== キーマップの一覧表示 ===&lt;br /&gt;
&lt;br /&gt;
複数のコンポーネントによって構成されている [[XKB]] キーボードレイアウトとは異なり、仮想コンソールのキーボードレイアウトはコンポーネントがひとつしかありません。基本的にはひとつの keymap ファイルがひとつのキーボードレイアウトに対応しています (&#039;&#039;include&#039;&#039; ステートメントを使って共有の部分を共有することで keymap ファイルには複数のレイアウトを含めることができます)。keymap ファイルは {{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに保存されています。次のコマンドを使うことで利用可能な全てのキーマップを表示できます:&lt;br /&gt;
&lt;br /&gt;
 $ localectl list-keymaps&lt;br /&gt;
&lt;br /&gt;
コンソールキーマップの命名規則は厳格には定まっていませんが、一般的には [[Wikipedia:ISO_3166-1_alpha-2#Officially_assigned_code_elements|2-letter country code]] と variant をスラッシュ ({{ic|-}}) かアンダースコア ({{ic|_}}) で区切った名前が付けられています。&lt;br /&gt;
&lt;br /&gt;
find を使ってキーマップを調べることもできます:&lt;br /&gt;
&lt;br /&gt;
 $ find /usr/share/kbd/keymaps/ -type f&lt;br /&gt;
&lt;br /&gt;
=== Loadkeys ===&lt;br /&gt;
&lt;br /&gt;
現在のセッションでのみ有効なキーマップを設定することもできます。異なるキーマップを試したり、問題を解決したりするときに有用です。&lt;br /&gt;
&lt;br /&gt;
一時的な設定を行うには &#039;&#039;loadkeys&#039;&#039; ツールを使います。このツールは [[systemd|systemd]] によって {{ic|/etc/vconsole.conf}} に設定されたキーマップをロードするために内部的に使用されています。とても簡単に使えます:&lt;br /&gt;
&lt;br /&gt;
 # loadkeys &#039;&#039;keymap&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 loadkeys}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 永続的な設定 ===&lt;br /&gt;
&lt;br /&gt;
高度な設定を {{ic|/etc/vconsole.conf}} ですることができ、起動時に [[systemd|systemd]] によって読み込まれます。{{ic|KEYMAP}} 変数がキーマップの指定に使用されます。変数が空だったり設定されていない場合、デフォルトの値として {{ic|us}} キーマップが使われます。全てのオプションは {{ic|man 5 vconsole.conf}} を見て下さい。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/vconsole.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
KEYMAP=jp106&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;localectl&#039;&#039; を使ってコンソールのキーマップを設定することも可能です。コマンドを実行することで {{ic|/etc/vconsole.conf}} 内の {{ic|KEYMAP}} 変数が変更され現在のセッションのキーマップが設定されます。例:&lt;br /&gt;
&lt;br /&gt;
 $ localectl set-keymap --no-convert &#039;&#039;jp106&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 localectl}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== カスタムキーマップの作成 ===&lt;br /&gt;
&lt;br /&gt;
コンソールを使用する場合、ホットキーを使用して特定の文字を表示できます。 さらに、文字のシーケンスといくつかのエスケープシーケンスを表示することもできます。 したがって、コマンドを構成する文字のシーケンスを出力し、その後に改行のエスケープ文字を出力すると、そのコマンドが実行されます。&lt;br /&gt;
&lt;br /&gt;
これを行う1つの方法は、キーマップファイルを編集することです。 ただし、それが属するパッケージが更新されるたびに書き換えられるため、このファイルを編集することはお勧めしません。 既存のキーマップを個人のキーマップと統合することをお勧めします。 {{ic|loadkeys}}ユーティリティはこれを行うことができます。&lt;br /&gt;
&lt;br /&gt;
まず、キーマップファイルを作成します。 このキーマップファイルはどこにあってもかまいませんが、1つの方法は、{{ic|/ usr/local}}のディレクトリ階層を模倣することです。&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /usr/local/share/kbd/keymaps&lt;br /&gt;
 # vim /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
ちなみに、このような個人用キーマップは、デフォルトのキーマップですでに扱われているキーの動作を再定義する場合にも役立ちます。{{ic|loadkeys}}をロードすると、それらが新しい命令と競合する場合はデフォルトキーマップの命令が置き換えら 、それ以外の場合はそのまま保持されます。 このように、そのキーマップへの変更のみをパーソナルキーマップで指定する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ヒント|{{ic|/usr/share/kbd/keymaps/}}ディレクトリツリーにある既存のキーマップを編集することもできます。 キーマップには&#039;&#039;.map.gz&#039;&#039;拡張子が付いています。たとえば、{{ic|us.map.gz}}はアメリカのキーマップです。 キーマップを{{ic|/usr/local/share/kbd/keymaps/personal.map.gz}}にコピーし、「gunzip」してください。}}&lt;br /&gt;
&lt;br /&gt;
==== 命令を追加する ====&lt;br /&gt;
&lt;br /&gt;
このパーソナルキーマップには、2種類の命令が必要です。 まず、[[Extra Keyboard keys|keycode]]命令、これは、デフォルトのキーマップに表示される形式と一致します。 これらの命令は、キーコードをkeysymに関連付けます。 Keysymはキーボードアクションを表します。 使用可能なアクションには、文字コードまたは文字シーケンスの出力、コンソールまたはキーマップの切り替え、マシンの起動、およびその他の多くのアクションが含まれます。 現在アクティブな完全なキーマップは、次のコマンドで取得できます。&lt;br /&gt;
&lt;br /&gt;
 # dumpkeys -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ほとんどのkeysymは直感的です。 たとえば、キー112でもって「e」を出力するように設定するには、命令は次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112  = e&lt;br /&gt;
&lt;br /&gt;
キー112でもってユーロ記号を出力するように設定するには、ディレクティブは次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = euro&lt;br /&gt;
&lt;br /&gt;
一部のkeysymは、キーボードアクションにすぐには接続されません。 特に、大文字のFと30より大きい数からなる1〜3桁の数字(F1〜F246)が前に付いたキー記号は、常にフリーです。 これは、一連の文字やその他のアクションを出力するようにホットキーに指示するのに便利です。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = F70&lt;br /&gt;
&lt;br /&gt;
次に、F70をバインドして特定の文字列を出力できます。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;Hello&amp;quot;&lt;br /&gt;
&lt;br /&gt;
キー112を押すと、F70の内容が出力されます。 ターミナルに表示されたコマンドを実行するには、コマンド文字列の最後に改行エスケープ文字を追加する必要があります。 たとえば、[[Power_management#Suspend_and_hibernate|システムを休止状態にする]]ためには、次のキーマップを追加します。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;sudo systemctl hibernate\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== その他の例 ====&lt;br /&gt;
&lt;br /&gt;
* (Emacs用に)右Altキーを左Altキーと同じにするには、キーマップで次の行を使用します。 これはファイル{{ic|/usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc}}をインクルードします。詳細については、チェックしてください。&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;linux-with-two-alt-keys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* (Vim用に)CapsLockをEscapeと交換するには、それぞれのキーコードを再マップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 1 = Caps_Lock&lt;br /&gt;
 keycode 58 = Escape&lt;br /&gt;
&lt;br /&gt;
* CapsLockをもうひとつののコントロールキーにするには、それぞれのキーコードを再マップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
* CapsLock と左コントロールを交換するには、それぞれのキーコードをリマップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 29 = Caps_Lock&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
==== 変更を保存する ====&lt;br /&gt;
&lt;br /&gt;
これらのパーソナルキーマップを使用するには、「loadkeys」によってロードする必要があります。&lt;br /&gt;
&lt;br /&gt;
 # loadkeys /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
ただし、このキーマップは現在のセッションでのみアクティブになります。起動時にキーマップをロードするには、[[#Persistent configuration|/etc/vconsole.conf]]の{{ic|KEYMAP}}変数でファイルへのフルパスを指定します。 {{Pkg|kbd}}が提供する公式キーマップにようにファイルをgzipで圧縮する必要はありません。&lt;br /&gt;
&lt;br /&gt;
== typematic delay と rate の調整 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;typematic delay&#039;&#039; はキーリピートを始めるのにキーを押し続ける必要がある時間 (ミリ秒) を表します。キーリピートが開始されると、&#039;&#039;typematic rate&#039;&#039; によって指定された頻度 (Hz) で文字が繰り返されます。これらの値は &#039;&#039;kbdrate&#039;&#039; コマンドを使うことで変更できます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate [-d &#039;&#039;delay&#039;&#039;] [-r &#039;&#039;rate&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
例えば typematic delay を 200ms に typematic rate を 30Hz に設定するには、次のコマンドを実行します:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate -d 200 -r 30&lt;br /&gt;
&lt;br /&gt;
delay や rate の値を指定しないでコマンドを実行することで typematic の値をデフォルト (delay は 250ms で rate は 11Hz) に戻すことができます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate&lt;br /&gt;
&lt;br /&gt;
Xorg で設定したい場合は [[Xorg でのキーボード設定#typematic delay と rate の調整]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd サービス ===&lt;br /&gt;
&lt;br /&gt;
systemd サービスを使ってキーボードレートを設定することもできます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/kbdrate.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Keyboard repeat rate in tty.&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
StandardInput=tty&lt;br /&gt;
StandardOutput=tty&lt;br /&gt;
ExecStart=/usr/bin/kbdrate -s -d 450 -r 60&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
作成したら {{ic|kbdrate.service}} を[[起動]]・[[有効化]]してください。&lt;/div&gt;</summary>
		<author><name>For2ando</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25700</id>
		<title>Linux コンソール/キーボード設定</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25700"/>
		<updated>2022-05-29T16:43:49Z</updated>

		<summary type="html">&lt;p&gt;For2ando: Translate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linux コンソール]]&lt;br /&gt;
[[Category:キーボード設定]]&lt;br /&gt;
[[en:Keyboard configuration in console]]&lt;br /&gt;
[[es:Keyboard configuration in console]]&lt;br /&gt;
[[pt:KEYMAP]]&lt;br /&gt;
[[ru:Keyboard configuration in console]]&lt;br /&gt;
[[zh-hans:Keyboard configuration in console]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Xorg でのキーボード設定}}&lt;br /&gt;
{{Related|特別なキーボードキー}}&lt;br /&gt;
{{Related|フォント#コンソールフォント}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[[Wikipedia:ja:仮想コンソール|仮想コンソール]]のキーボードマッピング (keymap) やコンソールフォント、コンソールマップは {{Pkg|kbd}} パッケージ (既にインストールされているはずです) によって提供されています。このパッケージには仮想コンソールを管理するための低水準なツールも多く含まれています。さらに、systemd は localectl ツールも提供しています。これはシステムロケールとキーボードレイアウトの設定を仮想コンソールと Xorg の両方を制御できます。&lt;br /&gt;
&lt;br /&gt;
== キーボード設定の表示 ==&lt;br /&gt;
&lt;br /&gt;
{{ic|localectl status}} を使って、キーボード設定を表示することができます。&lt;br /&gt;
&lt;br /&gt;
== キーマップ ==&lt;br /&gt;
&lt;br /&gt;
キーマップファイルは、{{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに格納されています。通常、一つのキーマップファイルは、一つのキーボードレイアウトに対応しています。({{ic|include}} ステートメントを使用して共通部分を共有したり、キーマップファイルに複数のレイアウトと切り替え用のキーの組み合せを含めることができます)。詳細は、{{man|5|keymaps}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== キーマップの一覧表示 ===&lt;br /&gt;
&lt;br /&gt;
複数のコンポーネントによって構成されている [[XKB]] キーボードレイアウトとは異なり、仮想コンソールのキーボードレイアウトはコンポーネントがひとつしかありません。基本的にはひとつの keymap ファイルがひとつのキーボードレイアウトに対応しています (&#039;&#039;include&#039;&#039; ステートメントを使って共有の部分を共有することで keymap ファイルには複数のレイアウトを含めることができます)。keymap ファイルは {{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに保存されています。次のコマンドを使うことで利用可能な全てのキーマップを表示できます:&lt;br /&gt;
&lt;br /&gt;
 $ localectl list-keymaps&lt;br /&gt;
&lt;br /&gt;
コンソールキーマップの命名規則は厳格には定まっていませんが、一般的には [[Wikipedia:ISO_3166-1_alpha-2#Officially_assigned_code_elements|2-letter country code]] と variant をスラッシュ ({{ic|-}}) かアンダースコア ({{ic|_}}) で区切った名前が付けられています。&lt;br /&gt;
&lt;br /&gt;
find を使ってキーマップを調べることもできます:&lt;br /&gt;
&lt;br /&gt;
 $ find /usr/share/kbd/keymaps/ -type f&lt;br /&gt;
&lt;br /&gt;
=== Loadkeys ===&lt;br /&gt;
&lt;br /&gt;
現在のセッションでのみ有効なキーマップを設定することもできます。異なるキーマップを試したり、問題を解決したりするときに有用です。&lt;br /&gt;
&lt;br /&gt;
一時的な設定を行うには &#039;&#039;loadkeys&#039;&#039; ツールを使います。このツールは [[systemd|systemd]] によって {{ic|/etc/vconsole.conf}} に設定されたキーマップをロードするために内部的に使用されています。とても簡単に使えます:&lt;br /&gt;
&lt;br /&gt;
 # loadkeys &#039;&#039;keymap&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 loadkeys}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 永続的な設定 ===&lt;br /&gt;
&lt;br /&gt;
高度な設定を {{ic|/etc/vconsole.conf}} ですることができ、起動時に [[systemd|systemd]] によって読み込まれます。{{ic|KEYMAP}} 変数がキーマップの指定に使用されます。変数が空だったり設定されていない場合、デフォルトの値として {{ic|us}} キーマップが使われます。全てのオプションは {{ic|man 5 vconsole.conf}} を見て下さい。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/vconsole.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
KEYMAP=jp106&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;localectl&#039;&#039; を使ってコンソールのキーマップを設定することも可能です。コマンドを実行することで {{ic|/etc/vconsole.conf}} 内の {{ic|KEYMAP}} 変数が変更され現在のセッションのキーマップが設定されます。例:&lt;br /&gt;
&lt;br /&gt;
 $ localectl set-keymap --no-convert &#039;&#039;jp106&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 localectl}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== カスタムキーマップの作成 ===&lt;br /&gt;
&lt;br /&gt;
コンソールを使用する場合、ホットキーを使用して特定の文字を表示できます。 さらに、文字のシーケンスといくつかのエスケープシーケンスを表示することもできます。 したがって、コマンドを構成する文字のシーケンスを出力し、その後に改行のエスケープ文字を出力すると、そのコマンドが実行されます。&lt;br /&gt;
&lt;br /&gt;
これを行う1つの方法は、キーマップファイルを編集することです。 ただし、それが属するパッケージが更新されるたびに書き換えられるため、このファイルを編集することはお勧めしません。 既存のキーマップを個人のキーマップと統合することをお勧めします。 {{ic|loadkeys}}ユーティリティはこれを行うことができます。&lt;br /&gt;
&lt;br /&gt;
まず、キーマップファイルを作成します。 このキーマップファイルはどこにあってもかまいませんが、1つの方法は、{{ic|/ usr/local}}のディレクトリ階層を模倣することです。&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /usr/local/share/kbd/keymaps&lt;br /&gt;
 # vim /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
ちなみに、このような個人用キーマップは、デフォルトのキーマップですでに扱われているキーの動作を再定義する場合にも役立ちます。{{ic|loadkeys}}をロードすると、それらが新しい命令と競合する場合はデフォルトキーマップの命令が置き換えら 、それ以外の場合はそのまま保持されます。 このように、そのキーマップへの変更のみをパーソナルキーマップで指定する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ヒント|{{ic|/usr/share/kbd/keymaps/}}ディレクトリツリーにある既存のキーマップを編集することもできます。 キーマップには&#039;&#039;.map.gz&#039;&#039;拡張子が付いています。たとえば、{{ic|us.map.gz}}はアメリカのキーマップです。 キーマップを{{ic|/usr/local/share/kbd/keymaps/personal.map.gz}}にコピーし、「gunzip」してください。}}&lt;br /&gt;
&lt;br /&gt;
==== 命令を追加する ====&lt;br /&gt;
&lt;br /&gt;
このパーソナルキーマップには、2種類の命令が必要です。 まず、[[Extra Keyboard keys|keycode]]命令、これは、デフォルトのキーマップに表示される形式と一致します。 これらの命令は、キーコードをkeysymに関連付けます。 Keysymはキーボードアクションを表します。 使用可能なアクションには、文字コードまたは文字シーケンスの出力、コンソールまたはキーマップの切り替え、マシンの起動、およびその他の多くのアクションが含まれます。 現在アクティブな完全なキーマップは、次のコマンドで取得できます。&lt;br /&gt;
&lt;br /&gt;
 # dumpkeys -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ほとんどのkeysymは直感的です。 たとえば、キー112でもって「e」を出力するように設定するには、命令は次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112  = e&lt;br /&gt;
&lt;br /&gt;
キー112でもってユーロ記号を出力するように設定するには、ディレクティブは次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = euro&lt;br /&gt;
&lt;br /&gt;
一部のkeysymは、キーボードアクションにすぐには接続されません。 特に、大文字のFと30より大きい数からなる1〜3桁の数字(F1〜F246)が前に付いたキー記号は、常にフリーです。 これは、一連の文字やその他のアクションを出力するようにホットキーに指示するのに便利です。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = F70&lt;br /&gt;
&lt;br /&gt;
次に、F70をバインドして特定の文字列を出力できます。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;Hello&amp;quot;&lt;br /&gt;
&lt;br /&gt;
キー112を押すと、F70の内容が出力されます。 ターミナルに表示されたコマンドを実行するには、コマンド文字列の最後に改行エスケープ文字を追加する必要があります。 たとえば、[[Power_management#Suspend_and_hibernate|システムを休止状態にする]]ためには、次のキーマップを追加します。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;sudo systemctl hibernate\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== その他の例 ====&lt;br /&gt;
&lt;br /&gt;
* (Emacs用に)右Altキーを左Altキーと同じにするには、キーマップで次の行を使用します。 これはファイル{{ic|/usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc}}をインクルードします。詳細については、チェックしてください。&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;linux-with-two-alt-keys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* (Vim用に)CapsLockをEscapeと交換するには、それぞれのキーコードを再マップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 1 = Caps_Lock&lt;br /&gt;
 keycode 58 = Escape&lt;br /&gt;
&lt;br /&gt;
* CapsLockをもうひとつののコントロールキーにするには、それぞれのキーコードを再マップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
* CapsLock と左コントロールを交換するには、それぞれのキーコードをリマップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 29 = Caps_Lock&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
==== Saving changes ====&lt;br /&gt;
&lt;br /&gt;
In order to make use of the personal keymap, it must be loaded with &#039;&#039;loadkeys&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 # loadkeys /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
However this keymap is only active for the current session. In order to load the keymap at boot, specify the full path to the file in the {{ic|KEYMAP}} variable in [[#Persistent configuration|/etc/vconsole.conf]]. The file does not have to be gzipped as the official keymaps provided by {{Pkg|kbd}}.&lt;br /&gt;
&lt;br /&gt;
== typematic delay と rate の調整 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;typematic delay&#039;&#039; はキーリピートを始めるのにキーを押し続ける必要がある時間 (ミリ秒) を表します。キーリピートが開始されると、&#039;&#039;typematic rate&#039;&#039; によって指定された頻度 (Hz) で文字が繰り返されます。これらの値は &#039;&#039;kbdrate&#039;&#039; コマンドを使うことで変更できます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate [-d &#039;&#039;delay&#039;&#039;] [-r &#039;&#039;rate&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
例えば typematic delay を 200ms に typematic rate を 30Hz に設定するには、次のコマンドを実行します:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate -d 200 -r 30&lt;br /&gt;
&lt;br /&gt;
delay や rate の値を指定しないでコマンドを実行することで typematic の値をデフォルト (delay は 250ms で rate は 11Hz) に戻すことができます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate&lt;br /&gt;
&lt;br /&gt;
Xorg で設定したい場合は [[Xorg でのキーボード設定#typematic delay と rate の調整]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd サービス ===&lt;br /&gt;
&lt;br /&gt;
systemd サービスを使ってキーボードレートを設定することもできます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/kbdrate.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Keyboard repeat rate in tty.&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
StandardInput=tty&lt;br /&gt;
StandardOutput=tty&lt;br /&gt;
ExecStart=/usr/bin/kbdrate -s -d 450 -r 60&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
作成したら {{ic|kbdrate.service}} を[[起動]]・[[有効化]]してください。&lt;/div&gt;</summary>
		<author><name>For2ando</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25699</id>
		<title>Linux コンソール/キーボード設定</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Linux_%E3%82%B3%E3%83%B3%E3%82%BD%E3%83%BC%E3%83%AB/%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E8%A8%AD%E5%AE%9A&amp;diff=25699"/>
		<updated>2022-05-29T16:36:13Z</updated>

		<summary type="html">&lt;p&gt;For2ando: Translate several sections.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Linux コンソール]]&lt;br /&gt;
[[Category:キーボード設定]]&lt;br /&gt;
[[en:Keyboard configuration in console]]&lt;br /&gt;
[[es:Keyboard configuration in console]]&lt;br /&gt;
[[pt:KEYMAP]]&lt;br /&gt;
[[ru:Keyboard configuration in console]]&lt;br /&gt;
[[zh-hans:Keyboard configuration in console]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|Xorg でのキーボード設定}}&lt;br /&gt;
{{Related|特別なキーボードキー}}&lt;br /&gt;
{{Related|フォント#コンソールフォント}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
[[Wikipedia:ja:仮想コンソール|仮想コンソール]]のキーボードマッピング (keymap) やコンソールフォント、コンソールマップは {{Pkg|kbd}} パッケージ (既にインストールされているはずです) によって提供されています。このパッケージには仮想コンソールを管理するための低水準なツールも多く含まれています。さらに、systemd は localectl ツールも提供しています。これはシステムロケールとキーボードレイアウトの設定を仮想コンソールと Xorg の両方を制御できます。&lt;br /&gt;
&lt;br /&gt;
== キーボード設定の表示 ==&lt;br /&gt;
&lt;br /&gt;
{{ic|localectl status}} を使って、キーボード設定を表示することができます。&lt;br /&gt;
&lt;br /&gt;
== キーマップ ==&lt;br /&gt;
&lt;br /&gt;
キーマップファイルは、{{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに格納されています。通常、一つのキーマップファイルは、一つのキーボードレイアウトに対応しています。({{ic|include}} ステートメントを使用して共通部分を共有したり、キーマップファイルに複数のレイアウトと切り替え用のキーの組み合せを含めることができます)。詳細は、{{man|5|keymaps}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== キーマップの一覧表示 ===&lt;br /&gt;
&lt;br /&gt;
複数のコンポーネントによって構成されている [[XKB]] キーボードレイアウトとは異なり、仮想コンソールのキーボードレイアウトはコンポーネントがひとつしかありません。基本的にはひとつの keymap ファイルがひとつのキーボードレイアウトに対応しています (&#039;&#039;include&#039;&#039; ステートメントを使って共有の部分を共有することで keymap ファイルには複数のレイアウトを含めることができます)。keymap ファイルは {{ic|/usr/share/kbd/keymaps/}} ディレクトリツリーに保存されています。次のコマンドを使うことで利用可能な全てのキーマップを表示できます:&lt;br /&gt;
&lt;br /&gt;
 $ localectl list-keymaps&lt;br /&gt;
&lt;br /&gt;
コンソールキーマップの命名規則は厳格には定まっていませんが、一般的には [[Wikipedia:ISO_3166-1_alpha-2#Officially_assigned_code_elements|2-letter country code]] と variant をスラッシュ ({{ic|-}}) かアンダースコア ({{ic|_}}) で区切った名前が付けられています。&lt;br /&gt;
&lt;br /&gt;
find を使ってキーマップを調べることもできます:&lt;br /&gt;
&lt;br /&gt;
 $ find /usr/share/kbd/keymaps/ -type f&lt;br /&gt;
&lt;br /&gt;
=== Loadkeys ===&lt;br /&gt;
&lt;br /&gt;
現在のセッションでのみ有効なキーマップを設定することもできます。異なるキーマップを試したり、問題を解決したりするときに有用です。&lt;br /&gt;
&lt;br /&gt;
一時的な設定を行うには &#039;&#039;loadkeys&#039;&#039; ツールを使います。このツールは [[systemd|systemd]] によって {{ic|/etc/vconsole.conf}} に設定されたキーマップをロードするために内部的に使用されています。とても簡単に使えます:&lt;br /&gt;
&lt;br /&gt;
 # loadkeys &#039;&#039;keymap&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 loadkeys}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== 永続的な設定 ===&lt;br /&gt;
&lt;br /&gt;
高度な設定を {{ic|/etc/vconsole.conf}} ですることができ、起動時に [[systemd|systemd]] によって読み込まれます。{{ic|KEYMAP}} 変数がキーマップの指定に使用されます。変数が空だったり設定されていない場合、デフォルトの値として {{ic|us}} キーマップが使われます。全てのオプションは {{ic|man 5 vconsole.conf}} を見て下さい。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/vconsole.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
KEYMAP=jp106&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;localectl&#039;&#039; を使ってコンソールのキーマップを設定することも可能です。コマンドを実行することで {{ic|/etc/vconsole.conf}} 内の {{ic|KEYMAP}} 変数が変更され現在のセッションのキーマップが設定されます。例:&lt;br /&gt;
&lt;br /&gt;
 $ localectl set-keymap --no-convert &#039;&#039;jp106&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
詳しくは {{ic|man 1 localectl}} を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== カスタムキーマップの作成 ===&lt;br /&gt;
&lt;br /&gt;
コンソールを使用する場合、ホットキーを使用して特定の文字を表示できます。 さらに、文字のシーケンスといくつかのエスケープシーケンスを表示することもできます。 したがって、コマンドを構成する文字のシーケンスを出力し、その後に改行のエスケープ文字を出力すると、そのコマンドが実行されます。&lt;br /&gt;
&lt;br /&gt;
これを行う1つの方法は、キーマップファイルを編集することです。 ただし、それが属するパッケージが更新されるたびに書き換えられるため、このファイルを編集することはお勧めしません。 既存のキーマップを個人のキーマップと統合することをお勧めします。 {{ic|loadkeys}}ユーティリティはこれを行うことができます。&lt;br /&gt;
&lt;br /&gt;
まず、キーマップファイルを作成します。 このキーマップファイルはどこにあってもかまいませんが、1つの方法は、{{ic|/ usr/local}}のディレクトリ階層を模倣することです。&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /usr/local/share/kbd/keymaps&lt;br /&gt;
 # vim /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
ちなみに、このような個人用キーマップは、デフォルトのキーマップですでに扱われているキーの動作を再定義する場合にも役立ちます。{{ic|loadkeys}}をロードすると、それらが新しい命令と競合する場合はデフォルトキーマップの命令が置き換えら 、それ以外の場合はそのまま保持されます。 このように、そのキーマップへの変更のみをパーソナルキーマップで指定する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ヒント|{{ic|/usr/share/kbd/keymaps/}}ディレクトリツリーにある既存のキーマップを編集することもできます。 キーマップには&#039;&#039;.map.gz&#039;&#039;拡張子が付いています。たとえば、{{ic|us.map.gz}}はアメリカのキーマップです。 キーマップを{{ic|/usr/local/share/kbd/keymaps/personal.map.gz}}にコピーし、「gunzip」してください。}}&lt;br /&gt;
&lt;br /&gt;
==== 命令を追加する ====&lt;br /&gt;
&lt;br /&gt;
このパーソナルキーマップには、2種類の命令が必要です。 まず、[[Extra Keyboard keys|keycode]]命令、これは、デフォルトのキーマップに表示される形式と一致します。 これらの命令は、キーコードをkeysymに関連付けます。 Keysymはキーボードアクションを表します。 使用可能なアクションには、文字コードまたは文字シーケンスの出力、コンソールまたはキーマップの切り替え、マシンの起動、およびその他の多くのアクションが含まれます。 現在アクティブな完全なキーマップは、次のコマンドで取得できます。&lt;br /&gt;
&lt;br /&gt;
 # dumpkeys -l&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ほとんどのkeysymは直感的です。 たとえば、キー112でもって「e」を出力するように設定するには、命令は次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112  = e&lt;br /&gt;
&lt;br /&gt;
キー112でもってユーロ記号を出力するように設定するには、ディレクティブは次のようになります。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = euro&lt;br /&gt;
&lt;br /&gt;
一部のkeysymは、キーボードアクションにすぐには接続されません。 特に、大文字のFと30より大きい数からなる1〜3桁の数字(F1〜F246)が前に付いたキー記号は、常にフリーです。 これは、一連の文字やその他のアクションを出力するようにホットキーに指示するのに便利です。&lt;br /&gt;
&lt;br /&gt;
 keycode 112 = F70&lt;br /&gt;
&lt;br /&gt;
次に、F70をバインドして特定の文字列を出力できます。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;Hello&amp;quot;&lt;br /&gt;
&lt;br /&gt;
キー112を押すと、F70の内容が出力されます。 ターミナルに表示されたコマンドを実行するには、コマンド文字列の最後に改行エスケープ文字を追加する必要があります。 たとえば、[[Power_management#Suspend_and_hibernate|システムを休止状態にする]]ためには、次のキーマップを追加します。&lt;br /&gt;
&lt;br /&gt;
 string F70 = &amp;quot;sudo systemctl hibernate\n&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== その他の例 ====&lt;br /&gt;
&lt;br /&gt;
* To make the Right Alt key same as Left Alt key (for Emacs), use the following line in your keymap. It will include the file {{ic|/usr/share/kbd/keymaps/i386/include/linux-with-two-alt-keys.inc}}, check it for details.&lt;br /&gt;
&lt;br /&gt;
 include &amp;quot;linux-with-two-alt-keys&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* To swap CapsLock with Escape (for Vim), remap the respective keycodes:&lt;br /&gt;
&lt;br /&gt;
 keycode 1 = Caps_Lock&lt;br /&gt;
 keycode 58 = Escape&lt;br /&gt;
&lt;br /&gt;
* To make CapsLock another Control key, remap the respective keycode:&lt;br /&gt;
&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
* CapsLock と左コントロールを交換するには、それぞれのキーコードをリマップします。&lt;br /&gt;
&lt;br /&gt;
 keycode 29 = Caps_Lock&lt;br /&gt;
 keycode 58 = Control&lt;br /&gt;
&lt;br /&gt;
==== Saving changes ====&lt;br /&gt;
&lt;br /&gt;
In order to make use of the personal keymap, it must be loaded with &#039;&#039;loadkeys&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
 # loadkeys /usr/local/share/kbd/keymaps/personal.map&lt;br /&gt;
&lt;br /&gt;
However this keymap is only active for the current session. In order to load the keymap at boot, specify the full path to the file in the {{ic|KEYMAP}} variable in [[#Persistent configuration|/etc/vconsole.conf]]. The file does not have to be gzipped as the official keymaps provided by {{Pkg|kbd}}.&lt;br /&gt;
&lt;br /&gt;
== typematic delay と rate の調整 ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;typematic delay&#039;&#039; はキーリピートを始めるのにキーを押し続ける必要がある時間 (ミリ秒) を表します。キーリピートが開始されると、&#039;&#039;typematic rate&#039;&#039; によって指定された頻度 (Hz) で文字が繰り返されます。これらの値は &#039;&#039;kbdrate&#039;&#039; コマンドを使うことで変更できます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate [-d &#039;&#039;delay&#039;&#039;] [-r &#039;&#039;rate&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
例えば typematic delay を 200ms に typematic rate を 30Hz に設定するには、次のコマンドを実行します:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate -d 200 -r 30&lt;br /&gt;
&lt;br /&gt;
delay や rate の値を指定しないでコマンドを実行することで typematic の値をデフォルト (delay は 250ms で rate は 11Hz) に戻すことができます:&lt;br /&gt;
&lt;br /&gt;
 # kbdrate&lt;br /&gt;
&lt;br /&gt;
Xorg で設定したい場合は [[Xorg でのキーボード設定#typematic delay と rate の調整]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Systemd サービス ===&lt;br /&gt;
&lt;br /&gt;
systemd サービスを使ってキーボードレートを設定することもできます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/systemd/system/kbdrate.service|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Keyboard repeat rate in tty.&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
RemainAfterExit=yes&lt;br /&gt;
StandardInput=tty&lt;br /&gt;
StandardOutput=tty&lt;br /&gt;
ExecStart=/usr/bin/kbdrate -s -d 450 -r 60&lt;br /&gt;
 &lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
作成したら {{ic|kbdrate.service}} を[[起動]]・[[有効化]]してください。&lt;/div&gt;</summary>
		<author><name>For2ando</name></author>
	</entry>
</feed>