GNU/Linux >> Linux の 問題 >  >> Linux

Linux でコンソールのキーマップを変更するには?

仮想コンソールのキーボード レイアウトを操作するツールは loadkeys です。 、 dumpkeysshowkey .それらのマンページを読み、それらの複雑さを理解してください。

これらのツールは仮想コンソールでのみ機能し、gnome のようなグラフィカル環境の端末エミュレーターでは機能しないことに注意してください。違いについては、この質問と回答をお読みください:https://askubuntu.com/questions/14284/why-is-a-virtual-terminal-virtual-and-what-why-where-is-the-real-terminal .

やりたいことを実行するための簡単なガイドは次のとおりです:

<オール>
  • 現在のキーボード レイアウトを保存します:

    $ dumpkeys > backup.kmap
    

    何か問題が発生した場合は、次のコマンドを使用してキーマップを復元できる場合があります:

    $ sudo loadkeys backup.kmap
    

    キーボードがめちゃくちゃでこれもできない場合、古代のカーネル マジックを使用しない唯一の選択肢は再起動することです。

  • キーに割り当てられているキーコードを確認してください:

    $ showkey
    

    ここで、ESC キーと CAPSLOCK キーを押します。キーコードが画面に表示されます。キーコードに注意してください。私のシステムでは、ESC のキーコードは 1 で、CAPSLOCK のキーコードは 58 です。 showkey 非アクティブ状態が 10 秒続くと終了します (少なくとも、私の ubuntu 10.04 ではそうです)。

  • dumpkeys の ESC キーと CAPSLOCK キーの名前に注意してください:

    $ dumpkeys | grep 1
    ...
    keycode   1 = Escape
    ...
    $ dumpkeys | grep 58
    ...
    keycode  58 = CtrlL_Lock
    ...
    
  • dumpkeys のキーマップ行に注意してください:

    $ dumpkeys | head -1
    keymaps 0-127
    
  • ESC と CAPSLOCK を切り替えるキーマップ ファイルを作成します:

    keymaps 0-127
    keycode   1 = CtrlL_Lock
    keycode  58 = Escape
    
  • キーマップを読み込みます:

    $ sudo loadkeys swap_esc_capslock.kmap
    
  • テスト:CAPSLOCK キーのテストは明らかです。 CAPSLOCK キーを押して、他のキーが大文字で表示されるかどうかを確認します。 ESC キーをテストするには、CTRL+V に続いて ESC を使用できます。 ^[ を出力する必要があります . CTRL+V を押すと、シェルは次のキーを解釈する代わりに逐語的に出力します。

  • この変更を再起動のたびにロードするには、次の行を /etc/rc.local に追加します ファイル:

    /usr/bin/loadkeys /path/to/swap_esc_capslock.kmap
    

    以下を含むがこれらに限定されない、さまざまなページから収集された情報:

    • http://tldp.org/HOWTO/Keyboard-and-Console-HOWTO-15.html
    • http://www.mail-archive.com/[email protected]/msg01407.html
    • http://ubuntuforums.org/showthread.php?p=4591324#post4591324

    2 つの capslock キーだけが必要な場合は、'ctrl:swapcaps' の代わりに 'ctrl:nocaps' を使用します (別の名前の capslock は依然として非常に役に立ちません)。

    X11:(参照:/usr/share/X11/xkb/rules/base.lst )

    sudo vim /etc/default/keyboard
        XKBOPTIONS="ctrl:swapcaps"
    udevadm trigger --subsystem-match=input --action=change
    sudo restart lightdm
    

    テキスト コンソール:(setupcon から盗まれました)

    #!/bin/sh
    . /etc/default/console-setup 
    . /etc/default/keyboard
    ckbcomp $acm_option $rules_option -model "$XKBMODEL" \
                "$XKBLAYOUT" "$XKBVARIANT" "$XKBOPTIONS" \
                | gzip -9 2>/dev/null >/etc/console-setup/cached.kmap.gz
    loadkeys /etc/console-setup/cached.kmap.gz
    

    Linux
    1. Linuxでユーザー名を変更する方法

    2. LinuxでSSHポートを変更する方法

    3. Linux でスワップ パーティションを変更するにはどうすればよいですか?

    1. Linuxでホスト名を変更する方法

    2. Linuxでシステムホスト名を設定または変更する方法

    3. Linuxでホスト名を変更する方法

    1. Redhat7Linuxでホスト名を変更する方法

    2. KaliLinuxで時間を変更する方法

    3. Linuxでシェルを変更する方法