スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« Cocoa版のキー入力とか | トップページ | キー操作も出来たので »

マウス操作が可能になった

今はOSX用Mirror-DTCクライアントのネイティブ版を開発中で、画面/音声転送は出来る様になったので、続いて操作系の実装を始め、今日のところはマウス操作が可能になった。ネイティブ版ではマウスホイールと2本指スクロールを切り分けられるので、少し細工した。

何を細工したのか、というと、現行版ではマウスホイール用にスクロール量を調整しているので、2本指スクロール時にはスクロール量が大きくなりすぎて微妙な操作が難しくなっていたので、2本指スクロール時に限り、スクロール量を小さくした。

まあ、それだけの事なので、作業量的には大した事は無かったのだが、使い勝手的には、それなりに良くなったかもしれない。

と、いう事で、次はキーボード操作に対応させる事になるのだが、これについては、昨日書いた様に、現行のJava版とは少し異なる仕様にする予定だ。

つまり、Command/Option/英数/かなキーについても、転送対象にする予定なのだが、それを抜きにしたとしても、移植元にしてきたWindows版C++コードとは異なる実装にしなければならないので、今日の所は手を出さなかった訳だ。

何故、Windows版とは異なる実装にしなければならないのか、というと、Mirror-DTCのキー入力転送というのは、初版開発時の記事を読めば書いてある筈なのだが、データフォーマットにWindowsのキーコードを使っているからだ。

つまり、このキーコードというのは、一般的な文字コードとは全然異なるので、非Windowsマシンでは、こんなコードはOSでは生成されていないので、自分で作る必要がある。

Ubuntu/OSX用のJava版には、クライアント/サーバー共に、キーマッピングの変更機能があるのだが、これは、そもそも、非Windows環境では、上記の様な理由から、単純にキーボード入力で得られたキーコードをサーバーに転送する訳には行かなかったからだ。

つまり、非Windows環境では、キーコードの変換ルーチンを作る必要があり、どうせなら、という事で、その変換内容をユーザー設定可能にした訳だ。

もっとも、OSX用ネイティブ版の場合、Java版に実装してある変換データと処理ルーチンを移植できるので、大して面倒でもない筈なのだが、上記の様に、使用可能なキーが増えているので、若干の改造は必要になる。

ちなみに、今の開発環境は、OSX側については、メモリ量を6GBに増やしてあるMacBook Late2009で動作させているXcode5.1.1なのだが、操作はMirror-DTC経由でWindows7の開発マシンから行っている。

何故、そういう格好にしているのか、というと、開発マシンにあるVisualStudioでWindows版のソースコードを見つつ、必要部分のみ、クリップボード経由でXcodeに転送して使ったりしているからだ。

で、少し前に書いた様に、MacBookのモニター出力は開発マシンと同じフルHD液晶に出力していて、Xcodeは、そのフルHD液晶画面で使っている。

当然の事ながら、このフルHD液晶画面は入力切替が出来るので、MacBookの映像出力を直接見たい場合には、MacBookからの出力に切り替えて使ったりしているのだが、MacBookと開発マシンはギガビットイーサーネットで繋いでいる。

なので、開発マシンのMirror-DTCクライアントをフルスクリーンで使っていると、MacBookからの映像出力を見ているのか開発マシンで動作させているMirror-DTCクライアントの画面を見ているのかが判らなくなって混乱する事もチョクチョクあったりする。

と、いう事で、これも少し前に書いたのだが、Mirror-DTC/VNC接続時には、XcodeのCtrl+ドラッグでの線引き機能は使えないのだが、右クリックで表示されるダイアログからの線引きは可能で、今の所、この機能だけで、問題なく開発は行えている。

= この記事に関連する公開中ソフト =

Mirror-DTC

Mirror-DTC

(2015/02/15追加)

« Cocoa版のキー入力とか | トップページ | キー操作も出来たので »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/60273567

この記事へのトラックバック一覧です: マウス操作が可能になった:

« Cocoa版のキー入力とか | トップページ | キー操作も出来たので »

2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google