방법을 까먹을까봐 이 블로그에 글을 올립니다.
이글은 SERVER™블로그에서 가져온 글입니다. 맨드레이크리눅스에서 되는지 해보겠습니다.

원문보기

linux 2.6에서 한영키 인식


Q/A 1.

linux kernel 2.6.x 에서 한영키가 인식되지 않는다는 건 알려진 일입니다.
그리고 커널 패치를 통해서 해결해야 한다는 것도 마찬가지죠.
그런데 유저랜드 툴로 인식하게 할 수 있다는 이야기를 듣고 좀 찾아봤습니다.
몇가지 커널 코드 패치를 읽어본 결과 스캔코드를 키코드로 변환하는 테이블을 유저랜드툴로 바꿀 수 있다고 소스에 써 있더군요.
그래서 좀 찾아보니 console-tools에 들어 있는 getkeycodes, setkeycodes 이것이 바로 그것이었습니다.
setkeycodes로 스캔코드에 해당하는 키코드를 지정해주면 인식하게 할수 있을 것 같았습니다.
그래서

# setkeycodes 71 122
# setkeycodes 72 121

이렇게 해봤습니다 - 스캔코드 0x71이 한영키, 0x72가 한자키라고 합니다.
그러나 안타깝게도 한자키만 인식이 되더군요. 한영키는 인식하지 못했습니다.
뭐가 문제인지도 못찾았습니다.


Q/A 2.

linux kernel 2.6.x 에서 한글키 인식 성공

저번에 여기에 써놨던 linux 2.6에서 한영키 인식 글에서 제가 실수한 부분을 jeremy 님 덕택에 찾았습니다.

linux kernel 2.6.x에서 한영/한자키를 인식하게 하기 위해서는 아래와 같이 하면 되겠습니다.
핵심은 커널 패치하고 컴파일 할 필요가 없다는 것이죠.

# setkeycodes 71 122
# setkeycodes 72 123

그럼 이제 커널에서는 한영/한자키를 인식하고 출력하니까 X에서 설정만 추가하면 됩니다.

$ xmodmap -e 'keycode 122 = Hangul'
$ xmodmap -e 'keycode 121 = Hangul_Hanja'

이렇게 실행하면 한영키와 한자키가 정상 작동합니다 :)

참고로 X에서 항상 설정하고 싶다면 $HOME/.Xmodmap 파일에 다음과 같이 써놓으면 되겠죠.

keycode 122 = Hangul
keycode 121 = Hangul_Hanja

Debian Sid, kernel-image-2.6.8-1-686 에서 테스트했습니다


사족을 붙인다면...

젠투에서는 부팅할 때마다 적용되게 하려면 /etc/conf.d/local.start 에 추가하면 됩니다.


젠투에서는 저만 그런지 몰라도.. Xmodmap 파일이 없던데... 검색을 해보니깐

따로 만들어줘야한다고하더군요. 아래와 같이 만들어주면 됩니다.

# vi /etc/X11/Xmodmap
keycode 210 = Hangul
keycode 209 = Hangul_Hanja

그리고 시작할때마다 그놈에서 실행이 되도록 프로그램->고급->세션->시작 프로그램 에

"xmodmap /etc/X11/Xmodmap" 을 등록하시면 됩니다.

그리고 커널패치 없이 한/영 키를 사용하실려면 Xmodmap설정 뿐만 아니라 /etc/conf.d/local.start 에 아래 항목을 추가하셔야 합니다.
...................
setkeycodes 71 122
setkeycodes 72 123


Fedora Core 3 인 경우 /etc/rc.local에 아래 2 줄을 추가합니다.
.........................
setkeycodes 71 122
setkeycodes 72 123

/etc/X11/Xmodmap 파일을 동일하게 아래처럼 만드십시요.
# vi /etc/X11/Xmodmap
keycode 210 = Hangul
keycode 209 = Hangul_Hanja

xmodmap은 적당한 곳에서 실행하면 되는데, /etc/bashrc 마지막에 한줄 추가하니깐 되더군요.
..........................
xmodmap /etc/X11/Xmodmap

=========================================================================
출처 : people.kldp.org



사족을 붙이면....

처음에 그놈을 띄우면 XKB 어쩌구 하면서 오류가 뜨는데 정확하게는 모르겠지만...

위의 키 설정을 해준뒤에 Generic 105 key (Intl) PC 키보드를 선택하고 US 키 배치를

선택하니 위의 오류가 없어졌던걸로 기억한다... 가물가물하지만 아마도;;;
Buy me a coffeeBuy me a coffee

+ Recent posts