Difference between revisions of "Keyboard Configuration in Xorg (日本語)"

From ArchWiki
Jump to: navigation, search
m
Line 3: Line 3:
 
[[en:Keyboard Configuration in Xorg]]
 
[[en:Keyboard Configuration in Xorg]]
 
[[es:Keyboard Configuration in Xorg]]
 
[[es:Keyboard Configuration in Xorg]]
{{Article summary start|概要}}
+
{{Related articles start (日本語)}}
{{Article summary text|[[Xorg (日本語)|Xorg]] におけるキーボードレイアウトの基本的な設定。}}
+
{{Related2|Keyboard Configuration in Console (日本語)|コンソールでのキーボード設定}}
{{Article summary heading|関連項目}}
+
{{Related|Extra Keyboard Keys}}
{{Article summary wiki|Keyboard Configuration in Console (日本語)}}
+
{{Related2|Xorg (日本語)|Xorg}}
{{Article summary wiki|Extra Keyboard Keys}}
+
{{Related|X KeyBoard extension}}
{{Article summary wiki|Xorg (日本語)}}
+
{{Related articles end}}
{{Article summary wiki|X KeyBoard extension}}
+
{{Article summary heading|DE 特有の設定}}
+
{{Article summary wiki|GNOME (日本語)#Modify Keyboard with XkbOptions}}
+
{{Article summary wiki|KDE (日本語)#キーボードレイアウトの設定}}
+
{{Article summary end}}
+
  
 
{{Note|この記事ではレイアウトの修正や追加キーのマッピングなどを除く基本的な設定についてのみ説明しています。省かれている高度な話題については [[Extra Keyboard Keys]] を参照してください。}}
 
{{Note|この記事ではレイアウトの修正や追加キーのマッピングなどを除く基本的な設定についてのみ説明しています。省かれている高度な話題については [[Extra Keyboard Keys]] を参照してください。}}
Line 19: Line 14:
 
Xorg は [[X KeyBoard extension]] (XKB) を使ってキーボードレイアウトを管理しています。また、[[xmodmap]] を使って内部のキーマップテーブルに直接アクセスすることができます。一般的に、単純な作業以外での ''xmodmap'' の使用は推奨されていません。
 
Xorg は [[X KeyBoard extension]] (XKB) を使ってキーボードレイアウトを管理しています。また、[[xmodmap]] を使って内部のキーマップテーブルに直接アクセスすることができます。一般的に、単純な作業以外での ''xmodmap'' の使用は推奨されていません。
  
この記事ではほとんどの環境で効果がある XKB を使った低水準な設定を説明していますが、[[GNOME (日本語)|GNOME]] などのデスクトップ環境によって設定が上書きされることもあります。
+
この記事ではほとんどの環境で効果がある XKB を使った低いレベルでの設定を説明していますが、[[GNOME (日本語)|GNOME]] などのデスクトップ環境によって設定が上書きされることもあります。デスクトップ環境ごとの情報も読んで下さい:
 +
 
 +
* [[GNOME (日本語)#XkbOptions でキーボードを変更する]]
 +
* [[KDE (日本語)#キーボードの設定]]
  
 
== キーボード設定の表示 ==
 
== キーボード設定の表示 ==
Line 46: Line 44:
 
};
 
};
 
</nowiki>}}
 
</nowiki>}}
 +
 +
=== サードパーティのユーティリティ ===
 +
 +
現在使用しているキーボードレイアウトの情報を表示するための"非公式の"ユーティリティも存在します。
 +
 +
* {{AUR|xkb-switch-git}}:
 +
 +
{{hc|$ xkb-switch|us}}
 +
 +
* {{AUR|xkblayout-state}}:
 +
 +
{{hc|$ xkblayout-state print "%s"|de}}
  
 
== キーボードレイアウトの設定 ==
 
== キーボードレイアウトの設定 ==
Line 156: Line 166:
  
 
{{Tip|XIM はとても古く、他の入力メソッドの方がうまくいくかもしれません: [[Smart Common Input Method platform (日本語)|SCIM]], [[Input Japanese using uim (日本語)|uim]], [[IBus (日本語)|IBus]] など。詳しくは [[Internationalization#Input methods in Xorg]] を見て下さい。}}
 
{{Tip|XIM はとても古く、他の入力メソッドの方がうまくいくかもしれません: [[Smart Common Input Method platform (日本語)|SCIM]], [[Input Japanese using uim (日本語)|uim]], [[IBus (日本語)|IBus]] など。詳しくは [[Internationalization#Input methods in Xorg]] を見て下さい。}}
 +
 +
=== 通貨記号 ===
 +
 +
ほとんどのヨーロッパ言語キーボードでは {{ic|5}} キーの上にユーロ記号 (€) が印字されています。{{ic|ALT}}+{{ic|5}} などでユーロを打てるようにするには、{{ic|lv3:lalt_switch}} や {{ic|eurosign:5}} オプションを使って下さい。
 +
 +
ルピー記号 (₹) は同じように {{ic|rupeesign:4}} で使うことができます。
  
 
== 他の設定 ==
 
== 他の設定 ==

Revision as of 11:15, 27 January 2014

Template:Related articles start (日本語)

  • コンソールでのキーボード設定
  • Extra Keyboard Keys
  • Xorg
  • X KeyBoard extension
  • </ul></div>

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

    Xorg は X KeyBoard extension (XKB) を使ってキーボードレイアウトを管理しています。また、xmodmap を使って内部のキーマップテーブルに直接アクセスすることができます。一般的に、単純な作業以外での xmodmap の使用は推奨されていません。

    この記事ではほとんどの環境で効果がある XKB を使った低いレベルでの設定を説明していますが、GNOME などのデスクトップ環境によって設定が上書きされることもあります。デスクトップ環境ごとの情報も読んで下さい:

    キーボード設定の表示

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

    $ setxkbmap -print -verbose 10
    Setting verbose level to 10
    locale is C
    Applied rules from evdev:
    model:      evdev
    layout:     jp
    options:    terminate:ctrl_alt_bksp
    Trying to build keymap using the following components:
    keycodes:   evdev+aliases(qwerty)
    types:      complete
    compat:     complete+japan
    symbols:    pc+jp+inet(evdev)+terminate(ctrl_alt_bksp)
    geometry:   pc(pc104)
    xkb_keymap {
            xkb_keycodes  { include "evdev+aliases(qwerty)" };
            xkb_types     { include "complete"      };
            xkb_compat    { include "complete"      };
            xkb_symbols   { include "pc+jp+inet(evdev)+terminate(ctrl_alt_bksp)"    };
            xkb_geometry  { include "pc(pc104)"     };
    };
    

    サードパーティのユーティリティ

    現在使用しているキーボードレイアウトの情報を表示するための"非公式の"ユーティリティも存在します。

    $ xkb-switch
    us
    $ xkblayout-state print "%s"
    de

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

    Xorg のキーボードレイアウトは複数の方法で設定することが可能です。以下は使用されるオプションの説明です:

    • XkbModel はキーボードのモデルを選択します。あなたのキーボードにある追加キーにのみ影響を与えます。pc104pc105 は安全なフォールバックです。ラップトップには追加キーが複数存在することがあり、適切なモデルを設定することでそれらのキーを利用することができます。
    • XkbLayout はキーボードのレイアウトを選択します。レイアウトを素早く切り替えたい場合、カンマで区切ることで複数のレイアウトを指定することが可能です。
    • XkbVariant は特定のレイアウトのバリアントを選択します。例えば、sk のデフォルトのバリアントは qwertz ですが、手動で qwerty などを指定することができます。
    Warning: 指定したレイアウトと同じ数だけバリアントを指定してください。デフォルトのバリアントでいい場合は、空文字を指定してください (カンマはそのまま)。例えば、第一にデフォルトの us レイアウト、第二に us レイアウトの dvorak バリアントを使いたい場合、XkbLayout には us,usXkbVariant には ,dvorak を指定してください。
    • XkbOptions には追加のオプションを含めます。レイアウトの切り替えや、通知 LED、コンポーズモードなどを指定するために使われます。

    レイアウトの名前は基本的に 2-letter country code です。キーボードのモデル・レイアウト・バリアント・オプション、そしてその説明を見たいときは /usr/share/X11/xkb/rules/base.lst を開いて下さい。また、以下のコマンドを使うことで一覧を表示することができます:

    • localectl list-x11-keymap-models
    • localectl list-x11-keymap-layouts
    • localectl list-x11-keymap-variants [layout]
    • localectl list-x11-keymap-options

    以下のサブセクションに含まれているサンプルはどれも同じ設定です。pc104 モデルで、第一レイアウトに jp 第二レイアウトに us を、us レイアウトに dvorak バリアント、そしてレイアウトの切り替えに Alt+Shift を使うよう設定します。

    setxkbmap を使う

    setxkbmap ツールは実行中の X サーバーのキーボードレイアウトを設定し、セッションが終了するまで設定は持続します。また xinitrc を使うことで設定を再起動後も永続させることができます。X の設定ファイルによって指定されたシステム全体の設定を上書きしたいときに有用です。

    使用方法は次の通りです:

    $ setxkbmap [-model xkb_model] [-layout xkb_layout] [-variant xkb_variant] [-option xkb_options]
    

    全てのオプションを指定する必要はありません。例えば、レイアウトだけを変えることができます:

    $ setxkbmap -layout xkb_layout
    

    コマンドラインの引数の全ての一覧は man 1 setxkbmap を見て下さい。

    例:

    $ setxkbmap -model pc104 -layout jp,us -variant ,dvorak -option grp:alt_shift_toggle
    

    X の設定ファイルを使う

    X の設定ファイルの構文は Xorg (日本語)#設定 で説明しています。この方法はシステム全体で適用される設定を作成して再起動後も設定が持続します。

    以下サンプル:

    /etc/X11/xorg.conf.d/10-keyboard.conf
    Section "InputClass"
            Identifier "system-keyboard"
            MatchIsKeyboard "on"
            Option "XkbLayout" "jp,us"
            Option "XkbModel" "pc104"
            Option "XkbVariant" ",dvorak"
            Option "XkbOptions" "grp:alt_shift_toggle"
    EndSection
    

    localectl を使う

    X の設定ファイルを手動で編集する代わりに、localectl ツールを使うことができます。このツールは設定を /etc/X11/xorg.conf.d/00-keyboard.conf に保存します。起動時に localectl は変更を上書きするので、手動でこのファイルを編集してはいけません。

    使用法は次の通りです:

    $ localectl set-x11-keymap layout [model] [variant] [options]
    

    次のコマンドは上のサンプルと全く同じ内容で /etc/X11/xorg.conf.d/00-keyboard.conf ファイルを作成します:

    $ localectl set-x11-keymap jp,us pc104 ,dvorak grp:alt_shift_toggle
    

    よく使われる XKB オプション

    キーボードレイアウトの切り替え

    キーボードレイアウトの簡単な切り替えを有効にするには、まず切り替えるために複数のレイアウトを指定してください (最初のレイアウトがデフォルトになります)。次に、切り替えに使用するキー (もしくはキーの組み合わせ) を指定します。例えば、CapsLock キーで US と Swedish レイアウトを切り替えたい場合、XkbLayout の引数に us,seXkbOptions の引数に grp:caps_toggle を指定してください。

    CapsLock 以外のキーコンビネーションを使うこともできます。/usr/share/X11/xkb/rules/base.lst 内の grp: で始まって _toggle で終わっているのがそうです。利用できるオプションの完全な一覧を表示するには、次のコマンドを実行してください:

    $ grep "grp:.*_toggle" /usr/share/X11/xkb/rules/base.lst
    

    Ctrl+Alt+Backspace で Xorg を終了する

    デフォルトで、キーの組み合わせ Ctrl+Alt+Backspace は無効になっています。XkbOptionsterminate:ctrl_alt_bksp を指定することで有効にできます。

    Caps Lock と左 Control を交換する

    Caps Lock と左 Control キーを交換するには、XkbOptionsctrl:swapcaps を追加してください。次のコマンドを実行することで似たようなオプションとその説明を表示できます:

    $ grep -E "(ctrl|caps):" /usr/share/X11/xkb/rules/base.lst
    

    マウスキーを有効にする

    現在マウスキーはデフォルトで無効にされているので keypad:pointerkeysXkbOptions に加えて手動で有効にする必要があります。Shift+NumLock ショートカットによってマウスキーの切り替えが行えます。

    コンポーズキーの設定

    コンポーズキーを押して他のキーを押すと、ユニコード文字が打ち込まれます。例えば、多くの設定では compose_key ' e を押すことで é が作られます。キーボードレイアウトとは異なる言語を入力する必要があるときに有用です (英語キーボードでフランス語・イタリア語・ドイツ語を入力する場合など)。

    例えば、右の Alt キーをコンポーズキーにしたいのなら、XkbOptionscompose:ralt を指定してください。

    他のキーをコンポーズキーにすることもできます。/usr/share/X11/xkb/rules/base.lst 内の compose: で始まっているのがそうです。利用できるオプションの完全な一覧を表示するには、次のコマンドを実行してください:

    $ grep "compose:" /usr/share/X11/xkb/rules/base.lst
    

    キーの組み合わせ

    コンポーズキーのデフォルトのコンビネーションは /usr/share/X11/locale/used_locale/Compose に保存されているロケールによります。used_locale は例えば en_US.UTF-8 になります。

    デフォルトのファイルを ~/.XCompose にコピーして編集することでコンポーズキーの組み合わせを定義することが可能です。コンポーズキーは数千のユニコード文字全てで動作し、基本多言語面にない文字も含みます。

    ただし、GTK はデフォルトで XIM を使わないので ~/.XCompose に設定したキーが使えません。この問題は ~/.xprofileexport GTK_IM_MODULE=ximexport XMODIFIERS="@im=none" を追加して GTK に XIM を使わせることで修正できます。

    Tip: XIM はとても古く、他の入力メソッドの方がうまくいくかもしれません: SCIM, uim, IBus など。詳しくは Internationalization#Input methods in Xorg を見て下さい。

    通貨記号

    ほとんどのヨーロッパ言語キーボードでは 5 キーの上にユーロ記号 (€) が印字されています。ALT+5 などでユーロを打てるようにするには、lv3:lalt_switcheurosign:5 オプションを使って下さい。

    ルピー記号 (₹) は同じように rupeesign:4 で使うことができます。

    他の設定

    typematic delay と rate の調整

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

    $ xset r rate delay [rate]
    

    例えば typematic delay を 200ms に typematic rate を 30Hz に設定するには、次のコマンドを実行します (xinitrc を使えば設定を永続化できます):

    $ xset r rate 200 30
    

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

    $ xset r rate