윈도우즈용 vncviewer에서 한글IME 쓰기

wkpark의 이미지

vncviewer 많이 쓰실겁니다.

첨부한 자료는 한글키가 먹히도록 고친 vncviewer-ko.exe입니다.
-----
윈도우즈에서 한글키가 먹지 않는 사실은 알고 계실겁니다.

몇일전 vnc를 설정하고 fedora core3로 접속하려고 vncviewer를 실행하고,
한영/한자키를 세팅한 후에 vncviewer로 접속했는데, 한영키가 작동을 하더군요
(새나루 입력기 상태에서 xev로 반응을 했습니다.)

그래서 구글링 해보니 다음과 같은 비교적 오래되었지만 정확한 자료를 찾았습니다.

http://www.realvnc.com/pipermail/vnc-list/2001-April/022108.html

한글 IME에서는 한영/한자키를 누르면 VK_PROCESSKEY가 virtural key로
나오는데 이것을 실제 vk값으로 바꾸기 위해 ImmGetVirtualKey(hwnd)를 이용하는 패치입니다.

이 패치를 거의 그대로 적용하고, rfb_win32/keysym.h에서 XK_Kanji 부분을 XK_Hanja라고 바꾸니 vncviewer에서 한글키가 작동하게 되었습니다.

새나루 입력기에서는 IME2002와는 다르게, 윈도우즈의 IME상태도 같이 바뀌는데, vncviewer의 한영 상태와 관계 없이 모두 잘 작동을 합니다. :)

File attachments: 
첨부파일 크기
Package icon vncviewer-ko.zip216.25 KB
Plain text icon vnc-4.0-winsrc.txt3.95 KB
Package icon vncviewer-ko_r.zip152.04 KB
Package icon vncviewer_han.zip128.14 KB
Package icon vncviewer_patch.zip130.25 KB
Package icon vncviewer_ko.zip155.44 KB
Forums: 
착이의 이미지

와, 멋져요!

is null?

송지석의 이미지

이거 서버도 소스를 바꾸거나 설정을 바꾸어야 하는 거지요?
윈도우즈 서버에선 안되더군요.(ultra vnc)

wkpark의 이미지

송지석 wrote:
이거 서버도 소스를 바꾸거나 설정을 바꾸어야 하는 거지요?
윈도우즈 서버에선 안되더군요.(ultra vnc)

위의 것으로는 안되고,
아래 링크를 참조해 보시길 바랍니다. 컴파일된 바이너리도 같이 있습니다.

http://radiohead.egloos.com/656886
(임인택님이 고친 소스도 있습니다.)

소스를 살펴보니 다음과 같은 코드가 들어있습니다.

keybd_event(VK_HANGEUL, 0, KEYEVENTF_EXTENDEDKEY, 0);

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

송지석의 이미지

감사합니다. 그런데 저는 ultra vnc를 써서... 이런 것은 개발자들에게 리포트 해봤자 안되겠지요? 음...

익명 사용자의 이미지

한글도 문제지만, alt-tab 의 해결방법은 없을까요?

한영키야 불편하긴해도 shift-space 등 해결방법이 있지만, alt-tab 은 어떻게 방법이 없는 것인가요?

alt-tab 을 대체하는 다른 명령도 없는 것 같고,

제가 사용하기에 vncviewer 의 최대 불편사항이네요. T.T

mazikonn의 이미지

며칠동안 X 설정 가지고 삽질했는데 허무하게도 vncviewer 자체의 문제였군요. :cry:

一切唯心造

mazikonn의 이미지

vncviewer wrote:
한글도 문제지만, alt-tab 의 해결방법은 없을까요?

한영키야 불편하긴해도 shift-space 등 해결방법이 있지만, alt-tab 은 어떻게 방법이 없는 것인가요?

alt-tab 을 대체하는 다른 명령도 없는 것 같고,

제가 사용하기에 vncviewer 의 최대 불편사항이네요. T.T

비록 한영키는 먹지 않지만 realvnc의 최신 버전(4.1.1)은 alt-tab 문제가 없습니다. 저도 여기서 패치된 vncviewer를 사용해 보고 나서야 그런 문제가 있다는 것을 알았네요. :(

그래서 여기저기 뒤져본 결과 한영키 문제가 해결된 것은 wkpark 님이 이곳에 올려 놓으신 것과 역시 이 글타래에서 언급돼있는 임인택 님의 한글화 패치 버전이 있지만 둘 다 alt-tab 문제가 존재하구요 특히 임인택 님의 패치는 한영키를 누르면 alt-F4와 같은 효과가 나고 우측 alt키가 한영키의 기능을 대신하고 있더군요. (저만 그런가요?)

혹시나 해서 tightvnc, ultravnc와 같은 여타 vnc 프로그램들을 살펴봤지만 제가 아는 한도에서는 둘 다 alt-tab, 한영키 문제가 있습니다.

윈도우 머신에서 vncviewer로 리눅스 데스크탑을 사용하고 계신 분들은 이런 문제를 어떻게 해결하고 계신지 궁금하네요. 그냥 불편해도 참고 계시는 건지 아니면 해결책이 나온 건지... 만약 아직 해결이 되지 않았다면 realvnc 최신 버전에 똑같은 패치를 적용해 보는 것도 한 방법인 것 같습니다.

一切唯心造

랜덤여신의 이미지

vncviewer 4.1.1 버전에 한영키 패치를 적용해 봤습니다.
한영키와 Alt+Tab 둘 다 잘 되네요... :)

ps: 저의 경우, 한영키는 Kana_Shift 로 인식되는군요.

댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트
익명 사용자의 이미지

