/ 最近 .rdf 追記 設定 本棚

脳log[2006-10]



2006年10月10日 (火)

[MX610] SetPointを 3.01から 3.10にアップデート

 ダメダメリスト

設定が消える
キャンセルボタンでアプリ別に設定した「キーストロークの割当」が消える。2.60から一貫してこの動作。
起動する度にメッセージボックス
起動する度に親切にも「このタスクを完了するには、アドミニストレータ特権が必要です。」(Logicool アップデート)と教えてくれるようになった。誰も自動アップデートを頼んでない(設定項目がありました。しかし OFFにしても起動の度にメッセージが出るのは変わらず)。以前は管理者でログインしたときにだけ、チェックするよって聞いてきてたのに。アホになってる。
キーボードドライバを勝手にインストール
MX610はマウスだしロジ製キーボードを使ってるわけでもない。以前はインストールするドライバをマウスかキーボードか両方か選べたのに。選択肢が無くなってる。

IMEのオン・オフ関係なく入力文字種が半角カナ固定になった。どのキーを押してこうなったかわからない。パスワード入力不可。ログインもできない。

 (追記) 答えを発見

http://support.microsoft.com/default.aspx?scid=kb;ja;415068

「かな入力」で検索してたから IMEで設定を変更する OR Alt+カタカナひらがな っていう回答しか見つからなかった。今回のは「カナキー」で検索するのが正解。Ctrl+英数 で元に戻りました。

このトラブルは三回目。ということはキーボードを叩き割りたくなったのも三回目。

 改善リスト

csrss
csrssの CPU使用率が異常に高くなる現象は 3.01同様見られない。
Ctrlキー ロック
キーストローク送信対象アプリがなくなるようなキーボードショートカット(Explorerに Ctrl+Wなど)を割り当てるとモディファイアキーが押し下げ状態のままになる現象もいつのまにかなくなってる。Firefoxでだけ起こる。(ひょっとして最初から Firefoxだけの問題だった?)

最終更新: 2009-09-18T20:39+0900

カナキーのオンオフのいやらしさ (ドライバ固有の問題かも)

Ctrl↓、英数↓、英数↑、Ctrl↑

上の手順ではカナキーをオンにすることもオフにすることもできます。

Ctrl↓、英数↓、Ctrl↑、英数↑

この手順ではカナキーをオンにすることしかできません。(すくなくともこの PCでは)

つまり、誤爆しやすく解除しづらい。モディファイアキーの押し方/放し方なんて人によって決まってそうなので、二番目の手順で操作する人に対して Ctrl+英数で解除できると教えたところで、何度やっても解除できない罠。

 追記@2008-03-18: ロジが勝手にインストールしたドライバが使えそう

  • PS/2 Keyboard (106 Keys)
  • PS/2 Keyboard (106 Keys Ctrl+Caps)

この二種類のドライバをインストールしちゃってくれていたのだけど、PS/2 Keyboard (106 Keys)の方は Ctrl+CapsLock(英数)操作を無効にしてくれるとか?

ATOKにも「キー操作でのカナロックON/OFFを無効とする」というオプションがあった。(ハマる人間が多い証拠じゃないの?*)

 追記@2009-05-03: やっぱりロジクールが悪い。

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]+[カタひら]でカナロックされた。無効になっていなかった)

スペースバーの長ーいキーボードを使うことでこんな面倒とおさらばしたいけど、記号の位置が変わってしまうのだよね。

* タスクマネージャをダブルクリック、もたいがいハマる落とし穴。


2006年10月16日 (月)

[ゲーム]聖剣伝説 LEGEND OF MANAは傑作

聖剣シリーズはゲームボーイ版しかまともにやったことがなくて、あとは聖剣2を 30分ほどプレイしたぐらい。 LOMは 1999年(7年前)発売のプレステ用ゲームだけど、イラストで構築された世界は全然陳腐化していない。

  • 絵本の中のような世界を歩き回る楽しさ。
  • ふりふりのキャラクター。(真珠姫サイコー。「おねえさま」サイコー。赤面してるよー)。嫌いなキャラは一人もいない。みんな可愛い奴ら。
  • 珠魅シナリオ良かった〜。
  • テーマ曲「Song of MANA」(ヴォーカル付。非日本語)がエンディングを素晴らしく盛り上げます。

サガフロンティア(1と2)も同じスクウェアのゲームで同様にイラストを使ってたけどあちらは戦争だとかエッグ(という敵)との戦いの歴史がメインストーリー。対して、聖剣伝説LOMのテーマは「愛」。恥ずかしー。この優しい世界を体験して損はない。

  • ランドメイクは取っつきの悪さが目立つ。その割にランドの配置によるマナレベルの変化の影響は確認しづらい。(イベントの発生条件になってるとか、敵の強さだとか、精霊の出現だとか、果物の成長速度だとか)。単純に「アーティファクト(ランドの元)の入手」を「新しいランドの出現」としても良かった。
  • 武器/防具の強化はアルティマニア必須。二周目以降向け。副原料を合成してもその影響が大抵の場合確認できないし、効果が現れても多くは条件付きなので、全く予想と計画が立てられない。因みについさっき一周目をクリアしたときの武器と防具はロリマー聖鉄(持っていた中で一番良い金属)で作成したもの。強化はしていない。
  • ペットの育成とゴーレムの製作もおまけ。だって必要がない。ペット弱すぎ。「熱血」な性格で Lv99なペットを育てられたら戦闘で主人公を操作せずともペットが勝手に終わらせてくれるかもしれないけど、それって二周目以降に趣味人がすることでしょ。

これらの要素は「マニアのやりこみにも耐える」といった感じでなく、最初からマニア向け。ライトなプレーヤーはイベントをこなすことに専念して簡単にエンディングに辿り着けてしまう。両極端なんだよなあ。もうちょっと解り易いやりこみ要素プリーズ。


2006年10月20日 (金) ラヴクラフトはハーレクインの作家か詩人だと思っていた。(本当はクトゥルー神話の生みの親)


2006年10月21日 (土) 狼と香辛料の絵師が ANGEL BULLETの原画だったとは。


2006年10月26日 (木) 翠星石のドラマCDを10回以上聞いてしまった。ローゼンメイデンのファンというわけでもないのに。


2006年10月30日 (月)

[Ruby][SQLite] sqlite3-ruby-1.1.0の DLドライバを Ruby-1.9.0(20061029版)添付の dl2に*不完全*対応。

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オブジェクトが渡されたのやら。

 追記(2006-11-01):Nativeドライバ

swigが sqlite3_api.iを基に出力する sqlite3_api_wrap.cを以下のように置換したら自分が使用している範囲では動いている。

-RSTRING()->ptr
+RSTRING_PTR()
-RSTRING()->len
+RSTRING_LEN()