xmodmap을 사용하여 수정자 + 특정 키를 새 키에 바인딩하는 방법에 대한 예는 거의 없는 것 같습니다.
Shift예를 들어, 왼쪽 (키코드 50) + `(키코드 21)을 바인딩하여 악센트 문자를 내보내고 싶습니다 .
`
이는 노르웨이어 키보드에서는 정상적인 동작이지만 Macbook Pro(Linux 실행)에서는 그렇지 않습니다.
나는 xev를 사용하여 키 코드를 얻고 있으며 개별 키를 성공적으로 매핑할 수 있습니다(찾을 수 없는 다른 기사의 도움으로). 백스페이스 및 달러 기호와 같은 필요한 다른 키를 다음과 같이 얻을 수 있습니다.
keycode 134 = ISO_Level3_Shift Multi_key ISO_Level3_Shift Multi_key
keycode 21 = backslash bar
하지만 어떻게 해야 할까요:
keycode 50 + keycode 21 = Grave character
이는 올바른 구문은 아니지만 내가 원하는 것이 무엇인지 명확하게 해줄 것입니다.
일반적으로 Shift와 같은 수정자 키는 구문에서 어떻게 올바르게 사용됩니까? 수정자 키만 조합해서 사용할 수 있나요?
나는 "keycode 50 keycode 21 = A"와 "keycode 50 + keycode 21 = A"와 같은 간단한 것을 시도했습니다. ("A"는 내가 원하는 문자가 아니며 테스트 목적으로만 사용하고 있습니다.)
답변1
키 코드(예: Shift+ \)는 키를 직접 결합하는 대신 키와 수정자 세트를 결합하여 지정됩니다. 따라서 "키코드 50 + 키코드 21" 대신 "키코드 21 + Shift 수정자"를 지정해야 합니다. 수정자만 결합할 수 있습니다. 또한 xmodmap에는 특정 제한 사항이 있습니다. 즉, 특정 키의 모든 키 코드를 동시에 지정해야 합니다.
keycode 21 = backslash grave acute
Shift등호 뒤의 첫 번째 키 기호(문자 또는 기능 키 이름)는 기본 키에 해당하는 키이고, 그 다음에는 및 에 해당하는 키 AltGr, 그 다음에는 + 입니다 .ShiftAltGr
데드 키를 원하면 다음으로 변경하십시오.
keycode 21 = backslash dead_grave dead_acute
그러나 표준 노르웨이어 레이아웃을 원하는 경우 데스크탑 환경의 구성 인터페이스에서 이를 선택하거나XKBsetxkbmap -layout no
- 노르웨이어 레이아웃으로 전환합니다 .