キーバインディング:キーボードからアプリケーションにマッピングしますか?

キーバインディング:キーボードからアプリケーションにマッピングしますか?

Mac OSXから最終アプリケーションへのキーマッピングを理解したいと思います。これらの推定された各ポイントのマッピング、構成、および診断ツールは何ですか?提供された段階的な推論に修正、追加、または減算が必要ですか?

私はこれが多くの根拠を扱っているように見えることを知っていますが、どんな洞察力でも役に立ちます。ありがとう

キーへの一般的な推論パス

  • 物理キー - > OSX USB HIDドライバ - > OSX管理可能キーコード
  • OSX GUIコンソール - > Terminal.app - > SSHからLinuxへ - > Linuxターミナルセッション
  • Linuxターミナルセッション - >ターミナルセッションのEmacs - > Emacsバインディング
  • OSX GUIコンソール->X-Quartz->Emacs

これまで私が理解した限り、マッピングの順序は次のとおりです。

キーボード - > OSX

  1. iokitデーモン用のOSX USB HIDドライバとキーボード入力インターフェース
  2. AppleはUSB HIDコードを再マッピングするシェルユーティリティを提供しています(10.12で利用可能)。

    hidutil プロパティ - '{"UserKeyMapping":[{HIDKeyboardModifierMappingSrc:0xHIDSRC,"HIDKeyboardModifierMappingDst":0xHIDDST,...} を設定します。

  3. AppleはObjective-Cを使用してプログラムを提供しています。どちらの方法も、Keytab UsageのHIDキーボード使用IDをベースアドレス0x700000000のオフセットとして使用します。バラよりhttps://developer.apple.com/library/archive/technotes/tn2450/_index.html。この0x700000000ベースアドレスはUSB Allianceドキュメント(https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf)。

  4. カラビン要素主なイベントを獲得し、独自の代替 iokit デーモンを通じてこれを修正できるアプリケーションです。

  5. AppleはHID BTボタンを表示する開発ツールを提供していますか?

OSX - > GUIコンソールセッション

  1. システム環境設定 - >キーボード - >キーボードF1、F2、... Fnを標準のファンクションキーまたはMac OSX専用の特殊ファンクションキーに設定します。

  2. システム環境設定 - >キーボード - >キー組み合わせ操作のショートカットキー設定

  3. システム環境設定 - >キーボード - >入力ソース

    チェーンのリンクの1つは、入力(キーコード)を出力(文字)に変換する「キーボードレイアウト」というファイルです。 MacOSはこれらのファイルを使用して、同じ物理キーボードに異なる言語を入力します。別のキーボードレイアウトを有効にするだけです。 ウクレレこのレイアウトの変更は許可されます。バックスペース、タブ、カーソルキーの入力などのコマンドは、キーボードレイアウトファイルの影響を部分的にのみ受け取るため、その出力を制御するには他のアプローチを取る必要があります。また、いくつかのスキーマに基づいてここで手動で変更できるいくつかのXMLファイルがあると思いました。

OSXアプリケーション

  1. ターミナルプログラム環境設定->プロファイル->キーボードは、キーのANSI ASCII「エスケープコード」を変更できます。このエスケープコードは___標準に準拠していますか?

  2. ターミナルプログラムデフォルト設定 - >プロファイル - >詳細を使用すると、端末を「xterm-256color」として選択できます。...これはマッピングにどのような影響を与えますか?

  3. ターミナルプログラム設定 - >プロファイル - >詳細 - >入力の追加変更を許可するチェックボックス:Ctrl-H転送を削除し、Ctrl-Vを使用して非ASCII入力をエスケープし、改行をキャリッジリターンに貼り付けます。

Linuxオペレーティングシステムを使用したSSHセッション 10. ANSI ASCIIバイトストリームは、terminfoとtermcapを使用して$ TERMに従って解釈されます。詳細?

  1. showkey -a, infocmp -CL 詳細情報を提供

  2. スティー、これはどうですか?

  3. ここに他のマッピングや診断ツールがありますか?

LinuxオペレーティングシステムとEmacsを使用したSSHセッション 14. Emacs は Mx 記述バインディングを使用してキーバインディングを表示します。

  1. Emacsは(global-set-key)と(define-key)を使ってキーバインディングを変更します.

Emacsを使用したXセッション

  1. X-Quartz は Mac OSX とインターフェースし、キーバインディングをアプリケーションにマップします。
  2. xmodmap と xkb を使用してこれらのバインディングを変更できます。
  3. ここに他のマッピングや診断ツールがありますか?

関連情報