반응형

OS: Ubuntu Desktop 14.04.2 LTS (amd64)

FreeRDP: 1.1.0-beta-2013071101


<NOTE> 

2016.08.24 현재 한영키 문제는 github에 있는 FreeRDP의 가장 최신 소스코드에서 해결되었다.

따라서 더이상 아래와 같이 굳이 베타 버전을 가져와서 직접 수정할 필요가 없게 되었다.

(다만 그 대신 최신 버전에서 전체화면 모드가 출력이 잘 안되는 듯한 버그가 있어 보이지만...)


* FreeRDP github 주소: https://github.com/FreeRDP/FreeRDP



FreeRDP는 현재 최신 버전(1.1.0-beta)에서도 한영키와 한자키가 작동하지 않는다.

한영키를 누르면 "Unknown key with X keycode 0x82", 

한자키를 누르면 "Unknown key with X keycode 0x83"

이러한 에러 메세지가 콘솔창에 표시된다.


FreeRDP의 최신 버전을 소스코드 컴파일을 통해서 설치했기 때문에 소스코드를 확인한 결과, 프로그램이 자체적으로 키보드 입력을 RDP keycode로 변환하는 과정에서 한영키와 한자키는 매핑된 키 정보가 없어서 키 입력이 누락되는 것이었다. 따라서 한영키와 한자키 입력에 대해서 올바른 RDP keycode 매핑이 있도록 연결만 해 주면 정상적으로 작동한다.

이를 위해 소스코드를 아래와 같이 고쳐 준다.


대상 파일: libfreerdp/locale/keyboard_xkbfile.c (line 51)

XKB_KEY_NAME_SCANCODE XKB_KEY_NAME_SCANCODE_TABLE[] =

{

{ "BKSP", RDP_SCANCODE_BACKSPACE},

{ "TAB", RDP_SCANCODE_TAB},

{ "RTRN", RDP_SCANCODE_RETURN}, // not KP

{ "LFSH", RDP_SCANCODE_LSHIFT},

...


위와 같이 51라인 쯤에 있는 XKB_KEY_NAME_SCANCODE_TABLE 배열에 아래 두 항목을 추가한다.

{ "HNGL", RDP_SCANCODE_KANA_HANGUL},

{ "HJCV", RDP_SCANCODE_HANJA_KANJI}


keyboard_xkbfile.c 소스코드 파일:

keyboard_xkbfile.c



혹시 freerdp (xfreerdp)가 실행중이면 종료한 다음, 소스코드 최상위 폴더로 가서 아래와 같이 새로 빌드하고 설치한다.

$ make

$ sudo make install


(참고) FreeRDP 소스코드에서 설치하는 방법: http://skylit.tistory.com/158


다시 freerdp (xfreerdp)를 실행하면 한영키, 한자키가 작동할 것이다.

$ xfreerdp /u:사용자계정 /v:원격컴퓨터주소:포트번호




반응형
블로그 이미지

Bryan_

,