[설문]여러분의 한영/한자키는 어떻게 설정하시나요?

atie의 이미지

리눅스에서 한영/한자 키를 자동 설정할 수 있는지를 알기 위한 기초 자료를 설문합니다. KLDP의 위키는 다음을 참고하시기 바랍니다.
http://wiki.kldp.org/wiki.php/%C7%D1%BF%B5%C5%B0

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
4. 키보드 유형 (ps/2, usb, wireless?)
5. 배포판과 버전
6. 커널 버전 ( uname -r 로 확인)
7. X 서버 버전
8. 한영 키 값
9. 한자 키 값
10. 어떻게 설정을 하셨습니까?

설문 사항이 추가 되어야 하는 것은 추가를 해 주십시요. 이 설문이 홍보가 되면 위키로 자료를 옮겨 놓겠습니다.

익명 사용자의 이미지

1. 예
2. 근데 인식이 안되서 쉬프트+스페이스 나 오른쪽 Alt 키 이용

3. 삼성키보드 SDL3510
4. ps/2
5. 우분투 브리즈
6. 2.6.12-10-amd64-generic
7. 2.12.1
8. 없음
9. 없음
10. 그냥 마음을 비우고 쉬프트 스페이스 사용함.

익명 사용자의 이미지

설문 :
1. 예
2. -

한영/한자 키가 있다면,
3. 삼보
4. ps/2
5. fc4
6. 2.6.14-1.1653_FC4
7. 6.8.2
8. keycode 210
9. keycode 209
10. 이곳 wiki에 있는 howto 대로...

ceraduenn의 이미지

1. 예

3. SAMSUNG (모델명 5900) 제조자 (주)비씨티정보통신
4. ps/2
5. 우분투 브리즈
6. 2.6.12-9-386
7. 6.8.2-77
8. 210
9. 209
10. http://www.ubuntu.or.kr/wiki.php/한영키

warpdory의 이미지

atie wrote:
리눅스에서 한영/한자 키를 자동 설정할 수 있는지를 알기 위한 기초 자료를 설문합니다. KLDP의 위키는 다음을 참고하시기 바랍니다.
http://wiki.kldp.org/wiki.php/%C7%D1%BF%B5%C5%B0

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
4. 키보드 유형 (ps/2, usb, wireless?)
5. 배포판과 버전
6. 커널 버전 ( uname -r 로 확인)
7. X 서버 버전
8. 한영 키 값
9. 한자 키 값
10. 어떻게 설정을 하셨습니까?

설문 사항이 추가 되어야 하는 것은 추가를 해 주십시요. 이 설문이 홍보가 되면 위키로 자료를 옮겨 놓겠습니다.

1. 있는 키보드도 쓰고 없는 것도 씁니다.
2. 있는 것 : 컴팩 프리자리오 X1044 모델 노트북에 달린 것, 단, 한/영키는 안 씁니다. shift-space 를 씁니다. 한영키는 alt 키로 바꿔놓고 쓰고 있습니다.
없는 것 : 데스크탑용 - 미국에서 쓰던 미니키보드 그냥 씁니다. 한영키 없고, 역시 shift-space

3. 제조사는 노트북꺼는 컴팩일 꺼고... 데스크탑꺼는 made in Mexico 외에는 아무런 정보가 없군요.
4. PS/2
5. 우분투 5.10, 젠투 2005.1-r1
6. 커널 버전은 계속 바뀜. 현재는 우분투는 2.6.12-10-amd64-generic, 젠투는 2.6.14-r5
7. X 는 우분투는 6.8.2 젠투 역시 마찬가지
8. 한영키 안 씀.
9. 한영키 안 씀.
10. 설정 안함.


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

익명 사용자의 이미지

커널 버전 알아내는 것처럼, x서버 버전 조회방법도 올려주세요...
정확히 1분 12초 고민했습니다.

shines의 이미지

1. 한영/한자키 다 있습니다.
2. 한영키, 시프트 스페이스 둘다 씁니다.
3. 삼성, SEM-DT35, 106 keys
4. ps/2
5. 우분투 dapper
6. 2.6.15-8-386
7. xserver 6.8.2, gnome 2.13.3
8. 210
9. 209
10. 여기 보고 따라 했습니다.
http://ubuntu.or.kr/wiki.php/%ED%95%9C%EC%98%81%ED%82%A4

atie의 이미지

누구게? wrote:
커널 버전 알아내는 것처럼, x서버 버전 조회방법도 올려주세요...
정확히 1분 12초 고민했습니다.

데비안 계열이면 synaptic에서 xserver로 조회를 하거나 dpkg -l | grep xserver-* (xorg면 xserver-xorg-core로) 를 하시면 되겠습니다. 페도라나 다른 배포판도 패키지 관리자에서 확인을 하시면 될 듯.

그놈 버전을 쓰신 분들이 있군요. 번외 항목으로 적어 주세요. :wink:

----
I paint objects as I think them, not as I see them.
atie's minipage

리눅써의 이미지

누구게? wrote:
커널 버전 알아내는 것처럼, x서버 버전 조회방법도 올려주세요...
정확히 1분 12초 고민했습니다.

X -version

MS를 믿으세요? 그럼 구글은요?

