Adakah cara, melalui beberapa perintah yang dapat dipanggil oleh keyboard, membuat Emacs berpikir bahwa saya mengklik pada titik tertentu (sehingga melakukan apa pun yang akan dilakukan jika saya mengklik di sana, misalnya ikuti tautan atau pop up menu )? Atau saya mengarahkan mouse pada titik (sehingga ujung alat muncul)?
[Motivasi: Beberapa mode menghias buffer, mengubah beberapa teks menjadi tautan dan sebagainya. Saya mungkin tahu bagaimana melakukan sesuatu dengan mouse (mis. Klik di atasnya), tetapi bukan pintasan / perintah keyboard yang setara untuk memanggil. Tentu saja saya harus membaca dokumentasi untuk mode dan mempelajarinya, tetapi menganggapnya sebagai pertanyaan yang menarik.]
key-bindings
mouse
ShreevatsaR
sumber
sumber
Jawaban:
Seringkali, menavigasi ke lokasi dan menekan beberapa tombol akan memiliki efek yang sama dengan mengklik di lokasi itu. Tidak ada mekanisme built-in yang memastikan ini, hanya saja mode biasanya ditulis seperti itu.
Anda dapat membuat acara mouse ( klik , dobel / tripel / ... klik , tombol turun / atas , seret , gerak ). Semua acara mouse memiliki bentuk di
(TYPE POSITION . EXTRA-DATA)
mana TYPE adalah simbol yang menyandikan tombol mouse, sifat tindakan (klik, seret, dll.), Dan pengubah. TYPE adalahmouse-movement
untuk acara gerak. Panggilanposn-at-point
untuk menghasilkan POSISI untuk lokasi titik di buffer saat ini.Berikut adalah beberapa kode bukti konsep yang mensimulasikan klik mouse pada posisi kursor ketika Anda menekan
f11
diikuti dengan angka. Pengubah diperhitungkan.Simulasi melayang-layang terlihat lebih sulit.
sumber
C-c C-, RET
, tapi saya harus mencari dokumentasi mode untuk itu).f11 1
tidak melakukan itu (itu mencetak sesuatu di minibuffer tapi itu tidak setara dengan klik mouse pada tautan) meskipunf11 3
tampaknya setara dengan<mouse-3>
dan seterusnya.down-mouse-1
dan tidakmouse-1
? Bagaimana saya bisa mengetahui di mana kunci tombol terikat? dapat membantu menyelidiki hal ini.