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

ローキーボードモードとは何ですか?

キーボードのキーを押すと、スキャン コードと呼ばれる数値コードがコンピューターに送信されます。スキャン コードは、どのキーが押されたかをコンピューターに伝えます。たとえば、典型的な US キーボードでは、A キーは、押すとスキャン コード 30 を送信します (離すと 158)。キーボードが raw モードの場合、キーボード ドライバーは、これらのコードをアプリケーションに直接報告します (「raw」とは、未処理で、そのままキーボードを使用することを意味します)。一部のプログラムは raw モードを使用し、独自のキーボード処理を行います。 X サーバーが最も有名です。

ほとんどのプログラムは、A を押すと、 キー、プログラムは文字 a を読み取ります (ASCII 97)、そして Shift を押すと +A プログラムは A を読み取ります (ASCII 65)、および Ctrl を押すと +A プログラムは Ctrl+A を読み取ります 文字 (ASCII 1)。文字が関連付けられていないキーは、エスケープ シーケンスを送信します。 \e[A 、ここで \e ESC 文字 (ASCII 27) です。キーボード ドライバーは、キーボードが XLATE モード (「変換」の略) とも呼ばれる ASCII モードのときにこの変換を実行します。 XLATE モードでは、アプリケーションは文字入力を行うことができますが、Ctrl+A とは異なり、「左 Shift キーが押された」または Ctrl+Shift+A などのニュアンスにアクセスできないという犠牲が伴います。

kbd_mode モードを切り替えることができ、引数なしで呼び出すと現在のモードが表示されます。

魔法の SysRq キーの組み合わせは、さまざまな厄介な状況から回復するためのものです。キーの組み合わせの 1 つは Alt+SysRq+K です 現在の仮想コンソール上のすべてのプログラムを強制終了します。そのプログラムがキーボードを raw モードにすると、ログイン プロンプトで入力できなくなります (システム構成によっては、ログイン プロンプトが表示されることがよくあります)。 Alt+SysRq+R を押す 文字を入力できる通常の (X 以外の) ASCII モードを復元します。


キーボードが送信するコードのタイプを定義できます。これは、キーボード モードを介して行われます。 kbd_mode でキーボードのモードを変更できます .

これらはマンページのオプションです:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

開発者は、押されたキーのスキャンコードを取得できれば、左シフト キーが押されたなどのキー イベントを簡単にキャッチできます。


Linux
  1. 「lc_all=c」は何をしますか?

  2. エコー$は何ですか?行う??

  3. Vimモードとは何ですか?それらを変更する方法は?

  1. Linuxユーザーとは何ですか?

  2. UNIX/Linux の umask とは

  3. i915.modeset=1 とは何ですか?

  1. システム管理者とは何ですか?

  2. Linux – Rawキーボードモード?

  3. 何をしますか?