Prentice의 이미지

1. Y. 한영/한자 키가 사용하는 키보드에 있습니다.
2. 있지만 imhangul로 Shift-Space, F9을 씁니다.
3. 아론 106키 ZOOM KB-A106S
4. PS/2
5. Debian Sid for AMD64
6. 2.6.14-1-amd64-k8
7. 6.8.2.dfsg.1-11
8. hangul: scancode 72, keycode 123, X keycode 210
9. hangul_hanja: scancode 71, keycode 122, X keycode 209
10. 원래는 설정 안하지만, 지금은 아래와 같이 돼있습니다.

sudo setkeycodes 71 122 72 123
xmodmap -e "keycode 210 = Hangul"
xmodmap -e "keycode 209 = Hangul_Hanja"

11. GNOME버젼: 2.10.2

수정: imhangul을 씁니다.

atie의 이미지

저는,

1. 3 키보드 모두 한영/한자 키 없습니다.
2. Nabi에 Shift-Space, F9 씁니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

dasomoli의 이미지

1. 예 있습니다
2. -

3. LG Xnote LW20-73MK 내장 키보드, 세어보니 84키;;
4. 노트북 키보드
5. 우분투 5.10 브리지
6. 2.6.12-10-686
7. X Window System Version 6.8.2 (Ubuntu 6.8.2-77 20051010174523 root@vernadsky.buildd)
8. keycode 113
9. keycode 109
10. ~/.Xmodmap 에
keycode 113 = Hangul
keycode 109 = Hangul_Hanja
추가