인클루드 wrote:
vncviewer 4.1.1 버전에 한영키 패치를 적용해 봤습니다.
한영키와 Alt+Tab 둘 다 잘 되네요... :)

ps: 저의 경우, 한영키는 Kana_Shift 로 인식되는군요.


감사합니다. 실력 있는 분들이 관심이 없는 것 같아서 없는 실력에 한 번 도전해 보려다가 윈도우에서 사용하고 있는 개발 환경이 없어서 포기하고 있었는데 이렇게 수고를 해 주시네요. :)

단지 제가 사용해 본 결과 한영키가 한영키의 구실을 하지 못하고 그나마 오른쪽 alt 키가 한영키 구실을 하고 있습니다. (이는 패치된 모든 버전이 그렇습니다. 버그인지 의도적인 것인지 잘 모르겠네요.) xev로 확인해 본 결과 저 역시 Kana_Shift로 확인이 됩니다만 눌렀을 때 아무런 반응이 없네요.

어쩌면 이건 저만의 문제일지도 모르겠습니다만 참고로 wkpark 님의 이전 버전의 경우 한영키에 의해 발생되는 키심벌은 Hangul 입니다. 한영키로서의 동작에도 이상이 없구요.

새 버전의 한영키 xev 출력값

KeyPress event, serial 24, synthetic NO, window 0x3800001,
    root 0x25, subw 0x0, time 1010906217, (782,-95), root:(837,557),
    state 0x0, keycode 92 (keysym 0xff2e, Kana_Shift), same_screen YES,
    XLookupString gives 0 bytes:  ""

이전 버전의 한영키 xev 출력값

KeyPress event, serial 24, synthetic NO, window 0x3800001,
    root 0x25, subw 0x0, time 1010986483, (-407,71), root:(384,651),
    state 0x0, keycode 122 (keysym 0xff31, Hangul), same_screen YES,
    XLookupString gives 0 bytes:  ""
mazikonn의 이미지

손님으로 쓴 글은 안 지워지는군요. 로그아웃 상태인지 모르고 글을 써버렸습니다. :cry:

확인해 본 결과 오른쪽 alt 키가 한영키로 쓰이는 것은 한글입력기의 문제였습니다. 착오 없으시기 바랍니다.

一切唯心造

익명 사용자의 이미지

멋지네요.

근데, 저는 sift+space 를 사용하는데, 이 키도 되는 것을 만들어주시면 좋겠습니다.

mazikonn의 이미지

제 경우 인클루드 님이 올려주신 vncviewer로는 한영키가 제대로 동작하지 않아 제 나름대로 wkpark 님의 패치를 vnc-4.1.1에 적용해 보았습니다. 저 같은 분이 또 계실지도 몰라 올려 봅니다.

패치 방식은 vnc-4.1.1로 넘어오면서 변경된 파일이름이나 변수이름들을 고려하여 vnc-4.0에 적용된 wkpark 님의 패치를 동일하게 적용하였습니다. 패치파일을 올리고 싶지만 윈도우에서는 diff 파일을 어떻게 생성하고 적용하는지 모르겠네요. :oops:

댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트

一切唯心造

익명 사용자의 이미지

ultravnc 서버에 접속해도 동작하네요.
윈도우환경에서만 테스트했네요

댓글 첨부 파일: 
첨부파일 크기
Package icon 0바이트
cleansugar의 이미지

2.0서버에 연결했는데 XP에서 한영전환이 안됩니다.

고쳐주실 분 안계세요?

___________________

http://blog.aaidee.com

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

익명 사용자의 이미지

이런 방법은 어떻게 해야하는지요
고수님의 수고를 부탁드립니다

익명 사용자의 이미지

vncviewer_ko.zip 한영전화 잘 되는군요. 고맙습니다.
테스트 환경은 tightvnc 1.2.9 에
윈도우즈2000프로에
노트북키보드였습니다.

trip2me의 이미지

내게로 떠나는 여행~

Let's be a realist, howe-ver, keep impossible dr-eam in our mind.
-Che Guevara-

And only the mistakes have been mine
-Malcolm X-

내게로 떠나는 여행~

egregory의 이미지

여기는 그냥 바이너리만 있구만요...
머 한글화는 어려운게 아니라서 저같은 경우는 다음처럼 처리합니다.
아마 여기있는 바이너리도 같은 방식일겝니다. 코드가 필요하신분은
이글을 참조하시길.....

XK_Hangul은 0xff2e로 처리하셔야 일반적인 서버에서 돕니다.

vnc 서버는 일본어의 ime를 처리할수 있는 기능이 디폴트로 들어가 있습니다.
그러나, 이때 코드는 msdev와 같은 경우, 예전에는 VK_KANA,VK_HANGEUL는
똑같은 변수로 처리했고-요새는 달라졌습니다만- 따라서 일본어기능이 이미있는
서버를 변경하지 않고 처리하려면, 클라이언트를 한글이 아닌 일본어 가나 즉.
0xff23로 하셔야 합니다......

cleansugar의 이미지

최신 버전 갖고 계신분 올려주시면 감사하겠습니다.

___________________

http://blog.aaidee.com

재벌 2세가 재벌이 될 확률과
금메달리스트 2세가 금메달을 딸 확률이 비슷해지도록
자유오픈소스 대안화폐를 씁시다.

아이디의 아이디어 무한도전
http://blog.aaidee.com

귀태닷컴
http://www.gwitae.com

skytiger의 이미지

TightVNC 서버는 1.3.10 버전을 쓰고
viewer는 위 링크 파일중 vncviewer_ko_119 버전을 쓰니 한영전환 및 alt-tap 잘 됩니다.
그동안 답답했었는데 정말 감사드립니다.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.