미국 국제 키보드가 Alt_R을 중단하는 이유

미국 국제 키보드가 Alt_R을 중단하는 이유

미국 영어 국제(데드 키 포함) 키보드 레이아웃을 추가하면 Alt_R 키가 손상됩니다. 어떤 아이디어가 있나요?

저는 GNOME을 사용하여 RHEL 5.5를 개발 중입니다. 추가 레이아웃을 제거하면 문제가 사라지고, 다시 추가하면 문제가 다시 나타납니다.

특정 문제에는 Alt_R을 사용하는 경우 Alt-F2가 실행 중인 응용 프로그램을 시작하지 않는 것과 Alt_R을 사용하는 경우 CTRL-Alt-L이 화면을 다시 볼 수 없는 것이 포함됩니다.

문제 해결을 위해 xev를 사용해 보았습니다. 미국 영어 레이아웃을 사용하여 얻은 내용은 다음과 같습니다.

KeyPress event, serial 29, synthetic NO, window 0x1e00001,
    root 0x3a2, subw 0x0, time 1766794207, (169,-13), root:(2099,35),
    state 0x0, keycode 113 (keysym 0xffea, Alt_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 29, synthetic NO, window 0x1e00001,
    root 0x3a2, subw 0x0, time 1766794447, (169,-13), root:(2099,35),
    state 0x8, keycode 113 (keysym 0xffea, Alt_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False  

미국 영어 국제 버전(데드 키 포함) 레이아웃을 사용하여 얻은 결과는 다음과 같습니다.

KeyPress event, serial 26, synthetic NO, window 0x1e00001,
    root 0x3a2, subw 0x0, time 1766853750, (169,-13), root:(2099,35),
    state 0x0, keycode 113 (keysym 0xffea, Alt_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 29, synthetic NO, window 0x1e00001,
    root 0x3a2, subw 0x0, time 1766853872, (169,-13), root:(2099,35),
    state 0x80, keycode 113 (keysym 0xffea, Alt_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

현재 레이아웃이 실제로 사용되는지 여부에는 차이가 없습니다. 선택한 목록에 넣으면 문제가 발생합니다. 이것이 버그인 경우 이를 어디에 제출해야 하는지 아는 사람이 있습니까(GNOME, Xorg, Redhat)?

편집하다:이제 xmodmap을 사용하여 수정자 맵을 볼 수 있다는 것을 깨달았습니다. 처음에는 mod5가 mod5 Mode_switch(0x5d) 및 ISO_Level3_Shift(0x7c)에 매핑됩니다. 국제 레이아웃을 추가하면 Alt_R(0x71)도 mod5에 매핑되므로 이 문제가 발생합니다. Caleb의 제안에 따라 Alt_R을 ISO_Level3_Shift로 전환하여 mod5가 이제 "mod5 Mode_switch (0x5d), ISO_Level3_Shift (0x71), ISO_Level3_Shift (0x7c)"에 매핑되도록 했습니다. 그러나 이는 여전히 Alt_L의 대안인 Alt_R의 목적을 무효화합니다.

답변1

대부분의 국제 레이아웃에서는 3차 선택기라고도 알려진 Alt_RBe (대체 설정?) 키를 사용하여 대체 문자, 기호, 악센트 등에 액세스할 수 있습니다. AltGr표시되는 키코드가 이에 올바르게 다시 매핑되지 않더라도 레이아웃이 의도된 것이며 키코드에서 딸꾹질이 발생하는 것으로 의심됩니다.

그놈 키보드 옵션의 다른 탭을 살펴보고 국제 레이아웃이 완벽하게 작동하도록 AltGr 키(아마도 그 키)를 수동으로 설정하는 것이 좋습니다.

답변2

미국 외 지역의 대부분의 키보드 레이아웃은 올바른 Alt 키를 AltGr(대체 다이어그램), 미국을 규칙의 예외로 만듭니다. AltGr 키는 다른 키에서 사용할 수 있는 추가 문자를 선택하도록 설계된 또 다른 Shift 키입니다. 보다위키피디아 기사AltGr에서.

따라서 Alt 수정자를 사용하여 Alt-F2 또는 Ctrl-Alt-L과 같은 키 조합을 실행하려면 다음을 누르십시오.왼쪽Alt 키는 오른쪽 키가 다른 용도로 사용되기 때문입니다. 단지 미국 영어 레이아웃에서는 키가 다른 용도로 사용되지 않으므로 추가 Alt 키로 다시 할당됩니다(또는 이전 할당을 유지하는 것이 더 좋습니다). 영국 영어 레이아웃에서도 AltGr을 사용하여 "€" 및 "£"와 같은 문자를 발음합니다.

관련 정보