dasomoli의 블로그(http://dasomoli.org)
dasomoli = DasomOLI = Dasom + DOLI = 다솜돌이
다솜 = 사랑하옴의 옛 고어.
Developer! ubuntu-ko! 다솜돌이 정석
송효진의 이미지

1. 예
2. -

3. 삼보 power keyboard ack-260 / 106키
4. ps/2
5. gentoo (버전은 의미가 없지요)
6. 2.6.14-gentoo-r5
7. x11-base/xorg-x11-6.8.2-r6
8.

KeyPress event, serial 29, synthetic NO, window 0x1e00001,
    root 0x115, subw 0x0, time 2108345, (227,-165), root:(338,809),
    state 0x0, keycode 210 (keysym 0xff31, Hangul), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 29, synthetic NO, window 0x1e00001,
    root 0x115, subw 0x0, time 2108345, (227,-165), root:(338,809),
    state 0x0, keycode 210 (keysym 0xff31, Hangul), same_screen YES,
    XLookupString gives 0 bytes:

9.
KeyPress event, serial 29, synthetic NO, window 0x1e00001,
    root 0x115, subw 0x0, time 2137153, (175,-282), root:(286,692),
    state 0x0, keycode 209 (keysym 0xff34, Hangul_Hanja), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 29, synthetic NO, window 0x1e00001,
    root 0x115, subw 0x0, time 2137153, (175,-282), root:(286,692),
    state 0x0, keycode 209 (keysym 0xff34, Hangul_Hanja), same_screen YES,
    XLookupString gives 0 bytes:

10.
/bin/setkeycodes 71 122
/bin/setkeycodes 72 123
keycode 209 = Hangul_Hanja
keycode 210 = Hangul
랜덤여신의 이미지

설문 :
1. 넹

한영/한자 키가 있다면,
3. 음.... 노트북(SENS P30)에 붙어있는 키보드에용. 자세한건 모르겠군요.
4. [...]
5. 젠투
6. 2.6.14-gentoo-r5
7. 6.8.2
8. 113
9. 109
10.
시스템 시작시 자동 실행 (배포판과 커널 버전에 따라 안 해도 되는 경우가 있음):

setkeycodes 71 122
setkeycodes 72 123

~/.Xmodmap 설정:
! xmodmap settings for X.Org X Server
keycode 113 = Hangul
keycode 109 = Hangul_Hanja
darehanl의 이미지

1. 하나는 있고 하나는 없습니다.
2. 오늘쪽 alt

한영/한자 키가 있다면,
3. 아론키보드 AU106SN+
4. PS/2, USB 겸용이지만 지금은 PS/2에 연결된 상태입니다(USB 포트가 2개라..)
5. 우분투 5.10
6. 2.6.12-10-k7
7. 6.8.2
8. 210
9. 209
10. setkeycodes는 랜덤여신님과 같은 방식. 한글, 한자키는 .gnomerc (그놈만세라서요;; )

다레하늘

We choose to go to the moon and do the other things, not because they are easy, but because they are hard.
- John F. Kennedy -

ganadist의 이미지

atie wrote:

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
Dell SK-8110 106key
4. 키보드 유형 (ps/2, usb, wireless?)
PS/2
5. 배포판과 버전
젠투 2005.1
6. 커널 버전 ( uname -r 로 확인)
2.6.14-gentoo-r3
7. X 서버 버전
xorg 7.0
8. 한영 키 값
210
9. 한자 키 값
209
10. 어떻게 설정을 하셨습니까?
setkeycodes는 /etc/conf.d/local.start 에 등록
xmodmap은 $HOME/.Xmodmap에 등록

설문 사항이 추가 되어야 하는 것은 추가를 해 주십시요. 이 설문이 홍보가 되면 위키로 자료를 옮겨 놓겠습니다.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

ganadist의 이미지

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
Sejin SPR-8695U 86key
4. 키보드 유형 (ps/2, usb, wireless?)
USB
5. 배포판과 버전
젠투 2005.1
6. 커널 버전 ( uname -r 로 확인)
2.6.14-gentoo-r3
7. X 서버 버전
xorg 7.0
8. 한영 키 값
209
9. 한자 키 값
210
10. 어떻게 설정을 하셨습니까?
usb키보드는 setkeycodes하지 않아도 됨.
xmodmap은 $HOME/.Xmodmap에 등록

이놈은 특이하게 다른 키보드와 다르게 한영/한자 키값이 거꾸로 나오네요.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

krisna의 이미지

설문 :
1. 예
2. 한영키가 있지만 shift-space와 f9를 주로 씁니다.

한영/한자 키가 있다면,
3. Samsung SEM-DT35 106key
4. ps/2
5. Debian sid
6. 2.6.12-1-686
7. XFree86 Version 4.3.0.1 (Debian 4.3.0.dfsg.1-14 20050601051219)
8. keycode 122 (keysym 0xff31, Hangul)
9. keycode 121 (keysym 0xff34, Hangul_Hanja)
10. 부트 스크립트에 아래와 같은 명령을 추가함:
/usr/bin/setkeycodes 71 122
/usr/bin/setkeycodes 72 123

$HOME/.gnomerc 에 아래와 같은 명령을 추가함:
xmodmap $HOME/.Xmodmap

$HOME/.Xmodmap의 내용:
! hangul keys
keycode 122 = Hangul
keycode 121 = Hangul_Hanja

지금까지의 분위기로 봐서는 Xorg와 Xfree86의 차이인것 같군요
전에 그런 의심이 들어서 코드를 좀 찾아봤지만, 키보드 관련하여 딱히 달라진 점을 찾지 못했었습니다.

wkpark의 이미지

krisna wrote:
설문 :
1. 예
2. 한영키가 있지만 shift-space와 f9를 주로 씁니다.

한영/한자 키가 있다면,
3. Samsung SEM-DT35 106key
4. ps/2
5. Debian sid
6. 2.6.12-1-686
7. XFree86 Version 4.3.0.1 (Debian 4.3.0.dfsg.1-14 20050601051219)
8. keycode 122 (keysym 0xff31, Hangul)
9. keycode 121 (keysym 0xff34, Hangul_Hanja)
10. 부트 스크립트에 아래와 같은 명령을 추가함:
/usr/bin/setkeycodes 71 122
/usr/bin/setkeycodes 72 123

$HOME/.gnomerc 에 아래와 같은 명령을 추가함:
xmodmap $HOME/.Xmodmap

$HOME/.Xmodmap의 내용:
! hangul keys
keycode 122 = Hangul
keycode 121 = Hangul_Hanja

지금까지의 분위기로 봐서는 Xorg와 Xfree86의 차이인것 같군요
전에 그런 의심이 들어서 코드를 좀 찾아봤지만, 키보드 관련하여 딱히 달라진 점을 찾지 못했었습니다.

xfree86 121, 122
x.org   209, 210

그냥 딱 봐서는 두 값의 차이가 88이군요. 88이라는 숫자로 보건데 뭔가가 01000100비트를 빼준 것(xfree86)과 빼주지 않은 것(x.org)의 차이가 있는?

그리고, 노트북의 경우는 오른쪽에 한/영키만 있고, alt키가 없는 경우가 있습니다. 이 경우는 한/영키라고 볼 수 없고 오른쪽 alt키라고 봐야겠죠. 그 값이 113일겁니다. (구글서치해보니 113이라고 나오네요. 확인 필요합니다.)

온갖 참된 삶은 만남이다 --Martin Buber

atie의 이미지

제 짧은 생각으로는
http://freedesktop.org/wiki/Software_2fXKeyboardConfig
에 jp가 된 것을 참조하여 ko를 넣으면 되지 않나 싶습니다.
위의 설문으로는 106(일반)와 84(노트북) 키 두개의 차이만 볼 수가 있는데, 자료가 더 필요하겠죠.

추가// xkeycaps, xkeysw 그리고 xkeysw-config이 도움이 되는 프로그램들 인지는 어느 분이 확인해 주셨으면 합니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

myohan의 이미지

1. 없음
2. 입력기 : 나비
한글 : 시프트+스페이스
한자 : 펑션키 + 9
(해피해킹이라 펑션키도 없어요 ... lite2) 8)

---------------------------------------
blog : http://myohan.egloos.com

iolo의 이미지

1. 없음
2. 입력기 : 나비(또는 imhangul)
한글 : 시프트+스페이스
한자 : F9

----
the smile has left your eyes...

wkpark의 이미지

궁금한것 한가지: 한영키, 한자키가 없는 경우에 "setkeycodes 71 122"를 실행하면 무슨 오류가 나오나요? 특별한 문제가 없다면 setkeycodes는 아예 항상 실행되도록 해버릴 수도 있을것입니다.

온갖 참된 삶은 만남이다 --Martin Buber

