일반 키를 수정 자 키로 변환


11

설명 할 수없는 이유로 덴마크 달러 기호를 OS X-로 보내는 키가있는 키보드가 §있습니다. Shift 키를 누르면 플러스 / 마이너스 기호-가 전송 ±됩니다.

Emacs 내에서 §키 를보고 Hyper 또는 Super로 변환 할 수 있습니까? 따라서 해당 §키를 누른 상태 에서을 누르면 Emacs에서 f활성화 H-f됩니다.

작동하지 않는 다음을 시도했습니다.

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

그것은 단지 <Hyper> is undefined키를 눌렀을 때만 말하며 , 모디파이어 역할을하지 않습니다.

이것은 또한 작동하지 않습니다 :

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

§키만 키로 바꿉니다 <.



2
OS 레벨에서는 가능하지만 emacs에서는 불가능합니다.
Malabarba

답변:


4

짧은 버전 : Emacs 용어로, 내가 정말로 필요한 것은 키 코드 였습니다.


@Malabarba와 @XinUmbralis가 옳은 것 같습니다-Emacs는 보통 키를 수정 자 키로 바꿀 수 없습니다. 나는 키보드의 모든 수정 자 키를 결합하고 "Hyper"라고 부르는 아이디어가 마음에 들지 않습니다. 앞으로 다른 것들과 충돌 할 수 있기 때문입니다.

나는 이미 Karabiner를 사용하고 있으며 분명히 사용자 정의 수정자를 만들 수 있습니다 . 그러나이를 위해서는 OS 수준에서 모든 조합을 매핑해야하므로 §-aEmacs가 처리 방법을 알고있는 것을 보냅니다.

그런 다음 키 코드 라이브러리를 기억하고 그것이 내가 원하는 것에 대한 실제 이맥스 용어라는 것을 깨달았습니다. 구성 예 :

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

키 코드와 관련하여 한 가지 문제는 키 코드의 의미가 수정 자 + 키와 약간 다르다는 것입니다. 반복이 허용되지 않으며 전체 코드가 실제로 빠르게 입력되어야합니다.

이러한 문제에 대한 해결책을 제시하면 어딘가에 대해 작성 하고이 답변에 대한 편집 링크를 제공 할 것입니다.


3

하이퍼 명령을 보내기 위해 섹션 부호 키 (§ 키)를 리 바인드 할 수 없을 수도 있지만 Seil PCKeyboardHack을 사용하여 caps-lock 키를 리 바인드하여 하이퍼를 보낼 수도 있습니다.

Seil에서 캡 잠금 키를 리 바인드하려면 다음을 수행하십시오.

  1. Seil을 열고 '캡 잠금 키 변경'을 클릭하십시오.
  2. '캡 잠금 키 변경'옆에있는 확인란을 선택하십시오.
  3. 키 코드를 두 번 클릭하고 키 코드 80을 입력하십시오.

1
이 답변은 아마도 의견으로 더 나을 것입니다. 일반적으로 응답은 링크를 제공하는 것 이상을 수행해야합니다. 링크는 언제든지 사라질 수 있기 때문입니다. 보다 독립적으로 답변을 편집 해 주시겠습니까?
Dan

불행히도, 적어도 저에게는 키 코드를 80으로 설정해도 아무런 효과가 없습니다.
Marcin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.