본문 바로가기

Linux-related

[문제해결?] 쿠분투 Kubuntu 9.10 리눅스 한영키의 오른쪽 Alt키 동작방지

OS : Kubuntu 9.10
한글입력기 : nabi
노트북 : LG S1-j7200

내 노트북은 좀 별종이라 키보드레이아웃이 일반 노트북과 좀 다르다. 어쨌든 동작은 잘 한다.
문제는 쿠분투 설정에서 한글 101/104호환으로 설정시 한영키를 누르면
ALT키를 누른것과 같은 효과가 나온다는 것이다.
한영키는 잘 동작한다. 하지만 키보드 입력을 빠르게 하는 경우 한영키를 누르는 경우
눌러진 한영키가 채 떼어지기 전에 다음 키를 입력하게 되고
이 때 한영키가 ALT키로 동작하는 것이다. 그래서 이런저런 프로그램 메뉴를 건드리게 된다.

충분히 조심해서 사용하면 큰 문제는 없으나 생각보다 많이 불편하다.
그래서 구글링해서 나오는 모든 팁들을 적용시켜보았지만 소용이 없었다.
구워놓은 쿠분투 시디가 문제라서 쿠분투 설치가 잘못된건지
노트북이 워낙 windows 특화라 문제인건지는 알 수가 없지만
혼자서 이런 저런 삽질끝에 문제를 해결했다. 하지만 이게 정말 제대로된 해결방법인지 확신이 안든다.



xmodmap관련한 팁들이 주를 이루었기에 홈 디렉토리에 .Xmodmap도 만들어 넣어보고 했지만
소용이 없었고 xmodmap설정파일을 찾아봤지만 팁들이 작성되던 시기와 현재 배포판차이로
아무런 도움이 되질 않았다.
그래서 xmodmap으로 파일을 검색한 결과 /usr/bin/xmodmap을 찾을 수 있었다.
이놈을 콘솔에서 실행해보니 좀 그럴싸했다.
다음은 실행 결과...

xmodmap: up to 4 keys per modifier, (keycodes in parentheses):

shift        Shift_L (0x32), Shift_R (0x3e)
lock        Caps_Lock (0x42)
control    Control_L (0x25)
mod1      Alt_L (0x40), Hangul (0x6c), Meta_L (0xcd)
mod2      Num_Lock (0x4d)
mod3
mod4      Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5      ISO_Level3_Shift (0x5c), Mode_switch (0xcb)

관련 팁을 좀 더 구글링해서
xmodmap -e 'keycode 108 = Hangul'
xmodmap -e 'remove mod1 = Alt_R'
등의 명령어를 실행해보라는 글을 찾았다.
(키코드 108은 xev로 알아낸 내 키보드의 한영키 키코드이다.)
첫번째 명령어야 당연히 되지만 두번째 명령어는 실행이 안되었다.
Alt_R이라는 키가 없으니 당연한 일이겠지만...

어쨌든 더 많은 구글링끝에
누군가가 xmodmap 실행결과에 보이는 mod항목을 초기화하는 걸 봤는데
여기에서 아이디어를 얻어 mod1의 Hangul을 지우고 상태를 지켜보기로 했다.
xmodmap -e 'remove mod1 = Hangul'을 실행한 뒤 테스트를 해보았다...
앗 젠장... 제대로 된다... TT_TT
한영키도 제대로 동작하고 ALT키 기능도 꺼졌다.

현재로서는 안타깝게도...
쿠분투 설정의 키보드레이아웃 + xmodmap Hangul 삭제로 해결된건지
아니면 nabi의 한영키 설정 + xmodmap Hangul 삭제로 해결된건지 알 수 없다.
쿠분투를 포멧할 일이 있어서 포멧직후에 테스트를 해보았더니
xmodmap -e 'remove mod1 = Hangul'
이 과정 하나만으로도 해결되었다. ALT동작없고 한영전환도 잘된다.
nabi를 쓰기 때문에 nabi를 설치하자 Hangul이 다시 추가되어서 다시 지워줬다.
다만...다른 컴퓨터에서도 잘 동작하는지는 모르겠다...