Prentice의 이미지

(혹시나 해서 다시 적어보는데, setkeycodes 71 122 72 123 이런 식으로 한 줄에 적으셔도 됩니다.)

wkpark의 이미지

검은해 wrote:
(혹시나 해서 다시 적어보는데, setkeycodes 71 122 72 123 이런 식으로 한 줄에 적으셔도 됩니다.)

네 이미 눈치 챘고, 왜 명령어 이름이 setkeycodes인지를 알았습니다. 메뉴얼 페이지의 ...가 의미하는 바도요 :)

온갖 참된 삶은 만남이다 --Martin Buber

ganadist의 이미지

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
Microsoft Natural keyboard Pro key 106 + 19 key
4. 키보드 유형 (ps/2, usb, wireless?)
USB
5. 배포판과 버전
ubuntu dapper
6. 커널 버전 ( uname -r 로 확인)
2.6.12-10-386
7. X 서버 버전
xorg 7.0 rc2
8. 한영 키 값
209
9. 한자 키 값
210
10. 어떻게 설정을 하셨습니까?
usb키보드는 setkeycodes하지 않아도 됨.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

ganadist의 이미지

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
Microsoft Natural keyboard Pro key 106 + 19 key
4. 키보드 유형 (ps/2, usb, wireless?)
PS/2 (USB 겸용;; )
5. 배포판과 버전
ubuntu dapper
6. 커널 버전 ( uname -r 로 확인)
2.6.12-10-386
7. X 서버 버전
xorg 7.0 rc2
8. 한영 키 값
210
9. 한자 키 값
209
10. 어떻게 설정을 하셨습니까?
커맨드라인에서 setkeycodes 71 122 72 123 입력.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

파도의 이미지

1. 한영/한자 키가 사용하는 키보드에 있습니까?
예, 있습니다.
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
삼성, 제품명 잘모름, 106키
4. 키보드 유형 (ps/2, usb, wireless?)
ps/2
5. 배포판과 버전
Fedora core 4
6. 커널 버전 ( uname -r 로 확인)
2.6.14-1.1653_FC4
7. X 서버 버전
X.org 6.8.2
8. 한영 키 값
tty의 showkey: 123
X의 xev: 210

9. 한자 키 값
tty의 showkey: 122
X의 xev: 209

10. 어떻게 설정을 하셨습니까?
/etc/rc.d/rc.local 파일에

setkeycodes 71 123
setkeycodes 72 122

/etc/X11/Xmodmap 파일에
keycode 209 = Hangul_Hanja
keycode 210 = Hangul

추가

--------Signature--------
시스니쳐 생각 중..

ironiofeva의 이미지

1. 예
2.
3. i-rocks / KR-6100 / 106
4. ps/2
5. Debian GNU/Linux / Sarge
6. 2.6.8-2
7. xserver-xfree86 4.3.0
# 키코드 값은 xev를 기준으로 적었습니다.
8. 122
9. 121
10. 아래 스크립트를 부팅시 실행시키고

setkeycodes 71 122
setkeycodes 72 123

X 실행시는 아래를 추가해 쓰고 있습니다.
xmodmap -e "keycode 122 = Hangul"
xmodmap -e "keycode 121 = Hangul_Hanja"

써놓고 보니까 이상한 부분이 보이네요^^
현재 설정으로 이상은 없기에 그냥 쓰렵니다~

atie의 이미지

ganadist wrote:
설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?
2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
Sejin SPR-8695U 86key
4. 키보드 유형 (ps/2, usb, wireless?)
USB
5. 배포판과 버전
젠투 2005.1
6. 커널 버전 ( uname -r 로 확인)
2.6.14-gentoo-r3
7. X 서버 버전
xorg 7.0
8. 한영 키 값
209
9. 한자 키 값
210
10. 어떻게 설정을 하셨습니까?
usb키보드는 setkeycodes하지 않아도 됨.
xmodmap은 $HOME/.Xmodmap에 등록

이놈은 특이하게 다른 키보드와 다르게 한영/한자 키값이 거꾸로 나오네요.


이것은 다른 답변들과는 달리 예외네요. usb 키보드로 테스트 된 자료가 더 있어야 키보드의 문제인지 여부를 알 수가 있겠네요. usb 키보드 쓰시는 분들?

----
I paint objects as I think them, not as I see them.
atie's minipage

Fe.head의 이미지

1. 한영/한자 키가 사용하는 키보드에 있습니까?
모두 있다.

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
아론/106키
4. 키보드 유형 (ps/2, usb, wireless?)
PS/2
5. 배포판과 버전
Debian
6. 커널 버전 ( uname -r 로 확인)
2.6.13
7. X 서버 버전
Xorg 6.8.2
8. 한영 키 값
모름 : 사용안함, shift space 사용.
9. 한자 키 값
F9 사용중.
10. 어떻게 설정을 하셨습니까?
무 설정.

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

7339989b62a014c4ce6e31b3540bc7b5f06455024f22753f6235c935e8e5의 이미지

아시아눅스 커널 SRPM을 풀어서 한영키 패치를 찾아봤습니다.
ftp://ftp.haansoftlinux.com/pub/haansoftlinux/OS/2006/AX32/SRPMS/kernel-2.6.9-11.19AX.src.rpm

