> 近況的2006年10月 <

各プロジェクトはこんな感じでした。 ここはnyasu@3webの「近況的雑文集」のページです。
話題の分類
私的プロジェクトその他
[this]
この近況まとめシステム。
[palmsync]
PalmSync
[rubyeb]
RubyEB
[vruby]
VisualuRuby計画(仮称)
[linux]
うちのLinuxBox関係の話題
[win]
Windows関係
[pda]
PDA関係。Palmとか
[ruby]
Ruby一般
[net][web]
ネット系雑談
[etc]
その他雑談

一応話題は計算機関係に縛る予定。予定は未定。
話題による分類ページは作成予定。同上。
あと、独り言がわんさか。

2006-10-29

次[vruby]

落ち着いたので、そろそろvrubyの版を上げます。結構いろいろ?直して(もらって)ます。

sourceforgeのWiki、cvsdiffのプラグインが動かなくなってたので修正しました。

LircによるWindows機コントロール[win][ruby]

今まで、Windows機でbsplayerなどLIRCに対応したアプリを使ってきましたが、 一般化したくなったので、一般アプリ等にもLIRC経由でリモコンが効くようにしました。SendInput()を使ってキー入力模擬します。これ(lircwin.rb)。Windows専用のlircクライアントです。ファイル最初のサーバ名とポート番号は適当に設定してください。その後ろのCLASSMAP他、***MAPが要設定項目です。そのままで動く環境は多分無いでしょう。
利用には当然LIRCのサーバが動いている必要があります。ローカルでWinLIRCを動かしても問題有りません。

起動すると、タスクトレイに入ります。アイコンは作ってないのでシステムのびっくりマークのを使ってます。左クリックでログウインドウ出ます。右クリックに終了(exit)あります。

付けてるCONFIGモジュールはちょっと冗長ですが、まあ、サンプル代わりに。
GOM PlayerのとDScaler(TV視聴ソフト)などのが入ってます。また、waveoutボリュームの増減も付けてます。(こちらの環境の都合により、マスタボリュームではないです)

設定項目(CONFIGモジュール内)
LIRCSERVER,LIRCPORTはlircサーバを指すようにしてください。
DENIALSECは、リモコンのキー押し1回で複数のキーが出てきてしまうときのために、一度キーを受けるとしばらく入力を捨てるための時間指定です。指定した時間だけサーバから送られてくるキーを捨てます。

で、次からが大事。 CLASSMAPは、ウインドウのクラス名と、そのウインドウがフォアグランド時に、lircキーをどのキー入力に換えるかを設定します。

