最終更新: 2012-12-19T01:19+0900
昨日から突然に。50%ぐらいの発生率。右クリックでは起こらない。
ファイルやフォルダを選択しようとすると開いてしまうし、ドラッグすると途中で落としてしまう。
去年の12月に買ったものだから11ヶ月しかもたなかったわけだ。そういえば以前使ってた1000円未満の光学式マウスも使い始めて半年か一年後ぐらいからダブルクリックの誤認識が起こるようになった。埃が原因かと思って開けてみたが左ボタンの下にはOMRON製のちっこい箱が見えるだけで何とも。素人目にわかる原因があれば話は早かったのに。
せっかく開けたので、ホイールのクリック感は金属がペコペコ凹む感触なのだな、とか、ホイールのコロコロ感を生み出す溝はホイールの回転を検出するのにも使われてるのかぁ、とか観察してから閉める。
他にも誤認識にみまわれてる人がいた。よくあることらしい。更に初期と現在とではクリック感が違うらしいことも判明。手元の MX610はボタンとスイッチの間に隙間がある古いタイプ。閑話休題。ロジクールのサポートにドライバのアンインストールを勧められたが改善しないので送り返したらしい。この人に倣ってまずはドライバを Windowsのものに戻してみる。
直らないが頻度は減ったかも。デスクトップのアイコンを順番にクリックしていくと10%未満の頻度でダブルクリックになる。……。テストしてるうちに 20%以上の頻度で起こるようになって、今は 0%。あ、やっぱり 20%以上。ドライバは全く関係ないようだ。
チャタリングという現象らしい。スイッチのON/OFFが切り替わるときに 1-10μs以下の間に何度かON-OFFをいったりきたりするのだと。それが無視できない程度になって不具合して現れてきていると? っていうか接触不良だよね。
MX610には 5年間の保証がついていたようだ。でもメーカーに送り返したら負けだと思っている。
スイッチを分解した。奇妙な形の金属が入っている。力を加えても最初は金属がたわむだけで接点は動かない。ある点を越えるとカチッと素早くスイッチが入る。へぇぇぇぇ。金属の弾性と形状が全てなのか。
正常に動いております。汚い手でべたべた触ったのが新たな不良の原因となるのはいつだ。
読み返してみて、あれ? 俺はスイッチを分解して何をしたの(笑。接点付近を布(というかティッシュ)でこすったんだっけ?
MX610はチャタリングから逃れられない欠陥マウスみたいで、ネット上には本体の剛性を増したり、コンデンサを増設したりする対策を紹介したブログが見つかる。そんな大層なことをせずに 3年近く使えてるのはわりと幸運なのかも。
29日に Ruby1.9をダウンロードした。添付ライブラリのRipperが、m4sugar.m4が見つからない、というエラーでコンパイルできない以外は問題なくインストール完了。RUBY_PLATFORMは i386-bccwin32。
Ruby1.8.5で動いている http://vvvvvv.sakura.ne.jp/ds14050/buch/ が Ruby1.9でも動くのか試してみると、sqlite3-rubyの Nativeドライバ、DLドライバが両方とも動かない。Nativeは当然として、DLが動かないのは Ruby1.9では ruby-dl2が dlとして添付されているから。
出てくるエラーを順番に潰す過程でやったことは定数名の置き換えが殆ど。そんなことしかできません。コールバック関数を SQLiteに渡す authorizerや create_function関連は自分で使っていないので何もしていない。DL.callbackが存在しない為にエラーが出るのは間違いない。dl2では bindを使うのだろうか?
以下は変更点のリスト
* sqlite3/driver/dl/api.rb:38 -extend ::DL::Importable +extend ::DL::Importer
単なる名称変更。
* sqlite3/driver/dl/api.rb:92 -extern "ibool sqlite3_complete(const char*)" +extern "int sqlite3_complete(const char*)" * sqlite3/driver/dl/api.rb:93 -extern "ibool sqlite3_complete16(const void*)" +extern "int sqlite3_complete16(const void*)" * sqlite3/driver/dl/driver.rb:96 -API.send( utf16 ? :sqlite3_complete16 : :sqlite3_complete, sql+"\0" ) +API.send( utf16 ? :sqlite3_complete16 : :sqlite3_complete, sql+"\0" ) != 0
iboolという返り値(戻り値?)の型が dl2では定義されていない(定義しようがない?)ので、intを bool値として受け取るのは諦めて、返り値を利用するドライバの方で非0かどうか調べる。
* sqlite3/driver/dl/driver.rb:40 -DL.sizeof("L") +DL::SIZEOF_LONG
sizeofというメソッドは dl2の DL::Importerモジュールにもあるが使い方がわからないし、定数の方が良い。
* sqlite3/driver/dl/driver.rb:* -DL::PtrData +DL::CPtr * sqlite3/driver/dl/driver.rb:242,247,252 -result ? result.to_s : nil +result.null? ? nil : result.to_s
DL::CPtrが DL::PtrDataと完全に互換な置き換えなのかわからないが当面のエラーは消えた。
DLL関数の返値がポインタの場合は常に CPtrが返ってくるらしく、CPtrの指すアドレスが NULLの場合でも Ruby的には nilではないので「result ? result.to_s : nil」が常に result.to_sになり、ぬるぽエラーになることがある。PtrDataとは振る舞いが違う?
* lib/ruby/1.9/dl/value.rb:72 -return [arg].pack("p").unpack("l!")[0] +return [arg.dup].pack("p").unpack("l!")[0] * lib/ruby/1.9/dl/value.rb:74 -return [arg].pack("p").unpack("q")[0] +return [arg.dup].pack("p").unpack("q")[0]
frozenオブジェクトを変更しようとした、ってエラーがでるので間に合わせで Rubyの添付ライブラリの方を修整。どこから frozenオブジェクトが渡されたのやら。
swigが sqlite3_api.iを基に出力する sqlite3_api_wrap.cを以下のように置換したら自分が使用している範囲では動いている。
-RSTRING()->ptr +RSTRING_PTR() -RSTRING()->len +RSTRING_LEN()
聖剣シリーズはゲームボーイ版しかまともにやったことがなくて、あとは聖剣2を 30分ほどプレイしたぐらい。 LOMは 1999年(7年前)発売のプレステ用ゲームだけど、イラストで構築された世界は全然陳腐化していない。
サガフロンティア(1と2)も同じスクウェアのゲームで同様にイラストを使ってたけどあちらは戦争だとかエッグ(という敵)との戦いの歴史がメインストーリー。対して、聖剣伝説LOMのテーマは「愛」。恥ずかしー。この優しい世界を体験して損はない。
これらの要素は「マニアのやりこみにも耐える」といった感じでなく、最初からマニア向け。ライトなプレーヤーはイベントをこなすことに専念して簡単にエンディングに辿り着けてしまう。両極端なんだよなあ。もうちょっと解り易いやりこみ要素プリーズ。
IMEのオン・オフ関係なく入力文字種が半角カナ固定になった。どのキーを押してこうなったかわからない。パスワード入力不可。ログインもできない。
http://support.microsoft.com/default.aspx?scid=kb;ja;415068
「かな入力」で検索してたから IMEで設定を変更する OR Alt+カタカナひらがな っていう回答しか見つからなかった。今回のは「カナキー」で検索するのが正解。Ctrl+英数 で元に戻りました。
このトラブルは三回目。ということはキーボードを叩き割りたくなったのも三回目。
最終更新: 2009-09-18T20:39+0900
Ctrl↓、英数↓、英数↑、Ctrl↑
上の手順ではカナキーをオンにすることもオフにすることもできます。
Ctrl↓、英数↓、Ctrl↑、英数↑
この手順ではカナキーをオンにすることしかできません。(すくなくともこの PCでは)
つまり、誤爆しやすく解除しづらい。モディファイアキーの押し方/放し方なんて人によって決まってそうなので、二番目の手順で操作する人に対して Ctrl+英数で解除できると教えたところで、何度やっても解除できない罠。
この二種類のドライバをインストールしちゃってくれていたのだけど、PS/2 Keyboard (106 Keys)の方は Ctrl+CapsLock(英数)操作を無効にしてくれるとか?
ATOKにも「キー操作でのカナロックON/OFFを無効とする」というオプションがあった。(ハマる人間が多い証拠じゃないの?*)
Logicool(Logitech)製キーボードドライバーの一例 PS/2 Keyboard (106 keys) ← [Ctrl]+[Shift]+[カタカナ ひらがな] PS/2 Keyboard (106 keys Ctrl+Caps) ← [Ctrl]+[英数] ttp://www.object.co.jp/nnn/kcv/guide.html の「Windows でのカナ入力について」の記載を適宜読み替えてください。 設定変更された事例 Logicool(Logitech)製マウスおよびそのマウス専用のソフトを導入したところ キーボードはソフト不要の汎用品であったのにもかかわらず Windows純正ドライバーで [Ctrl]+[Shift]+[カタカナ ひらがな] だった設定を Logicool(Logitech)のインストーラがPS/2 Keyboard (106 keys Ctrl+Caps)に置き換えることにより [Ctrl]+[英数] に変更されてしまい あとから手動でPS/2 Keyboard (106 keys) に変更して解決 といった実例があります。
ロジクールのドライバが勝手に Ctrl+Capsにカナロックを割り当てていたんじゃないか。(試してみたら [Ctrl]+[Shift]+[カタひら]でカナロックされた。無効になっていなかった)
スペースバーの長ーいキーボードを使うことでこんな面倒とおさらばしたいけど、記号の位置が変わってしまうのだよね。
* タスクマネージャをダブルクリック、もたいがいハマる落とし穴。
プレイリストをタグと見なすと、「タグを付ける」は「プレイリストに曲を登録する」になる。プレイリスト同士を演算して積集合や和集合を求めれば、今聴きたい曲のリストが求まる、と。
I氏のつぼ で検索条件として「特定のプレイリストに含まれてること」を指定できればすぐにでも実行できるのに。更新止まってるしなぁ。
iPodのデータベースを読んで、最低限
>ipodpl -dI:\ --album-shuffle "genre:JPop & playlist:クリスマス" > %TEMP%\ipod.m3u >mplayer2 %TEMP%\ipod.m3u
みたいなことができればいいのだけど。libipodは Linux向けみたいだし……*。
あるいは、ID3v2タグの一つをスペース区切りタグリストとして使えばいいのか。検索は I氏のつぼがやってくれるし。
* ファイルを読み書きするライブラリに OSはあんまり関係ないよね。ipod_discover()が '/mnt' を決め打ちで読もうとすることと、sys/statfs.hがウチの環境に存在しなくて(それを利用する) ipod_disk_usage()が使えなくなったこと以外は無問題でした。(2006-12-27 追記)
vvvvvv/ www/ cgi_file/ …… cgi_data/
このような感じ。
分類の肝は公開/非公開とアップ/ダウンロードの方向。
サーバーとローカルの PCを同期するときに静的なファイルはローカルの方が新しく、CGIが作成するファイルはサーバーの方が新しいので、これらのファイルが混在すると面倒くさい。フォルダで分ける。*⁑