diff -uNr linux-2.6.9.org/drivers/input/input.c linux-2.6.9/drivers/input/input.c
--- linux-2.6.9.org/drivers/input/input.c	2004-02-04 03:43:56.000000000 +0000
+++ linux-2.6.9/drivers/input/input.c	2004-02-09 11:04:53.000000000 +0000
@@ -91,10 +91,10 @@
 			break;
 
 		case EV_KEY:
-
+		if (code != KEY_HANGUEL && code != KEY_HANJA) {
 			if (code > KEY_MAX || !test_bit(code, dev->keybit) || !!test_bit(code, dev->key) == value)
 				return;
-
+		}
 			if (value == 2)
 				break;
 
diff -uNr linux-2.6.9.org/drivers/input/keyboard/atkbd.c linux-2.6.9/drivers/input/keyboard/atkbd.c
--- linux-2.6.9.org/drivers/input/keyboard/atkbd.c	2004-02-04 03:44:19.000000000 +0000
+++ linux-2.6.9/drivers/input/keyboard/atkbd.c	2004-02-09 11:05:48.000000000 +0000
@@ -134,8 +134,8 @@
 #define ATKBD_RET_EMULX		0x80
 #define ATKBD_RET_EMUL1		0xe1
 #define ATKBD_RET_RELEASE	0xf0
-#define ATKBD_RET_HANGUEL	0xf1
-#define ATKBD_RET_HANJA		0xf2
+#define ATKBD_RET_HANGUEL	0xf2
+#define ATKBD_RET_HANJA		0xf1
 #define ATKBD_RET_ERR		0xff
 
 #define ATKBD_KEY_UNKNOWN	  0
kyu419의 이미지

1. 한영/한자 키가 사용하는 키보드에 있습니까?
있습니다.

2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?
한영/한자, Shift+Space 다 사용합니다.

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
i-rocks사의 KR-6110, 106키에 위에 몇 개 더 붙어 있습니다.

4. 키보드 유형 (ps/2, usb, wireless?)
USB

5. 배포판과 버전
Fedora Core4

6. 커널 버전 ( uname -r 로 확인)
2.6.14-1.1653_FC4

7. X 서버 버전
xorg 6.8.2

8. 한영 키 값
209

9. 한자 키 값
210

10. 어떻게 설정을 하셨습니까?
Setkeycodes와 Xmodmap을 모두 하여야 작동하였습니다.

안녕하세요 ^^ 리눅스와 오픈소스에 관심이 많은 학생입니다 ^^

정진웅의 이미지

. 한영/한자 키가 사용하는 키보드에 있습니까?
예 있습니다

2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?

한영/한자 키가 있다면,

3. 키보드의 제조사, 제품명과 key 갯수
삼성..완전 기본 키보드 (새어보기 귀찮아서 ㅠ.ㅠ)

4. 키보드 유형 (ps/2, usb, wireless?)
ps/2

5. 배포판과 버전
우분투 브릿지

6. 커널 버전 ( uname -r 로 확인)
2.6.12-10-686-smp

7. X 서버 버전
리눅스 초보라 어떤건지 모름 ㅡㅡ

8. 한영 키 값
xev로 확인 결과 없음.
9. 한자 키 값
xev로 확인 결과 없음.
10. 어떻게 설정을 하셨습니까?
불편함 없이 쉬프트+스페이스로 쓰고 있습니다~

lacovnk의 이미지

설문 :
1. 한영/한자 키가 사용하는 키보드에 있습니까?

2. 없으면, 한영 변환과 한자 입력을 위해 사용하는 입력기와 키는 무엇입니까?
패스

한영/한자 키가 있다면,
3. 키보드의 제조사, 제품명과 key 갯수
DigitalIBE
IBE-K9000
기본+한영1 한자1 윈도우메뉴1

다른 키도 있는데, xev에서 안잡히는 것도 있고 그렇습니다.
sleep, wakeup, power, 그리고 특수키인 계산기 등등이 있습니다.

4. 키보드 유형 (ps/2, usb, wireless?)
ps/2

5. 배포판과 버전
gentoo 2005.1-r1

6. 커널 버전 ( uname -r 로 확인)
2.6.12-gentoo-r10

7. X 서버 버전
6.8.2

8. 한영 키 값
210

9. 한자 키 값
209

10. 어떻게 설정을 하셨습니까?
setkeycode & xmodmap

atie의 이미지

위의 커널 패치를 보니 국내 배포판을 쓰시는 분들은 따로 위와 같은 한영/한자 키에 대한 편집을 하지 않고도 사용이 되는지가 궁금합니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

익명 사용자의 이미지

ditto wrote:
아시아눅스 커널 SRPM을 풀어서 한영키 패치를 찾아봤습니다.
ftp://ftp.haansoftlinux.com/pub/haansoftlinux/OS/2006/AX32/SRPMS/kernel-2.6.9-11.19AX.src.rpm

diff -uNr linux-2.6.9.org/drivers/input/input.c linux-2.6.9/drivers/input/input.c
--- linux-2.6.9.org/drivers/input/input.c	2004-02-04 03:43:56.000000000 +0000
+++ linux-2.6.9/drivers/input/input.c	2004-02-09 11:04:53.000000000 +0000
@@ -91,10 +91,10 @@
 			break;
 
 		case EV_KEY:
