elispの文字列が与えられた場合、その文字列を再作成するために必要なすべてのキープレスを受け取るemacsをシミュレートしたいと思います。したがって、文字列 "Hello"を指定すると、emacsはShift + H、e、l、l、oを押した場合とまったく同じように動作します。これは常にテキストをバッファに挿入することと同じではないことに注意してください-isearch-modeのようないくつかのモードは直接keypressイベントをリッスンします。
これが必要な理由は、すべての入力がキーボードからのものであると想定したり、バッファ/ウィンドウ/フレームの変更がキーボード入力イベントに関連付けられると想定したりする多くのモードや拡張機能があるためです。彼らがそのイベントに関連するデータを検査する時間。既存のコード本体とシームレスに連携するように取り組んでいる音声認識モードの場合、elispを直接呼び出してアクションを実行するだけでなく、キーを押してアクションを実行するようにelispに指示する必要があります。
unread-command-eventsを見つけましたが、文字列を必要なキーシーケンスに変換する既存のコードは知りません。そのようなものはすでに存在していますか?
(let ((string "C-Beams")) (execute-kbd-macro (kbd (mapconcat #'char-to-string string " "))))
働くでしょう。おそらくもっと良い方法があります...