การใช้ปุ่มฟังก์ชั่นเป็นปุ่มปรับแต่ง“ เหนียว”


10

มีวิธีการใช้ฟังก์ชั่นคีย์ (เหมือน<f8>) เป็นเหตุการณ์ super-key-down และมีการกดแป้นถัดไป (f.ex. s) แล้วถูก interpeted เป็นs-s? กล่าวอีกนัยหนึ่งสิ่งนี้จะคล้ายกับปุ่มตัวดัดแปลงที่ติดหนึบ แต่สำหรับ emac ไม่ใช่ตัวระบบปฏิบัติการ

ฉันรู้เกี่ยวกับโหมดคีย์คอร์ดและความจริงที่ว่าคุณสามารถใช้คีย์ผสมเช่นนี้(global-set-key (kbd "<f8> b t") 'undo)เพื่อบันทึกแป้นพิมพ์ลัด แต่ฉันต้องการบางสิ่งบางอย่างที่ทำงานร่วมกับการผูกที่มีอยู่ของฉันไปที่ซุปเปอร์คีย์และไม่ต้องการให้ฉันผูกทุกสิ่งในอนาคต (เช่นหนึ่งที่ผูกไว้กับซุปเปอร์คีย์และอีกหนึ่งสำหรับคีย์ฟังก์ชัน)

คำตอบ:


14

หากเวิร์กโฟลว์ของคุณคือ:

  1. กดและปล่อย F8
  2. กดและปล่อยsคาดว่าจะทำให้เกิดการรวมs-s
  3. ไม่ว่าคุณจะกดปุ่มใดก็ตามในภายหลังจะไม่มีsตัวปรับแต่งเว้นแต่คุณจะกดF8อีกครั้ง

แล้วคุณลักษณะนี้มีอยู่ในตัวของมันเอง Emacs มันถูกผูกไว้C-x @ sโดยค่าเริ่มต้น (ชัดเจนเท่านั้นสำหรับการใช้งานเป็นครั้งคราวมาก) คำสั่งคือevent-apply-super-modifier(ฟังก์ชั่นที่คล้ายกันที่มีอยู่สำหรับcontrol, shift, meta, altและhyper) การเชื่อมโยงเริ่มต้นอยู่ในfunction-key-mapซึ่งถูกแทนที่โดยการผูกในคีย์แมปทั่วโลกหรือท้องถิ่น คุณสามารถใช้key-translation-mapแทนหากคุณต้องการใช้ความหมายปรับใช้เพื่อนำหน้า

(define-key function-key-map [f8] 'event-apply-super-modifier)

เหตุผลเพิ่มเติมที่จะรัก Emacs!
A. Blizzard
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.