Synergy

Top / Synergy

synergy-plus

http://code.google.com/p/synergy-plus/

メンテナンスされていない本家の代わりの分家らしい。

環境が変わって本家も使ってなかったけど、
手が空いたときにでも導入しよう。

以下、本家 Synergy のメモ(古いが当時から更新されていないので。

概要

  • ネットワーク越しにマウスとキーボードを共有
  • クリップボードも共有できる
  • 変なマウスを使っていると挙動に苦しめられる
    • Arvelのフリーボールマウスは 今のところ横スクロールが利かず
  • 利かないキーがある
    • 無変換 変換 ローマ字(現状確認済み
    • xmodmapで適当なキーとして使うと 当てはめたキーの機能を果たす

http://synergy2.sourceforge.net/

日本語キーパッチ

1.0.14

半角/全角キー・変換キーが使えるように。

http://sourceforge.net/tracker/?group_id=59275&atid=490469 に上げてみました
はぢめてのsourceforge
→ Applied to 1.2.0

1.2.2

半角/全角キーが使えるように。
変換キーは元から使える。

Added to 1.2.3(しかし以降ではまた消えている気がする

1.2.8

1.3.1

  • カタカナ/ひらがな/ローマ字 キーにも対応してみた(個人的にはいらないが
  • 1.2.8 のパッチは本家に送ってなかったので基本的に同じ修正
    • その頃に出てた韓国キーボード対応のパッチとマージしようかと思ってて忘れてた
    • 結局 1.3.1 で反映されていないので見なかったことにしよう :P
  • パッチ filesynergy-1.3.1.kanji_kana.patch
  • バイナリ(Windows) filesynergy-1.3.1.kanji_kana.zip

lib/common/tmp.cpp

1.0.14 の頃の話。

VS.net2003 ではこういう適当なファイルを作らないとcommon.libが生成されない (なんか他の方法がありそうだが・・・。

#include "BasicTypes.h"
#include "IInterface.h"
#include "Version.h"
#include "common.h"
#include "stdbitset.h"
#include "stddeque.h"
#include "stdfstream.h"
#include "stdistream.h"
#include "stdlist.h"
#include "stdmap.h"
#include "stdostream.h"
#include "stdpost.h"
#include "stdpre.h"
#include "stdset.h"
#include "stdsstream.h"
#include "stdstring.h"
#include "stdvector.h"

Shift+SpaceがWindows側で効かない

1.2.xは解決している様子

GNOMEがあがったときに発生したトラブル

?→2.8 に上げたときのトラブル

  • 本来のCaps+A で 0x2a('a'でなく'A')とかいうよくわからないキーが飛ぶようになった
    • GNOMEのキーボードの設定(gnome-keyboard-properties)が Make CapsLock an additional Controlになっていたのが原因
      • と思ったけど nocapsのことなので違う
    • 下のログ mask=0x1002 の 先頭の1が悪さをしていた
      • xmodmapでいう Lockのキーに指定されたままなのが問題
      • xmodmap -e 'remove Lock = Control_L' で誤魔化すことができた

synergyのログ

DEBUG1: recv key down id=61411, mask=0x0000, button=0x0042
DEBUG1: send key 162, 0x001d, press
DEBUG1: recv key down id=65, mask=0x1002, button=0x0026
DEBUG1: send key 160, 0x002a, press
DEBUG1: send key 65, 0x001e, press
DEBUG1: send key 160, 0x002a, release
DEBUG1: recv key up id=65, mask=0x1002, button=0x0026
DEBUG1: send key 65, 0x001e, release
DEBUG1: recv key up id=61411, mask=0x1002, button=0x0042
DEBUG1: send key 162, 0x001d, release
  • /etc/X11/XF86Config-4 の設定が無視されているのは気のせいですか?
  • additional Control → Control key at left of 'A' とかにすると 普通に動く(がCapsが生きているので邪魔

.Xmodmapを普通に食ってくれないので xmodmap ~/.Xmodmapなシェルスクリプトを書いて それをセッションの自動起動プログラムに指定

I井さんのところにも似たようなことが書いてある(遅

keycode 37 = Control_L
keycode 66 = Control_L
remove Lock = Control_L
add Control = Control_L

hostname と synergys

1.2.5

/etc/hostnameと/etc/hostsをFQDNで書いたところ、以下メッセージが出たところで synergysが落ちる。

.synergy.conf の aliases のところにFQDNを付け足すか、
/etc/hostnameをホスト名だけにする、などの対応が必要。
ついでにXを再起動しないと上手くクライアントが繋がってくれない模様。

そもそも /etc/hostname にFQDNを書くのは invalid?
いまいち作法がわかっていない。
`hostname` がFreeBSDみたくFQDNが出るようにするのはLinux(Debian?)的にはダメ?

DEBUG: synergys.cpp,1054: configuration read successfully

Debian 1.2.8-2

プロトコルが 1.2

高い優先度で起動

2005/04/08 追記
1.2.2はCPUの優先度がリアルタイムで起動するようになってたみたいです。

----

WindowsだとGUIをドラッグなどするとSynergyの処理が粗くなったり、止まったりする。
高い優先度で起動する必要がある。

Windows 参照

しかし直接起動したプロセスとは別のプロセスが走るのか、優先度は上がらない。
オートギアなどを使うのが吉。

ミュートキー

適当なキーに XF86AudioMute を当てておけば、Windows側ではVK_VOLUME_MUTEが飛んでいる。

補足

Linux+Windowsな環境で変なキーの割り当てをしようと思ったときは、
keysymやらを調べるよりSynergyのソースを見た方が早いらしい。

Linuxがサーバの時、クライアント側(DEBUG1)で表示されるidはkeysym?
上のメモを見ていると、WindowsのScancodeっぽいので、バージョンによって違いそうな気がする。


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-03-17 (水) 02:36:47 (2328d)