AFAIK emacs unterstützt nicht keyup/keydown
nur Events keypressed
. Ein Beispiel für eine Konsequenz ist, dass wir, wenn wir eine Region markieren möchten, zuerst eine Markierung setzen müssen set-mark-command
und dann die Region markieren können , indem wir uns um den Punkt bewegen. Dies ist zwar eine wirklich interessante Funktion, da Sie beim Markieren des Textes keine Umschalttaste gedrückt halten müssen, aber manchmal wäre es wünschenswert, dasselbe Verhalten wie in anderen Editoren zu verwenden. Diese Frage soll verstehen, warum Emacs diese Funktion nicht unterstützt und warum dies als besser angesehen wird . Gibt es auch einen ideomatischen Ansatz, wie wir dies in Emacs lösen könnten?
key-bindings
keystrokes
Welle
quelle
quelle
Antworten:
Wie in Kommentaren aus historischen Gründen beantwortet, laufen Emacs in Terminals und diese Geräte sind zeichenorientiert - Sie erhalten eine Byte-Sequenz ohne Garantie, wenn dies auf der Tastatur geschieht.
Die Diskussion zeigt auch, dass es möglich ist, dies für eine grafische Umgebung zu implementieren. Aber das interessiert niemanden.
Beachten Sie, dass einige Programme wie Spiele oder Musiksoftware möglicherweise detaillierte Informationen darüber verwenden, wann die Taste gedrückt wird, wie lange und wann sie freigegeben werden. Die Textbearbeitung hat jedoch nichts mit diesen zu tun.
Aus dem Handbuch
(info "(elisp)Mouse Events")
:Das Schwebeereignis kann durch einen Leerlauf-Timer emuliert werden, der den Punkt nach der Verzögerung analysiert.
quelle