# Keyboard Configuration in Console (日本語)

関連記事

- Xorg でのキーボード設定
- Extra Keyboard Keys

Note: この記事ではレイアウトの修正や追加キーのマッピングなどを除く基本的な設定についてのみ説明しています。省かれている高度な話題については Extra Keyboard Keys を参照してください。

仮想コンソールのキーボードマッピング (keymap) やコンソールフォント、コンソールマップは kbd パッケージ (既にインストールされているはずです) によって提供されています。このパッケージには仮想コンソールを管理するための低水準なツールも多く含まれています。

## キーボード設定の表示

次のコマンドを使うことでキーボード設定を表示することができます:

    $ localectl status

       System Locale: LANG=ja_JP.UTF-8
           VC Keymap: jp106
          X11 Layout: n/a

## キーボードレイアウトの設定

複数のコンポーネントによって構成されている XKB キーボードレイアウトとは異なり、仮想コンソールのキーボードレイアウトはコンポーネントがひとつしかありません。基本的にはひとつの keymap ファイルがひとつのキーボードレイアウトに対応しています (include ステートメントを使って共有の部分を共有することで keymap ファイルには複数のレイアウトを含めることができます)。keymap ファイルは `/usr/share/kbd/keymaps/` ディレクトリツリーに保存されています。次のコマンドを使うことで利用可能な全てのキーマップを表示できます:

    $ localectl list-keymaps

コンソールキーマップの命名規則は厳格には定まっていませんが、一般的には 2-letter country code と variant をスラッシュ (`-`) かアンダースコア (`_`) で区切った名前が付けられています。

### 永続的な設定

高度な設定を `/etc/vconsole.conf` ですることができ、起動時に systemd によって読み込まれます。`KEYMAP` 変数がキーマップの指定に使用されます。変数が空だったり設定されていない場合、デフォルトの値として `us` キーマップが使われます。全てのオプションは `man 5 vconsole.conf` を見て下さい。例:

    /etc/vconsole.conf

    KEYMAP=jp106
    ...

localectl を使ってコンソールのキーマップを設定することも可能です。コマンドを実行することで `/etc/vconsole.conf` 内の `KEYMAP` 変数が変更され現在のセッションのキーマップが設定されます。例:

    $ localectl set-keymap --no-convert jp106

詳しくは `man 1 localectl` を参照してください。

### 一時的な設定

もちろん現在のセッションでのみ有効なキーマップを設定することもできます。異なるキーマップを試したり、問題を解決したりするときに有用です。

一時的な設定を行うには loadkeys ツールを使います。このツールは systemd によって `/etc/vconsole.conf` に設定されたキーマップをロードするために内部的に使用されています。とても簡単に使えます:

    # loadkeys keymap

詳しくは `man 1 loadkeys` を参照してください。

## 他の設定

### コンソールフォントの変更

kbd パッケージにはコンソールフォントやフォントマッピングを変更するためのツールが含まれています。フォントは `/usr/share/kbd/consolefonts/` ディレクトリに保存されています。

`vconsole.conf` 内で `FONT` や `FONT_MAP` 変数を使うことで設定できます:

    /etc/vconsole.conf

    ...
    FONT=Lat2-Terminus16
    FONT_MAP=8859-2

`FONT` 変数が空だったり設定されていない場合、カーネルに組み込まれているフォントがデフォルトとして使われます。詳細は `man 5 vconsole.conf` を参照してください。

### typematic delay と rate の調整

typematic delay はキーリピートを始めるのにキーを押し続ける必要がある時間 (ミリ秒) を表します。キーリピートが開始されると、typematic rate によって指定された頻度 (Hz) で文字が繰り返されます。これらの値は kbdrate コマンドを使うことで変更できます:

    # kbdrate [-d delay] [-r rate]

例えば typematic delay を 200ms に typematic rate を 30Hz に設定するには、次のコマンドを実行します:

    # kbdrate -d 200 -r 30

delay や rate の値を指定しないでコマンドを実行することで typematic の値をデフォルト (delay は 250ms で rate は 11Hz) に戻すことができます:

    # kbdrate

Category:

- Keyboards (日本語)