Synergy

Top / Synergy
  • 日本語キーパッチ
  • lib/common/tmp.cpp
  • Shift+SpaceがWindows側で効かない
  • GNOMEがあがったときに発生したトラブル
  • hostname と synergys
  • Debian 1.2.8-2
  • 高い優先度で起動
  • ミュートキー
  • 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 (5236d)


    Site admin: Riu
     PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL.
     Based on "PukiWiki" 1.3 by yu-ji.  Powered by PHP 5.2.17. HTML convert time: 0.064 sec.