2007/09/24

Synergyって便利だ

以前使ってた机は、こっちのアパートにはでかくて入らなかったので机が狭くなった。
小さい折りたたみのテーブルを机代わりに使用している。

ここで問題が一つ。
狭いんです。
Mac用のキーボードとThinkPadを横に並べておけない。
どうにも使いづらくて困っていたんだけど、Synergyっていうソフトウェア切り替え機があることを知って導入してみた。
大変便利です。
Windows用の方は最新ので問題なかったけど、Macの方に問題が発生。
どうもIntelMacだとBus errorで止まってしまう。
結構メジャーな話らしくて、調べると色々出てきた。

最新のver 1.3.1じゃなくて1.3.0でIntelMac用にhackした人見つけた。
masuidrive on rails IntelMacでSynergy2を動かす

 ソースを追ってみたら、lib/platform/COSXKeyState.cppの中でgetKeyMapでKCHRを取得する所でコケている様なので、356行のgetKeyMap(keyMap, g, kchr);をコメントアウトしてみたら、動いた。多分UCHRを取得してるから問題ないと思うんだけどな。とりあえず使ってみて、おかしい所があったら考えよう。


次に気になったのが、クライアント側からサーバ側にマウスポインタを移動させたとき、クライアント側のポインタの位置が画面中央なこと。
これも調べてみると修正している人が居た。
qootas.org/blog synergy で leave したときのマウス位置を 0x0 に

synergy で操作していると leave したときに画面のど真ん中にマウスカーソルがくるのが邪魔。0x0 に変更した。以下は 1.3.1 のコードに対する diff。lib/platform/COSScreen.cpp の COSXScreen::leave() で fakeMouseMove(m_xCenter, m_yCenter) しているところを fakeMouseMove(0, 0) に変えるだけの簡単なお仕事です。


この二つを組み込めば、快適なはず。

documentを読むと、OSXでも./configure;make;make installでよいらしいが、初めてXCodeを使ってみる。
buildを実行するとSDKが存在しない2.8.sdkだかを指定していて、エラーが出てこけた。
とりあえず、4u.sdkを指定してみると警告は大量に出たがコンパイル完了。
documentではbuildに作成したのができるとあったが、gen/build/Deploymentに作成された。
これをとりあえず/usr/local/binにコピーして終了。

bus errorも出ないし、ポインタの位置も左上にきた!

0 件のコメント:

コメントを投稿