-
+		if (code != KEY_HANGUEL && code != KEY_HANJA) {
 			if (code > KEY_MAX || !test_bit(code, dev->keybit) || !!test_bit(code, dev->key) == value)
 				return;
-
+		}
 			if (value == 2)
 				break;


이 부분은 스캔코드 테이블을 점검하지 않도록 넘어가는 부분인 것 같군요. setkeycodes로 스캔코드 테이블에 한자, 한/영키를 세팅하는 것과 같은 효과를 내는 듯.

Quote:

diff -uNr linux-2.6.9.org/drivers/input/keyboard/atkbd.c linux-2.6.9/drivers/input/keyboard/atkbd.c
--- linux-2.6.9.org/drivers/input/keyboard/atkbd.c	2004-02-04 03:44:19.000000000 +0000
+++ linux-2.6.9/drivers/input/keyboard/atkbd.c	2004-02-09 11:05:48.000000000 +0000
@@ -134,8 +134,8 @@
 #define ATKBD_RET_EMULX		0x80
 #define ATKBD_RET_EMUL1		0xe1
 #define ATKBD_RET_RELEASE	0xf0
-#define ATKBD_RET_HANGUEL	0xf1
-#define ATKBD_RET_HANJA		0xf2
+#define ATKBD_RET_HANGUEL	0xf2
+#define ATKBD_RET_HANJA		0xf1
 #define ATKBD_RET_ERR		0xff
 
 #define ATKBD_KEY_UNKNOWN	  0

HANGUEL/HANJA라는 단어가 의외로 많이 보이는데 모두 순서가 바뀌어있습니다. usb 키보드와 ps/2키보드의 키코드가 서로 반대가 되는 원인을듯..
wkpark의 이미지

위키에 올리려다 일단 올립니다.

from 위키

Quote:
한가지 질문할 것이 더 생겼습니다. 실제로 setkeycodes로 키코드를 등록하기 위해서는 스캔코드 값을 알아야 합니다. 이것은 showkey를 이용해서 알 수 있다고 나와있습니다. man 페이지에서는 showkey -s를 이용하라고 하더군요. 그러나 setkeycodes로 등록하기 전의 한영키나 한자키는 showkey에서 반응하지 않습니다. 이럴 때는 어떻게 해야 합니까? 어떻게 스캔코드 값과 키코드 값을 알아내죠? 특히 일반 106키가 아닌 노트북 같은 경우에는 키코드 및 스캔코드 값이 다 다를텐데 이런 분들은 어떻게 값을 알아내십니까? --GunSmoke

예전에 제 기억으로는 등록되지 않은 키를 누르면 커널 로그에 메시지가 남았습니다. 그런데 그 로그가 남지 않아서 궁금해서 한번 살펴보니,
http://lxr.linux.no/source/drivers/input/keyboard/atkbd.c#L302

302         switch (code) {
303                 case ATKBD_RET_BAT:
304                         atkbd->enabled = 0;
305                         serio_rescan(atkbd->ps2dev.serio);
306                         goto out;
307                 case ATKBD_RET_EMUL0:
308                         atkbd->emul = 1;
309                         goto out;
310                 case ATKBD_RET_EMUL1:
311                         atkbd->emul = 2;
312                         goto out;
313                 case ATKBD_RET_RELEASE:
314                         atkbd->release = 1;
315                         goto out;
316                 case ATKBD_RET_HANGUEL:
317                         atkbd_report_key(&atkbd->dev, regs, KEY_HANGUEL, 3);
318                         goto out;
319                 case ATKBD_RET_HANJA:
320                         atkbd_report_key(&atkbd->dev, regs, KEY_HANJA, 3);
321                         goto out;
322                 case ATKBD_RET_ERR:
323                         printk(KERN_DEBUG "atkbd.c: Keyboard on %s reports too many keys pressed.\n", serio->phys);
324                         goto out;
325         }

(한영, 한자키는 keydown 이벤트만 발생되는데 그 부분을 처리하는 듯)

한영키, 한자키는 스캔코드로 등록이 되어있지 않으면서도 커널에서 한영키를 점검을 하는 부분이 새로 들어갔나봅니다. 한영키 검사를 하고난 후에 "goto out"을 해버리고 있는데,
아래에 이어서 볼 수 있는 소스에 의하면, keycode가 정의되어있는지 정의되지 않았는지를 점검하는 코드를 그냥 통과해버리고 있습니다. ㅡㅡ;;

