처음에는 윈도용 synergy가 문제인 줄 알고 패치를 해서 컴파일 해봤는데 여전히 안되서 리눅스쪽 synergy를 패치하니 잘되네요.
윈도에서 shift+space가 눌러지면 0xef26코드가 전송되는데 리눅스 synergy에서 이것을 무시해서 문제가 발생합니다. 그래서 단순하게 0xef26코드를 0x20, 즉 스페이스로 처리하게 바꿨습니다.
=== modified file 'lib/synergy/CKeyMap.cpp'
--- lib/synergy/CKeyMap.cpp 2008-06-07 20:32:37 +0000
+++ lib/synergy/CKeyMap.cpp 2009-10-13 03:30:36 +0000
@@ -257,6 +257,10 @@
KeyModifierMask desiredMask,
bool isAutoRepeat) const
{
+ if (id == 0xef26)
+ id = 0x0020;
+ else if (id == 0xef2a)
+ id = 0x0020;
LOG((CLOG_DEBUG1 "mapKey %04x (%d) with mask %04x, start state: %04x", id, id, desiredMask, currentState));
// handle group change
이쪽 블로그를 참조했습니다.
PS. emacs를 사용할 때 쓰게되는 ctrl+space도 패치했습니다.
synergy_1.3.1-6ubuntu1_i386_1.deb
































