スキップしてメイン コンテンツに移動

キーボードモニターシェアソフトのシーナージ(Synergy) - Keyboard and Mouse and Monitor share tool

最近
古いパソコンをそのままに使えるのに
遅いから新しいパソコンを買ってる方多いと思いますよ。
しかし、古いパソコンもまだ使えそうで
一緒に使えたい!
と思ってるでしょう。

個人的によく使っているツールの一つが
Synergy
です。

これはパソコンがいつくあった時
一つのキーボードとマウスでコントロールするツールで
今まではキーボード切替スウィッチという
ボックスタイプの物を買って繋いで
スウィッチを押しながらやったはず
もうちょっと発展したのが
キーボードショットカットで
PCを切り替える機能があるとか。

その次
j5creativeさんの

Wormhole

という物を使ったり


これはUSBタイプで
Windowsとマックの繋ぎもできる
面白い物です。
しかし
やはり有線なので
1台を持って会議に行くとかには
抜いたり刺したりするのが
以外に面倒

知り合いの紹介で
見つけたのが

Synergy


とのことです。
現在は有料ですが、
無料バージョンも公式ではないですが、
まだ残っています!


WindowsとマックブックとiMacを
一つのキーボードとマウスで
操作できる!

さらに

Wi-fi接続だから線がなくて
会議にはマックブックとか
一つだけ持っていけばいい
また戻っても
何も刺してなくても
そのまままた3画面で使える。
さらに10台とかも
平気で繋げる。
(試してはないけど設定画面にある)

ここで問題が!

iMacはSierra 10.12.6で
マックブックは
Mojave 10.14.1

普通に繋いでみたら
マウスが正常なのに
キーボードが反応しない!
色々試したりネットで調べても何も出てこない!
その最中見つかったのが
コントロールキー(ctrl)は正常に動く!

それでログにないが出てるかをみました
が、
何も出てない。
ログを詳しく見る方法がありますね。

SynergyのWindowを表示させて
マックの上段のSynergyメニューから
Preferencesを選択
そして
Loggingのところで
Logging LevelをDebugにすると
やっと何かが見えた!


synergyc[4848:130728] pid(4848)/euid(501) is calling TIS/TSM in non-main thread environment, ERROR : This is NOT allowed. Please call TIS/TSM in main thread!!!

これ何かある!
と思って調べたら

TIS:Text Input Service
TSM : Text Service Management

だとか。
解決方法はないか!

色々やってみたら
あ、できた!
と思ったらまた戻される。

それで気づいたのが
キーボード設定の入力ソースのところ

なぜかというと
うまく入力できたタイミングには
ServerになっているメインのiMacが英語モードの時
うまく動作できた!

それでMacBookには
英語がないから入れてみよう。
入力ソースに英語を追加

したら

治った!

これで解決!
どこにも乗ってなかったので
ここでアップしときます。

そしてTIS/TSMなどは
問題がないDEBUG用のログだとか。
普通に入力できても
出てます。
気にしないで。


コメント

このブログの人気の投稿

コピペができないときチェックすべきこと! :: よく迷うUiPathのコツ

