[데스크탑] 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;
}
——————————————————-
그런 후 컴파일을 하면 한영토글키를 사용할 수 있다.