Usb 무선 키보드 한영키 문제

IMagic 106 USB 무선 키보드를 설치했으나 한영키가 먹통이더구요. 나비 아이버스 모두 한영키가 안됩니다. 우분투 12.10에서는 더이상 106 옵션이 없어서 101/104를 쓰고 있습니다. 한영키는 오른쪽 Alt로 사용가능합니다. 그러나 한영키는 반응이 없어서 놀고 있는 상태입니다.

xev 를 실행하면 한영키는

KeyRelease event, serial 41, synthetic NO, window 0x4200001,
root 0xe8, subw 0x0, time 1578406, (-333,51), root:(392,104),
state 0x0, keycode 130 (keysym 0xff31, Hangul), same_screen YES,
XKeysymToKeycode returns keycode: 108
XLookupString gives 0 bytes:
XFilterEvent returns: False

showkey -s 를 실행하면

0xf2 가 나오고

showkey -k 를 실행하면

keycode 122 가 나옵니다.

setkeycodes f2 122

xmodmap -e 'keycode 122 = Hangul"

실행 시켜도 아무런 변화가 없습니다.

setkeycodes 나 xmoodmap 에 모든 가능성 있는 숫자를 다 넣어 보았지만 전혀 반응이 없습니다.

다만

xmodmap -e "add mod1 = Hangul"
하면은

mod1 Alt_L (0x40), Hangul (0x6c), Hangul (0x82)

한글키 두개가 들어가서

한영키를 누르면 HUD가 작동합니다. 그러나 한영은 여전히 바뀌지 않습니다

그러나 Alt-R 은 한영도 바뀌고 HUD가 작동합니다.

한영키로 한영전환을 하고 싶은데 며칠 삽질했는데

도저히 해결이 안되는 군요.

고수님들 좀 도와주십시요.

제가 묻고 답하는 모습이 좀 이상합니다만,

그 동안 삽질하면서 근본적인 원인을 찾아 보았습니다.

일단 저의 한영키의 문제를 간단하게 요약하면

우분투 커널이 한글 106 키보드를 완전하게 인식하지 못하는 것 같았습니다.

그래서 한영키가 작동이 안된다고 생각하여 삽질해 보니

커널이 인식하도록 setkeycodes f2 122 을 하라고 적혀있더군요. 그러나 이 경우는 아예 xev로 인식이 안되는 경우이며

제 경우에는 xev로 keycode가 인식되고 scancode까지 확인되어서

커널이 인식하고 있었습니다. 즉 키코드 130에 Hangul로 커널은 인식하고 있었습니다.

문제는 한글입력기인 나비와 아이버스에서 이상하게 한영키를 인식 못하고 있는 것입니다.

물론 오른쪽 AlT키는 한글로 인식됩니다.

삽집하다가 다음글을 발견했는데 제가 동의 할 수 없는 글이였습니다.

저도 질문 하나 하려고 합니다. knoppix에서 한영키가 반영이 되지 않아서 말이 많았습니다만 사실 어떻게 해야할지 갈피를 못잡고 있습니다. 일반적으로 많이 사용되는 키보드의 경우 keycode를 지정할 수 있지만 모든 사람이 같은 키보드를 사용하는 것은 아니지 않습니까? software 적으로 한영키를 인식하고 이를 한글 입력기에 반영할 수 있는 방법은 없습니까? --GunSmoke
일반적인 오해인데, 반대입니다. 한영키를 입력기에 반영하는 것이 아니고 X에서 한영키가 작동되게 하면 입력기에서 그 키 이벤트를 받을 수 있는 것입니다. 이미 입력기에는 한영키로 작동되게 하는 코드가 들어 있습니다. 따라서 X에서 한영키만 인식되면 바로 작동합니다. 이런 문제를 해결하기 위해서 입력기 실행을 스크립트로 하고 그 스크립트에서 한영키가 작동하는지 확인해서 한영키를 등록하도록 할수도 있겠습니다만, 그것이 올바른 방법이라고 생각지 않습니다. 한영키 인식은 입력기의 문제가 아니라 데스크탑 시스템의 문제입니다. 만일 확장 키보드가 있어서 거기서 웹브라우저를 띄우는 키가 있다면 웹브라우저에서 그 키를 인식하게 하는 것이 올바른 해결 방법일까요? – krisna
Software적으로 한영키의 키코드를 알아내서 데스크탑에서 인식가능하도록 하는 방법을 물으신 것 같습니다. --검은해
예 저는 그런 방법을 입력기가 아닌 시스템관리도구의 측면에서 접근하는게 어떨까 하는 의견입니다. 어찌됐든 자동인식이 가능한 방법이 있는지 찾아봐야겠습니다. 노트북 키보드같은경우도 인식해야 하므로 꽤 어려울것 같습니다. – krisna

자동 한영키 인식은 입력기에서 처리할 부분은 아닌거 맞고요, 커널에서 키보드타입을 인식할 것이고, 미 등록된 키 즉, 한영키에 대해서 키보드 타입에 맞게끔 keycode를 등록하고(setkeycodes의 일), 일단 커널에 키가 등록되면 키이벤트가 X11에 비로소 넘어갈 수 있게 되고, 그때부터는 X11이 모든 일을 담당하게 되는 식입니다. --WkPark


문제는 입력기가 아니라 커널이라고 하는 내용인데

제 생각에는 나비와 아이버스 보두 한영키가 두개인 경우를 허락하지 않는 것 같습니다.

그렇지 않고는 안될 이유가 없습니다.

그래서

이문제의 해결책을 제시합니다.

  1. 왜 이전 커널에서는 한글 106 자판이 있었는데 이후 커널에서 사라졌는지 알 수 없지만

키보드 세팅옵션에 Korean 106를 넣어 달라고 요청해야 할 것 같습니다. 이런 요청은 누구에게 해야 할지 잘 모르겠습니다.

  1. 1번이 불가능하다면 나비와 아이버스에서 한영키가 두개가 되어서 작동 할 수 있도록 요청을 해야 한다고 봅니다.
    X11에서 어떤 신호를 받아서 작동하는지는 잘 알 수 없지만 키보드형이 좀 달라도 X11 에서 인식하는 키신호는 나비나 아이버스에서 모두 인식될 수 있도록 해야합니다.

이상이 제가 사용한 무선 106 키보드땨문에 1주일을 고생해서 내린 결론입니다. 부족한 저의 판단에 도움이 될 조언 부탁드립니다.