แปลงคีย์ปกติเป็นคีย์ตัวดัดแปลง


11

ฉันมีแป้นพิมพ์ซึ่งด้วยเหตุผลลึกลับบางคุณสมบัติที่สำคัญที่ส่งสัญลักษณ์ดอลลาร์เดนมาร์ก OS X เป็น §- ด้วยการเปลี่ยนแปลงก็จะส่งบวก / ลบสัญลักษณ์ ±-

เป็นไปได้ไหมที่ Emacs จะเห็น§กุญแจและแปลงมันให้เป็นไฮเปอร์หรือซุปเปอร์? ดังนั้นถ้าฉัน§กดปุ่มfนั้นค้างไว้มันจะเปิดใช้งานH-fใน Emacs

ฉันได้ลองสิ่งต่อไปนี้ซึ่งใช้งานไม่ได้:

(define-key key-translation-map (kbd "§") (kbd "<Hyper>"))

มันแค่บอกว่า<Hyper> is undefinedกดปุ่มและไม่ได้ทำหน้าที่เป็นตัวดัดแปลงเลย

สิ่งนี้ยังใช้งานไม่ได้:

(define-key key-translation-map (kbd "§") "<Hyper>")

ที่เพิ่งเปลี่ยน§กุญแจเป็น<กุญแจ



2
คุณควรทำสิ่งนี้ได้ในระดับระบบปฏิบัติการ แต่ไม่ใช่ใน emacs
Malabarba

คำตอบ:


4

เวอร์ชั่นสั้น : ในแง่ Emacs, สิ่งที่ฉันต้องการจริงๆคือคีย์คอร์ด


@Malabarba และ @XinUmbralis ดูเหมือนจะถูกต้อง - Emacs ไม่อนุญาตให้คุณเปลี่ยนคีย์ปกติให้เป็นคีย์ตัวปรับเปลี่ยนตามปกติ ฉันไม่ชอบความคิดที่จะรวมคีย์ตัวปรับแต่งทุกตัวบนแป้นพิมพ์และเรียกว่า "ไฮเปอร์" เพราะอาจขัดแย้งกับสิ่งอื่น ๆ ในอนาคต

ฉันใช้ Karabiner อยู่แล้วและเห็นได้ชัดว่าคุณสามารถสร้างตัวดัดแปลงที่กำหนดเองได้ แต่นั่นต้องมีการแมปทุกชุดค่าผสมในระดับระบบปฏิบัติการดังนั้น§-aส่งสิ่งที่ Emacs รู้วิธีจัดการ

จากนั้นฉันก็จำไลบรารีคีย์คอร์ดและตระหนักว่านั่นเป็นคำศัพท์ของ Emacs ที่แท้จริงสำหรับสิ่งที่ฉันต้องการ ตัวอย่างการกำหนดค่า:

(require 'key-chord)
(key-chord-mode 1)
(key-chord-define-global "§a" 'other-frame)

ปัญหาหนึ่งที่ฉันมีกับ key-chord ก็คือ semantics ของ key-chord นั้นแตกต่างจาก modifier + key เล็กน้อยไม่อนุญาตให้ทำซ้ำและคอร์ดทั้งหมดจะต้องถูกป้อนอย่างรวดเร็ว

หากฉันหาวิธีแก้ปัญหาเหล่านั้นฉันจะเขียนถึงบางที่และให้ลิงก์ในการแก้ไขคำตอบนี้


3

คุณอาจจะมิได้อาจจะไม่สามารถที่จะ rebind คีย์เข้าสู่ระบบส่วน (§กุญแจ) ในการส่งคำสั่งมากเกินไปอย่างไรก็ตามคุณสามารถ rebind คีย์หมวกล็อคที่จะส่งของ Hyper ใช้Seil PCKeyboardHack

หากต้องการเชื่อมโยงปุ่ม caps-lock ใน Seil อีกครั้งให้ทำดังต่อไปนี้:

  1. เปิด Seil และคลิก 'เปลี่ยนปุ่ม Caps Lock'
  2. เลือกช่องทำเครื่องหมายถัดจาก 'เปลี่ยนปุ่ม Caps Lock'
  3. ดับเบิลคลิกที่รหัสและป้อนรหัส 80

1
คำตอบนี้อาจจะดีกว่าเป็นความคิดเห็น โดยทั่วไปคำตอบควรทำมากกว่าให้ลิงก์ส่วนหนึ่งเป็นเพราะลิงก์อาจหายไปได้ตลอดเวลา คุณกรุณาแก้ไขคำตอบของคุณเพื่อให้มีอยู่ในตัวเองมากขึ้นได้ไหม
แดน

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