CLASSMAP = { # classname specified by String "GomPlayer1.x"=>{ # GOM Player "right"=>[:right], "left"=>[:left],
これ、lircwin.rbのサンプル設定の一部ですが、フォアグランドウインドウのクラス名がGomPlayer1.xの時、lircから"right"キーがくるとWindowsで右キー、lircから"left"キーが来ると、Windowsで左キーが押されることになります。こんな調子でキー定義していきます。今のところ全部同時押し(配列の順に押していく)しか無いのでご注意。
クラス名がわかんないときはMicrosoftのspy++や、これ使って調べてください。サンプルだと、後述するSYSTEMMAPにフォアグランドの情報をログに出す設定が書いてます(lircのrecキーでキックされる)

次、CAPTIONMAPがあります。これはウインドウのタイトルで判断するだけで、後はCLASSMAPと同じです。キャプションは正規表現で設定します。lircwin.rbのサンプルだと、フォアグランドのキャプションが/^Sleipnir -/に引っかかるなら、lircの"return"キーでALT-LEFT(戻る)にしています。

次、STICKYMAPですが、これはフォアグランド以外にキーを送るやつですが、まあ、まともに動かないでしょう。大体がフォアグランドウインドウ自体ではなく、その中の特定の子ウインドウにキーを送らないとちゃんと動きません。

次、DEFAULTMAPですが、上記設定に引っかからなかったときに動く設定です。 なので、フォアグランドウインドウの指定はありません。あとの中身は一緒です。

次、EXECMAPです。これはファイルを開かせる、またはウインドウをフォアグランドに持ってくる設定です。

EXECMAP = { "1"=>["GomPlayer1.x",'C:\Program Files\GRETECH\GomPlayer\GOM.exe'],
では、lircの"1"を押すと、"GomPlayer1.x"のクラスのウインドウがあればそれをフォアグランドに持ってきます。無ければGOM.exeを開きます。クラスを書くところにnilを書いておくと、有無を言わさずファイルを開きます。引数を後ろに追加することも出来ます(全部まとめて文字列1つにしておいてください)。
ShellExecute()を使っているので、一般のファイル名やURLを指定してもそれを開きます。

次、SYSTEMMAP。
CONFIGモジュールの関数を呼び出すための設定です。

SYSTEMMAP = { "power"=> :end, "rec"=> :foregroundinfo,
では、lircの"rec"キーを押すと、CONFIG.foregroundinfoメソッドが動きます。 サンプルでは、フォアグランドウインドウの情報をログウインドウに吐きます。 メソッド名の:endだけは特殊で、ツールの終了を意味します。ここではlircの"power"キーでlircwin.rbが終了します。

多分設定項目はこんな感じで。

ちなみに、WindowsのFileOpenDialogは、開いてからSHIFT-TABでファイル一覧側にフォーカスが移ります。大抵のアプリで、CTRL-Oでダイアログを開かせるところから全部同時押し(CTRL-O-SHIFT-TAB)で、フォーカスをファイル一覧側してFileOpenDialogを開くことが出来ます。
なので、これとあと上下左右が有れば、ファイル選択もリモコンから可能になります。(lircwin.rbでは、GOMPlayerの設定がそれ)

まあ、lircは無くても、キー入力模擬の部分だけは再利用出来るのかもしれません。上のファイルの中のKeySenderモジュールだけ取り出して勝手にどうぞ。
KeySender.send_input([:shift,:alt,"A"]) とかすると、SHIFT-ALT-Aになります。 [:alt, :tab]とか[:win, "r"]とかも効きます。

コーデック[win]

なんでGOMプレーヤが出てきたかというと、ffmpegあたりの設定か何かをしくじったらしくて、なんかwindows mediaplayer系の再生がおかしくなってしまったからです。vlcでもいいんですけどね、今のところなんとなくGOM。

そっちをとっとと直せという話も当然ありますが

スワン彗星[star]

まだ見えん...(理由はいろいろ)
せっかく4等というのに。


2006-10-13

いろいろ[vruby]

vruby側、いろいろ動きのある1週間でした。まだ終わってませんが。

休刊[etc]

パソコン誌(っていうのか?)いろいろ休刊なんですね。しかしえらい数が多いな。

スラドを見て、合格情報処理という雑誌のページをたどってみて非常に懐かしい気分になりました。2種、1種を取ったのは昭和の時代だよ全く。(シスアドが4種目の区分として出来た頃)
ほぼ、この雑誌の購読だけで試験受かりました。

月刊天文もなあ...
どこに行っても立ち読みできないから定期購読していたのに。

??????????[ruby]

yarv rev545に(やっと)更新したら、fpopperで????????という謎の出力とともに落ちるようになりました。yarvじゃなくてrubyに戻したらちゃんと動くんですが、再現条件がわからない...
特定のメールで出るのはわかったんですが。(でももうそれメーラーで吸い込んじゃった)


2006-10-7

TwoPane/Treeview/MessageHandler/Tooltip他[vruby]

vruby、ぼこぼこと修正。今のところCVSへ。

VRTwoPane(VRVertTwoPaneとHorizのやつ)で、セパレータをドラッグするとゴミが残る件の修正、VRTwoPane系とTwoPaneFrame系の両方で、セパレータをドラッグ中にALT-TAB等でフォーカスを別ウインドウに移しちゃったとき動きがおかしくなる件の修正。

VRTreeviewで定数定義がおかしい件の修正(indent関係)

メッセージを受けられるようにaddEventやacceptEventsだけして、addHandlerでハンドラ登録をしていないとエラーになっていた件の修正。
今のrubyならHashのデフォルト値を指定できるので、もう少しコードがシンプルになりますなとかは、思っただけで修正せず。

VRTooltipでaddToolArea関係。こちらはちょっと微妙な状態のまま。

いい加減次を出すべきですな。たまりすぎ。

ななしの方、覆面のアレの方、どうもありがとうございます。

Vista[win]

RC1をダウンロードして入れようとしてみましたが、今使ってるマシンだとMACHINE_CHECK_EXCEPTIONが出てインストールできません。昔のPentium3の機械だと、removable storageが抜けたかもしれないとか何とか言われてIO Exceptionが出て、やっぱりインストールできません。なによそれ。

しかしまた。

SL-Zaurus[pda]

充電に問題。というか、コネクタ部の接触不良で、なかなか充電できなくなってきました。寿命ですかねえ。
B500なので、スライドをあけてキーボードを出すのですが、スライドの側面のネジ周りにヒビが入り、一部欠けてもいます。

いろ[this]

ここのスタイルシートは適当に作り直したりしているんですが、10月はまだ1パターンしかないようです。毎年書き換えてる月もあるんですが、なんか傾向有るんですかね。


2006年09月へ

メールを出すつもりの方は

こっちへ