저는 Macbook을 가지고 있으며 올바른 "Command" 키(Super_R, RWIN이라고도 함)를 AltGr에 매핑하고 싶습니다. 내가 이것을 원하는 이유는 일반 노르웨이어 키보드가 대괄호 키와 중괄호 키 등을 매핑하는 방식 때문입니다.
그러나 이것이 문제이다.
먼저 대부분의 프로그램에서 잘 작동하는 xmodmap을 사용하여 키를 매핑했습니다. 하지만 일부 프로그램, 특히 Firefox에서는 작동하지 않습니다.
관련 질문이지만 도움이 되지 않았습니다.
https://superuser.com/questions/801611/how-to-make-all-applications-Respect-my-modified-xkb-layout
https://wiki.archlinux.org/index.php/X_KeyBoard_extensio:
AltGr+i,j,k,l을 커서 키로 제대로 작동하게 만드는 방법은 무엇입니까?
Xmodmap 솔루션:
keycode 134 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift
이것이 Xmodmap의 문제라고 의심되어 XKB(X Keyboard Extensions)를 사용해 보았습니다.https://wiki.archlinux.org/index.php/X_KeyBoard_extension
key <RWIN> { [ ISO_Level3_Shift ] };
그러나 동일한 문제가 여전히 존재합니다.
그리고 "문제"란 그것이 전혀 작동하지 않는다는 것을 의미합니다. 예를 들어, 새로운 AltGr+4를 누르면 달러 기호가 생성되어야 하지만 그렇지 않습니다. 대부분의 프로그램(예: xterm)에서는 잘 작동하지만 Firefox에서는 작동하지 않습니다. Firefox에서는 "$" 대신 "4"를 생성합니다.
에 게시된 대로https://superuser.com/questions/801611/how-to-make-all-applications-Respect-my-modified-xkb-layout설명하다:
"일부 응용 프로그램은 Control_L 자체와 같은 주요 기호를 추적하고 다른 응용 프로그램은 상태에서 수정자 비트만 찾습니다."
"대부분 실행에 실패한 프로그램은 수정자를 관찰하고 일부 프로그램이 활성화된 동안 실행을 원하지 않습니다."
나는 Firefox가 같은 일을 할 것이라고 믿습니다.
내 질문은 특정 키 조합을 누를 때 X 서버가 응용 프로그램에 정확한 상태를 보내도록 하려면 어떻게 해야 합니까?
이것이 내가 가진 것입니다:
KeyPress event, serial 37, synthetic NO, window 0x4200001,
root 0x2de, subw 0x0, time 1100024, (222,-357), root:(1005,749),
state 0xc0, keycode 13 (keysym 0x24, dollar), same_screen YES,
XLookupString gives 1 bytes: (24) "$"
XmbLookupString gives 1 bytes: (24) "$"
XFilterEvent returns: False
이것이 내가 원하는 것입니다(적절한 키보드가 있는 다른 노트북에서 가져온 것입니다. 관련이 없기 때문에 수동으로 입력하기에는 너무 게으릅니다).
KeyPress event, serial 37, synthetic NO, window ...
root 0x233, subw 0x0, time ...
state 0x90, keycode 13 (keysym 0x24, dollar), same_screen YES,
XLookupString gives 1 bytes: (24) "$"
XmbLookupString gives 1 bytes: (24) "$"
XFilterEvent returns: False
관련 부분은 "국가"라고 생각합니다. 상태 지정 수정자 키입니다.
Super_R + 4를 누를 때 X가 이 상태와 키 기호를 생성하도록 하려면 어떻게 해야 합니까? 이것을 알아낼 수 있다면 필요한 다른 키도 매핑할 수 있고 마침내 작동하는 키보드를 갖게 될 것입니다.