326 
327         if (atkbd->set != 3)
328                 code = (code & 0x7f) | ((code & 0x80) << 1);
329         if (atkbd->emul) {
330                 if (--atkbd->emul)
331                         goto out;
332                 code |= (atkbd->set != 3) ? 0x80 : 0x100;
333         }
334 
335         if (atkbd->keycode[ code] != ATKBD_KEY_NULL)
336                 input_event(&atkbd->dev, EV_MSC, MSC_SCAN, code);
337 
338         switch (atkbd->keycode[ code]) {
339                 case ATKBD_KEY_NULL:
340                         break;
341                 case ATKBD_KEY_UNKNOWN:
342                         if (data == ATKBD_RET_ACK || data == ATKBD_RET_NAK) {
343                                 printk(KERN_WARNING "atkbd.c: Spurious %s on %s. Some program, "
344                                        "like XFree86, might be trying access hardware directly.\n",
345                                        data == ATKBD_RET_ACK ? "ACK" : "NAK", serio->phys);
346                         } else { // 이부분
347                                 printk(KERN_WARNING "atkbd.c: Unknown key %s "
348                                        "(%s set %d, code %#x on %s).\n",
349                                        atkbd->release ? "released" : "pressed",
350                                        atkbd->translated ? "translated" : "raw",
351                                        atkbd->set, code, serio->phys);
352                                 printk(KERN_WARNING "atkbd.c: Use 'setkeycodes %s%02x <keycode>' "
353                                        "to make it known.\n",
354                                        code & 0x80 ? "e0" : "", code & 0x7f);
355                         }
356                         input_sync(&atkbd->dev);
357                         break;

... 생략
402 out:
403         return IRQ_HANDLED;
404 }

한영키에 대해 커널이 이렇듯 처리하고 있으면서도 한영키/한자키의 scancode가 등록되어있지 않고, 워닝도 건너뛰고 있는 것은 버그같군요.

한영키/한자키에 대응되는 키코드를 아예 집어 넣고, 위의 문제점을 함께 함께 리포팅하면 커널에 반영될 수 있을듯..

온갖 참된 삶은 만남이다 --Martin Buber

지리즈의 이미지

고생하십니다.

설문 :
1. Compact 구형 102키
2. (Left)Shift + space

There is no spoon. Neo from the Matrix 1999.

랜덤여신의 이미지

Anonymous wrote:
ditto wrote:
아시아눅스 커널 SRPM을 풀어서 한영키 패치를 찾아봤습니다.
ftp://ftp.haansoftlinux.com/pub/haansoftlinux/OS/2006/AX32/SRPMS/kernel-2.6.9-11.19AX.src.rpm

diff -uNr linux-2.6.9.org/drivers/input/input.c linux-2.6.9/drivers/input/input.c
--- linux-2.6.9.org/drivers/input/input.c	2004-02-04 03:43:56.000000000 +0000
+++ linux-2.6.9/drivers/input/input.c	2004-02-09 11:04:53.000000000 +0000
@@ -91,10 +91,10 @@
 			break;
 
 		case EV_KEY:
-
+		if (code != KEY_HANGUEL && code != KEY_HANJA) {
 			if (code > KEY_MAX || !test_bit(code, dev->keybit) || !!test_bit(code, dev->key) == value)
 				return;
-
+		}
 			if (value == 2)
 				break;


이 부분은 스캔코드 테이블을 점검하지 않도록 넘어가는 부분인 것 같군요. setkeycodes로 스캔코드 테이블에 한자, 한/영키를 세팅하는 것과 같은 효과를 내는 듯.

네. 그렇습니다.
제가 setkeycodes 방법을 쓰는 이유가, setkeycodes 를 이용하면 커널 소스에 저 패치를 적용하지 않아도 되거든요.

하지만, 리눅스 자체 차원의 한영키 지원을 위해서라면 커널 소스를 패치하는게 좋을 것 같네요. 그러나, 저 패치 자체는 땜방스러운 방법인듯...

atie의 이미지

저도 히스토리를 찾아 보았습니다.

이 패치가 최초의 한영/한자키를 위한 패치로 보입니다.
http://galileo.gamepoint.com.au/pub/linux/kernel/people/akpm/patches/2.6/2.6.0-test9/2.6.0-test9-mm5/broken-out/atkbd-24-compatibility.patch

Quote:
The first one fixes an issue in current 2.6-test with AT keyboard repeat
rate setting, the second one makes setkeycodes/getkeycodes work the same
as 2.4, so that people can keep their setups. It also fixes japanese and
korean key handling.

이 문장으로 2.6에서 한영키에 대한 처리를 하겠다는 것을 볼 수 있습니다.

다음으로는, 리눅스 사랑넷에서 볼 수 있는 이런 수정이 있습니다.
http://www.linux-sarang.net/board/?p=read&table=tip&no=10335&page=
위의 아시아눅스의 패치와 같습니다.

이미 이 때 2.6에서 한영키 문제가 있다는 것이 알려진 것이겠죠.

그 다음에 볼 수 있는 것은 2.6.7 이전 버전에 대한 workaround로 userspace에서 시도한 이 소스 입니다. 커널 변경이 힘든 경우 대안이 될런지 모르겠고, 2.6.7에서 어떻게 변경이 되었는지는 확인을 못했습니다.
http://www.informatik.uni-freiburg.de/~danlee/fun/psaux/atkbd.c

그 다음에 최근에는 엉뚱한 패치도 보입니다. KEY_HANGUEL을 KEY_HANGEUL로 바꾸어야 한다는 ... (받아들여질까 걱정되는 부분입니다.)
http://lkml.org/lkml/2005/10/7/122

