1

マイナーモード中にすべてのキーダウンおよびキーアップイベントをオーバーライド/キャッチすることは可能ですか?

いくつかの理由でそのようなことをしたいのですが、主に、キーの組み合わせで入力が生成されるが、再押すのが面倒な、合理的な方法が見つからない代替入力方法を試すためですキー (連続していくつかの組み合わせで使用する場合は、キーを押し続ける方が簡単です)。

4

1 に答える 1

0

あなたのマイナー モードがすべてのアクティブなマイナー モードのリストの一番上にある場合、他のすべてのモードがクエリされる前に、そのキーマップがクエリされます (さらに優先度の高いケースが該当しない限り、Emacs Lisp の「キーマップの検索」を参照)。ドキュメンテーション)。

これは、モードのキーマップにキー イベントをバインドすることで、少なくとも他のモードよりも前にすべてのキー イベントを処理できることを意味します。また、マップでバインドされていないすべてのキー イベントに一致する「すべてをキャッチする」キー バインドを定義することもできます。

(define-key my-minor-mode-map [t] 'my-catch-all-command)

ただし、これは重要なリリースに関する情報を取得するのには役立ちません。そのためには、 Key chord モードを試してみる価値があるかもしれません。

于 2012-11-04T02:00:22.153 に答える