UiPath( https://uipath.com )はMicrosoft社のWWFを改良した製品なのでVisual Studioより初心者向けに使いやすくなっている。 しかし、初心者がそのまま使うにはかなりのハドルがある。 理由は基本開発者向けの開発ツールを無理やり便利に作ってみたとしても開発の概念と考え方がないと結構躓くことが多い。 そのなかで私もよく迷ったりしていることの一つを整理しとく。 基本Activityはすぐコピぺができるので多数のUiPath Studioを開いて開発してたりする。 ここでコピペをしても反応ないときがよくある。 この場合はこれをチェックすること! 1.Sequenceがなく一つのActivityしかないところにはペーストできないのが多い。 例えば、ifの処理ボックスにはSequenceが最初はない。 そのボックスに一つのActivityはペーストできるのに2個目からはなぜか反応ない。 それで分からないまま新しいActivityを追加してたりしたが、 あそこにSequenceを入れたら解決ができるのだ! 2.正常にペーストできるはずのところに反応ない。 この場合はPackageが合わなくペーストが効かないケースが多い。 DESIGN>Manage Packagesをクリックしてコピー元のパッケージにインストールされているのにコピー先にインストールされてないパッケージを探す! パッケージを一々見るのが難しい!と思ったら メモ帳からファイルがあるフォルダにあるproject.jsonファイルを開いてみる! あそこにJSONの形式でインストールされたパッケージが見えるので比較しやすくなる! ちなみにコピペをすると変数の宣言が大変だと思うが、 そこでもコツがあるのだ! 変数の宣言はなるべく細かくしてSequence単位で管理できるようにする。 全てに影響がある変数はしょうがないから一番広く宣言するけど。 初心者向けの説明だと、 Variablesというところをクリックして変数を開いたらScopeという範囲が見える! 大体Sequenceボックスの名前を変えてないのでSequenceがすらりと表示されてるはずが、Sequenceボックスの名前を付けてたら見やすくなる。 あ...

面倒くさいORACLEの文字化け状況

ORACLEはそもそもUTF-8をサポートしてほかの言語はサポートはしているって書いてますが親切ではないようです。 現在サーバー側は昔からUS7ASCIIに設定して日本語を入れてしまい、データは7ビットASCIIモードで読み取りながら日本語のコートがOS側とクライアント側で変換しない必要があります。 クライアント側で文字化けの解決にはNLS_LANGの設定が効くクライアントが必要ですが、一部の有料クライアントにはサポートするようです。 接続構造は参考に https://www.oracle.com/technetwork/jp/content/charcterset-250314-ja.pdf の19スライドのように クライアントからNLS_LANGをUS7ASCIIに設定しても その設定した言語にもらったUTF-8のデータをクライアントが変換すると NLS_LANGを設定しても意味がないようです。 ORACLE SQL Developerがこの様です。 ODBCと直接接続は必ずUTF-8に変換してしまうのでUS7ASCIIになっているDBからはクライアントをいくら変換しても文字化けのままです。 必ずOCI接続を通じてクライアント側から読み取らないとUS7ASCIIは勝手に変換されますね。 この全ての条件が満たした無料クライアントはA5mk2の2.9.1バージョンだけですね。 A5MK2 ver.2.9.1 : https://a5m2.mmatsubara.com/download/a5m2_2.9.1_x64.zip 2.9.1 バージョンでサーバーを設定する場合Uicode変換を強制に無視するオプションがあります。 多分このバージョンの時点ではUTF-8をメインにして設計したDBが少なかったから文字化け対応のためできたオプションでしょう。 しかし、A5mk2の新しいバージョンにもまた結果の変換をしないオプションがなくなって文字化けしてしまいます。開発者はもうUTF-8ではないDBはないと思ってるでしょう。まだまだ残ってますよ~。 クライアント側からの変換などに参考になればと思います! まだ直接お仕事になさってますか? もう遅いです!ソフトウェアロボットにお仕事を任せてどの位自分の作業分量が減ってるかをご確認ください! https://talklowy-jp.b...

UiPath - Excelのシート名が存在した場合の処理

UiPath.Excel Activityは活用方法によってかなり強力ですが、隠れて探せない項目が多すぎて困ったりします。 公式ドキュメントもいまいちだし…。 Excelを自動化するには協力なUiPathの機能の中でSheetの判断処理を残します。 今まではシートがあったら何とかしようとしたら見つける方法が分からなく、ErrorのExceptionで判断したりしましたが、 workbook.GetSheets.Contains("<sheet name>") があったのをいまさら見つけました; 早速試してみましたが、 messageboxにworkbookとか書いてみても出てこない…。 これはExcel Application Scopeを利用しなければなりませんでした! まずExcel Application ScopeにExcelファイルを登録! Excel Application Scope Activityの属性にOutputにwbを入力して変数に入れます。 変数に入れてからMessageBoxに wb.GetSheet.Contains("Sheet1") を入力してみると成功! 「wb.」をおした時点でいっぱい出てきましたね。 ググってみても詳しく出て着なかったのでここにまず記録 giip - Free UiPath and Rpa Integrated Orchestration Service https://giipasp.azurewebsites.net