아무튼 제 생각에는, 2.6 커널에서 한영/한자 키를 처리하려는 의도가 있었고 국내 배포판에서는 그 문제가 있는 것을 알고 패치를 했습니다. 그런데 위에 보듯이 2.6.12 이상 버전이 되어도 그 문제가 근본적으로 해결이 된 것으로는 보이지 않습니다. (아니면 알아서 Setkeycodes로 해결하라는 것일지도...)

커널의 문제와 X 서버의 문제 두 가지 있다고 본다면, 위의 건이 커널 문제이고, X 서버는 추측컨대 7.0에서 XKB는 상당 부분이 바뀌는 것 같습니다. 오늘자 플래닛 우분투의 Daniel Stone의 블로그에서 다음을 볼 수가 있었습니다.

Quote:
daniels@ephemera:~/x/xorg/xserver% diff -urN xorg{,.xkb}/xkb | diffstat | tail -1
27 files changed, 1437 insertions(+), 7439 deletions(-)

Hacking on XKB as recreation. Whoohoo.

----
I paint objects as I think them, not as I see them.
atie's minipage

정규의 이미지

1. 없습니다.
2. 한영: Shift+Space, 한자: F9

HHKB Pro입니다. :oops:

atie의 이미지

이 한영/한자키 관련 건으로 추가 작업을 하시는 분이나 커널 버그 보고 등을 하신 분이 계시면 정보를 공유해 주셨으면 합니다.
ubuntu-ko에서는 /usr/share/keymaps/i386/qwerty/jp106.kmap.gz 을 참조하여 ko106.kmap을 만들어 테스트 해 보려고 합니다. 관련되는 패키지는 console-data와 console-tools의 loadkeys를 봐야 할 듯 하고요.

이 방법이 바른 방향인지 의견을 주시거나 또는 작업에 도움을 주실 분들은 여기에 글을 남겨 주셨으면 합니다. 다레하늘님이 작업하시는 것은 여기에서 참고하실 수 있습니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

익명 사용자의 이미지

atie wrote:
이 한영/한자키 관련 건으로 추가 작업을 하시는 분이나 커널 버그 보고 등을 하신 분이 계시면 정보를 공유해 주셨으면 합니다.
ubuntu-ko에서는 /usr/share/keymaps/i386/qwerty/jp106.kmap.gz 을 참조하여 ko106.kmap을 만들어 테스트 해 보려고 합니다. 관련되는 패키지는 console-data와 console-tools의 loadkeys를 봐야 할 듯 하고요.

이 방법이 바른 방향인지 의견을 주시거나 또는 작업에 도움을 주실 분들은 여기에 글을 남겨 주셨으면 합니다. 다레하늘님이 작업하시는 것은 여기에서 참고하실 수 있습니다.


ko106을 만드는 것은 그다지 의미가 없습니다.
한영, 한자키를 지정할 수도 없고, 한글 키 역시 배정할 수도 없습니다. (jp106에도 역시 일본어 문자가 배정된 것은 전혀 없습니다)

또, jp106의 키 배열은 우리가 일반적으로 쓰는 106키 배열과 매우 다릅니다.

kbd 소스를 살펴보셔도 해답을 찾으시긴 힘들 것입니다. setkeycodes 관련 문제는 이 글타래에 언급된(?) 커널 패치를 참고로 해서, 한영/한자 키를 키매핑에 추가하는 패치를 만들면 간단히 해결되지 않을까 합니다만..

atie의 이미지

Anonymous wrote:
atie wrote:
이 한영/한자키 관련 건으로 추가 작업을 하시는 분이나 커널 버그 보고 등을 하신 분이 계시면 정보를 공유해 주셨으면 합니다.
ubuntu-ko에서는 /usr/share/keymaps/i386/qwerty/jp106.kmap.gz 을 참조하여 ko106.kmap을 만들어 테스트 해 보려고 합니다. 관련되는 패키지는 console-data와 console-tools의 loadkeys를 봐야 할 듯 하고요.

이 방법이 바른 방향인지 의견을 주시거나 또는 작업에 도움을 주실 분들은 여기에 글을 남겨 주셨으면 합니다. 다레하늘님이 작업하시는 것은 여기에서 참고하실 수 있습니다.


ko106을 만드는 것은 그다지 의미가 없습니다.
한영, 한자키를 지정할 수도 없고, 한글 키 역시 배정할 수도 없습니다. (jp106에도 역시 일본어 문자가 배정된 것은 전혀 없습니다)

또, jp106의 키 배열은 우리가 일반적으로 쓰는 106키 배열과 매우 다릅니다.

kbd 소스를 살펴보셔도 해답을 찾으시긴 힘들 것입니다. setkeycodes 관련 문제는 이 글타래에 언급된(?) 커널 패치를 참고로 해서, 한영/한자 키를 키매핑에 추가하는 패치를 만들면 간단히 해결되지 않을까 합니다만..


패치를 만들어 커널에 반영을 하든 다른 방법으로 처리를 하던 "이제는 결과를 내서 모든 배포판에서 사용자가 별도로 설정하는 수고를 하지 말자" 하는 것이니 간단한 문제면 잠시 시간을 내셔서 패치를 올려 주셨으면 합니다.

----
I paint objects as I think them, not as I see them.
atie's minipage

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.