[데스크탑] rdesktop-1.2.x~1.4.x 한글 keymap 적용시키기

rdesktop-1.2.x  한글 keymap 적용시키기

먼저 rdesktop CVS 사이트에서 최신 소스를 다운 받는다.

# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rdesktop login

# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/rdesktop co rdesktop

# cd rdesktop/keymaps

# vi kr

———————————————————————————-

# Korean(Hangul)

include common

map 0x412

Hangul 0xf2

Hangul_Hanja 0xf1

grave 0x29

asciitilde 0x29 shift

exclam 0x02 shift

at 0x03 shift

numbersign 0x04 shift

dollar 0x05 shift

percent 0x06 shift

asciicircum 0x07 shift

ampersand 0x08 shift

asterisk 0x09 shift

parenleft 0x0a shift

parenright 0x0b shift

minus 0x0c

underscore 0x0c shift

equal 0x0d

plus 0x0d shift

bracketleft 0x1a

braceleft 0x1a shift

bracketright 0x1b

braceright 0x1b shift

backslash 0x2b

bar 0x2b shift

semicolon 0x27

colon 0x27 shift

apostrophe 0x28

quotedbl 0x28 shift

comma 0x33

less 0x33 shift

period 0x34

greater 0x34 shift

slash 0x35

question 0x35 shift

———————————————————————————

# ./convert-map kr > ko

# cd ..

# vi rdesktop.c

———————————————————————————

keylayout 으로 열을 찾아면 ..

int keylayout = 0x409; 을 int keylayout = 0x412; 로 변경함.

keymapname 으로 열을 검색하여 ..

strcpy(keymapname, “en-us”); 을 strcpy(keymapname, “ko”); 로 변경

———————————————————————————-

# ./configure

# make

# make all

하면 기본적으로 ko 모드로 접속이 되며, 한영키 변환은 Alt 키가 된다.

————————————————————————-

커널 2.6 환경에서의 한글키 적용하기

fedora나 Redhat ES 4 이상 버전을  처음 설치하면 xev에서 한영키 및 한자키가 scan되지 않을 것이다. 이땐 먼저 root 권한으로 다음을 실행하여 키를 셋팅한다.

# setkeycodes e071 122

# setkeycodes e072 123

그 리고 xev로 한자키, 한영키의 키 코드가 scan되는지 확인해서 scan이 되면 위의 커맨드를 /etc/rc.local 스크립트에 넣어서 부팅할 때마다 셋팅되록 설정해 준다. 그리고 ~/.xsession에 xev로 스캔된 코드 값을 추가해 준다.

예를 들어, 필자가 xev에서 한영키를 눌렀을 때 다음과 같이 210코드가 scan이 되었다.

KeyRelease event, serial 27,

synthetic NO, window 0x2a00001, root 0x58, subw 0x0,

time 3751682, (169,-15), root:(197,69),

state 0x0, keycode 210 (keysym 0xff31, Hangul),

same_screen YES, XLookupString gives 0 bytes:

그리고 한자키는 키값이 209가 되어서 ~/.xsession에 다음과 같이 추가하였다.

xmodmap -e “keycode 210 = Hangul”

xmodmap -e “keycode 209 = Hangul_Hanja”

만약 전체 유저에게 적용하고 싶다면 /etc/X11/Xmodmap 파일에 등록해주면 된다.

keycode 22 = BackSpace

keycode 107 = Delete

keycode 209 = Hangul_Hanja

keycode 210 = Hangul

그런 후 rdesktop 의 xkeymap.c 소스를 수정한다.

——————————————————-

.

.

        /* map */

        if (strncmp(line, “map “, 4) == 0)

        {

            g_keylayout = strtol(line + 4, NULL, 16);

                if (g_keylayout == 0x0412)

                g_keylayout |= 0xe0010000; /* M$ hangul IME */

            DEBUG_KBD((“Keylayout 0x%x\\n”, g_keylayout));

            continue;

        }

——————————————————-

그런 후 컴파일을 하면 한영토글키를 사용할 수 있다.

서진우

슈퍼컴퓨팅 전문 기업 클루닉스/ 상무(기술이사)/ 정보시스템감리사/ 시스존 블로그 운영자

You may also like...

1 Response

  1. 2022년 6월 21일

    2lettuce

페이스북/트위트/구글 계정으로 댓글 가능합니다.