Gibt es eine Möglichkeit, über einen Befehl, der über die Tastatur aufgerufen werden kann, Emacs glauben zu lassen, dass ich an einem bestimmten Punkt geklickt habe (so dass es alles tut, was es getan hätte, wenn ich dort geklickt hätte, z. B. dem Link folgen oder ein Menü öffnen) )? Oder dass ich mit der Maus über den Punkt schwebte (damit der Tooltip angezeigt wird)?
[Motivation: Einige Modi schmücken den Puffer, verwandeln Text in Links und so weiter. Ich weiß vielleicht, wie man etwas mit der Maus macht (z. B. darauf klicken), aber nicht die entsprechende Tastenkombination / den entsprechenden Befehl zum Aufrufen. Natürlich sollte ich die Dokumentation für den Modus lesen und lernen, dachte aber, dass es eine interessante Frage ist.]
key-bindings
mouse
ShreevatsaR
quelle
quelle
Antworten:
Das Navigieren zu einem Ort und das Drücken einer Taste hat häufig den gleichen Effekt wie das Klicken auf diesen Ort. Es gibt keinen eingebauten Mechanismus, der dies sicherstellt. Es ist nur so, dass Modi normalerweise so geschrieben werden.
Sie können Mausereignisse generieren ( Klicken , Doppel- / Dreifach- /… Klicken , Drücken nach unten / oben , Ziehen , Bewegen ). Alle Mausereignisse haben die Form,
(TYPE POSITION . EXTRA-DATA)
in der TYPE ein Symbol ist, das die Maustaste, die Art der Aktion (Klicken, Ziehen usw.) und die Modifikatoren codiert. TYPE istmouse-movement
für ein Bewegungsereignis. Rufen Sieposn-at-point
auf, um die POSITION für die Position des Punkts im aktuellen Puffer zu generieren.Hier ist ein Proof-of-Concept-Code, der einen Mausklick auf die Cursorposition simuliert, wenn Sie drücken,
f11
gefolgt von einer Ziffer. Modifikatoren werden berücksichtigt.Das Simulieren des Schwebefluges sieht schwieriger aus.
quelle
C-c C-, RET
, aber ich musste dafür die Dokumentation des Modus nachschlagen).f11 1
Wenn Sie das oben Gesagte mit tun, funktioniert das nicht (es druckt etwas im Minibuffer, aber es entspricht nicht einem Mausklick auf den Link), obwohlf11 3
dies äquivalent zu<mouse-3>
und so weiter zu sein scheint .down-mouse-1
und nichtmouse-1
? Wie kann ich herausfinden, in welcher Keymap ein Schlüssel gebunden ist? kann helfen, dies zu untersuchen.