2

positionクリックイベントを登録して、などに基づいてアクションを実行したいwindow

このサイトhttp://www.gnu.org/software/emacs/manual/html_node/elisp/Click-Events.htmlは、イベント変数のレイアウトを示していますが、実際にクリックイベントにハンドラーをアタッチするにはどうすればよいですか。

attach-handlerですから、基本的には以下のシナリオのように動作する関数を探しています。

(attach-handler [mouse-1] 
       `(lambda (e) (foo e))
4

2 に答える 2

5

interactiveイベントにアクセスするには、宣言のコード文字「e」を使用できます。たとえば、次の場合、左クリックでクリックしたポイントにイベントデータを挿入します。

(define-key global-map (kbd "<down-mouse-1>")
  (lambda (event)
    (interactive "e")
    (message "%s" event)
    (let ((posn (elt event 1)))
      (with-selected-window (posn-window posn)
        (goto-char (posn-point posn))
        (insert (format "%s" event))))))
于 2012-04-04T21:36:59.617 に答える
2

それらはすべて鍵です。C-h c(または)を試しC-h k、マウスボタンをクリックして、現在バインドされているものを確認します。次に、を使用M-x global-set-keyして、必要なものに設定します。あなたの機能はinteractiveそれをキーにバインドすることでなければなりません。

于 2012-04-04T20:42:20.207 に答える