自分自身のためのものづくりメモ突っ込みなどがありましたら掲示板にお願いします。シリアルマウスVista環境にて、PL-2303を使用したUSB接続COMポートで、TEXCELLのRubyシリアル通信ライブラリを用いてデータを受信できない。マウスインターフェイスhttp://members.jcom.home.ne.jp/irv/documents/sermouse/0511123_SirialMouse_manualB0.pdfスクロールマウスのデータフォーマットの情報あり。その他にも色々参考になる。XPでは電源ON時にしか認識されない(?)等、微妙に面倒が多いのが難点。あと、近頃はシリアルポート搭載率が減少傾向。USB<->シリアル変換はシリアルマウスには対応していないのが多い。Vista環境にて、PL-2303を使用したUSB接続COMポートで、TEXCELLのRubyシリアル通信ライブラリを用いてデータを受信できない。teratermでは受信できる。繋いだならば受信できる。原因Vista環境にて、USB接続シリアルポートでは、ReadFileを実行した際、「読み取ったバイト数」として常にゼロが帰ってくるため。「受信バッファにあるデータのバイト数」を使う。ReadFileでそのバイト数読むと指示しているのだから、問題ない...と思う。問題あったとしても、常に0バイトよりはマシだ。試したUSB接続シリアルポートアダプタは、以下2点。2007-7-10)を使用。URS232GFは、Vista標準ドライバで利用できるとの事だが、できなかった。「URS232GFは一部ロットにて使用できません。)をダウンロードし、インストール。上記2点、チップ自体は同じか。ドライバもほぼ同一なのだろう。隠蔽してくれていた事を実感した。今回必要に迫られてベールの下を覗いたけど、Win32APIは直接触らずに済むならそうしたい代物だ。XP)では、USB接続のRS-232C(正確にはEIA-574)アダプタのCOMポート番号は、差すUSBポートを変えるとコロコロ変わる。COM19になったりCOM6になったり...。USB接続のその手の機器は、デバイスマネージャ上で個体識別できる。自作プログラムでも個体識別し、COMポート番号を自動設定できる。WMIを介して情報を得る。COMポートを抜き出すのが確実。#ナンバーディスプレイナンバーディスプレイ対応モデムにて、電話番号を表示させてみた。正式にナンバーディスプレイ対応を謳うMRV56PCにて、電話番号が表示された。TO-BXF56Kは、"AT#CID?"等に反応したが、着信時に番号は表示されなかった。USB-DM560は、"AT#CID?"等にERRORを返した。PCG-XR1G内蔵モデムは、"AT#CID?"等にERRORを返した。IF-101)を介して接続した電話機より発呼した。故障した2.5インチHDDを部品として、USB接続マウスの回路を流用し、スクロール専用のUSB接続「ホイール」を作成した。回してスクロールさせる操作感はとても気持ちいいのだが、使いどころは限られる。Picasaとの相性は抜群。タイムライン表示をぐるぐる回すのはとても気持ちいい。スクロール専用なので、マウス(等)と併用する。PC-98用光学マウスを作るために光学マウスに搭載されているセンサは、XYのAB相を出力しているのがある。(PAN101BOI-204)http://www.pixart.com.tw/productsditel.asp?ToPage=1&productclassify_id=1&productclassify2_id=16にはそういう信号が出ているようだ。画面に十字線を引く基板の穴開け補助に必要だったので、やっつけで製作。スーパーインポーズできるMSXとかよりも、ビデオキャプチャカード搭載のWindowsマシンの方が多いだろう。カメラを斜めに配置することによる縦横比のゆがみを、ウィンドウをリサイズすることで簡単に補正できるのが魅力。カーソルキーで位置を移動。Enterを押しながらだと高速移動。作業に使うには、USB接続のテンキーを繋ぐと便利。USBマウスを改造してお手軽にUSB接続機器を作る実験ヤフオクを介して入手したエンコーダを、テストを兼ねてUSB接続のマウスに繋いでみた。マウスはジャンクとして300円ぐらいで購入したもの。ホイール付ではなかったが内部にはホイール用のパターンがあった。ホイール用エンコーダが繋がるとおぼしきところにエンコーダのA,B相を繋いだら、あっさりホイールとして機能した。