追加読書

追加読書

キーボードレイアウト/マッピングを変更できましたXウィンドウシステム使用中です~/.Xmodmap(私の考えではあなたも合格できると思います)X-プロトコル直接使用図書館Xプロトコル呼び出しのためのラッパーとして)。

コンソール/ ttyで.onを使用できました(例:Xが実行されていないとき)loadkeys

キーボードレイアウトを同様にカスタマイズする方法はありますか?単一ソース、次のようにXとコンソールに影響を与えます。 「Xとコンソールにこだわらない」方法で?

(私が考えることができる唯一の方法は、カーネルの入力インターフェースと会話し、必要な入力をevdevuinput?経由で)送信する「キーボードドライバ」を作成することです。しかし、それが意味があるかどうかはわかりません。

ベストアンサー1

はい、方法があります。これが実際にDebianのコンソール設定パッケージが行うことです。

  • キーボードレイアウトは、管理者がファイル名で生成しますkeyboard/etc/default/keyboardこれは単一のソースであり、テキストエディタを使用して編集できます。
  • プログラムsetxkbmapには同じXKB設定があり、それに応じてX11サーバーを構成します。
    • キーボード設定パッケージのインストール後にメンテナンスプログラムスクリプトにX11モニタがあることがわかったら、setxkbmap単にセットアップを実行して設定します。/etc/default/keyboardしたがって、dpkg-reconfigure keyboard-configurationX11 GUI端末エミュレータで実行すると、X11キーボードのレイアウトに影響します。
  • スクリプトsetupconはこれらのXKB設定を取得してユーティリティに渡してキーマップを生成し、ckbcompキーマップをカーネル仮想端末に使用/ロードします。 loadkeyskbdcontrol
    • このスクリプトは、システムが起動するとサービスによって実行されます。
    • 他の時間に手動で実行することもできます。

他のシステムオペレーティングシステムは異なる動作をしますが、単一のソースもあります。

  • XKB レイアウト、バリアント、オプションは/etc/X11/xorg.conf.d/00-keyboard.conf単一のソースに保存されます。
    • このファイルは起動時にX11サーバーから直接読み取られ、X11キーマップを直接設定します。
    • このファイルは起動時に解析されますsystemd-localedsystemd-localedサービスは独自のメモリ情報でファイルを上書きするため、実行中はテキストエディタでファイルを便利に編集できません。
    • localectlXKB情報を変更するには、他のサーバーと通信し、再び他のサーバーと通信する実行が必要ですsystemd-localed
  • systemd-localedのマッピングを使用してXKB設定を仮想端末キーマップ名に変換して/usr/share/systemd/kbd-model-map作成します/etc/vconsole.conf。 Debianシステムとは異なり、XKB情報に基づいてマップを動的に生成するのではなく、マップファイルにリストされている事前提供静的マップのみを選択します。
  • systemd-vconsole-setupブートローダで実行し、を/etc/vconsole.conf実行してキーマップを読み取り、カーネル仮想端末にロードしますloadkeys

追加読書

おすすめ記事