2004/ 6/11

キーマップ再配置ツール

まぁ、簡単に設定したいなら猫まねき、細かくカスタマイズしたいなら窓使いの憂鬱という辺りが定番物ではあるのですが、この他にも使いやすいものがないかとか、ちょっと探してみました。

これらの 2 つとも、USB キーボードを使っているとしょぼんとするわけですが、Xkeymacs だと適用可能。しかし、CapsLock と Ctrl の入れ替えなどは非サポート

Keylay というツールを友人に紹介してもらったので、少しだけテスト。シェアウェアですか……まぁ、猫まねきとかお金払ったユーザだったりするので、別にシェアウェアだからどうこう言う気はないですが。とりあえず、インタフェースがわかりにくすぎるのと、一番気にしている IME 制御が非常にいけてない (反応しないことが多々) ので速攻で消去。設定用のインタフェースは、わかりにくいのはともかくとして、よく出来ている印象ではありました。

P3 1.2GHz + RAM 1GB + WinXP Pro で処理落ちだとしたらありえないですよ~。

キーボード再配置ツールは、大きく分けて 3 つのパターンがあるわけですが、これは以下の形に分類できます。

  1. レジストリの変更によりキーマップを変更するツール
  2. キーボード入力をフックして入力を置き換えるツール
  3. キーボードドライバの入力を受け取り、入力を置き換えるツール

前者ほど容易に行うことができるものの、範囲が制限されます。

レジストリ変更では、キーマップを変更することができるものの、そこまでであって、全く別のキーが押されたことにすることはできません。例えば、C-o が押されたときに Alt-半角/全角を送って、IME on/off を切り替えるなどということはできません。これによって、Windows XP 上で MS-IME の on/off を C-o へ変更した場合に、IE のポップアップウィンドウや VS.NET のヘルプなど、Windows 標準の DHTML コンポーネントを使用しているものが片っ端から死んでしまう問題を回避することができなくなります。

従って、Alt-半角/全角で IME の on/off を普段から行っているのであれば問題ないものの、半角/全角などのキーが存在しない環境で利用するには非常に苦痛を伴うこととなります。

なによりも、変更が適用されるためにはレジストリキーの再読み込み、つまり再起動が必要となります。

Remapkey (Windows Server 2003 Resource ket などに収録) などがこのタイプです。

キーボード入力をフックして入力を置き換える場合、かなり広範囲の変更が容易に行えますし、プログラムの作成も非常に簡単です。(Win32 API の SetWindowsHookEx() を呼び出すことで可能) これにより、入力された仮想キーコードを全く別のキーコードへ置き換えて送出する事が可能になります。

これにも欠点が無いわけではありません。何よりも問題となるのは、全てのキー入力 (フックするメッセージを広げたらそれ以上に) を、一度フックする形となるため、入力に対しての CPU 負荷が増大します。

さすがに、IRC クライアントでキー入力をしているだけで CPU 負荷 10% 前後まで行くと、少し凹みます。

レジストリキーの変更とこの形式を取るツールを併用することで、かなり広範囲のカスタマイズが可能です。

Xkeymacs などがこのタイプです。

キーボードドライバの上位に位置してキー入力をタイプの場合、最も自由度の高いカスタマイズが可能になります。しかし、最も面倒な部類に入ります。下手なことをすると OS 起動時に青画面、なんてことにもなりかねません。:)

種別としてはキーボードクラスドライバの上位に挿入されるキーボードフィルタドライバの形となるわけですが、まともにインストールしようとすると署名されてないよ云々言われる辺りが難点となるのでしょうか。窓使いの憂鬱ではレジストリキーに直接書き込んで、入力を乗っ取る形でフィルタドライバをローディングさせたりしているようですね。

窓使いの憂鬱などがこのタイプです。おそらく猫まねきや Keylay もこのタイプです。

個人的には、USB 対応猫まねきに期待していたりするのですが、欲しいものにはならないような気もします。orz

2004/ 6/14

キーマップ再配置ツール

11 日分の日記に書き忘れていたけど、グローバルフックのタイプの場合、Windows NT 系列限定であれば NT4SP3 以降でサポートされている WH_KEYBOARD_LL を使う手もあり。

もっとも、欲しい機能を満たしてくれる訳ではないのですが……。

2004/ 6/21

コピー防止 CD @ コピー防止機能付き CD が全米ヒットチャートで No.1 に - CNET Japan

ここで言うコピー防止機能付き CD というのが、実はコピー軽減機能 (Copy-Prevention System) 付き CD である、という点に注意して読まないといけないかもしれません。

簡単に言えば、日本国内で流通している CCCD の様な偽 CD (CD としての規格を満たしていないメディア) と同じ話だとして読んではいけない、ということです。

これを読んで、国内音楽業界が勝手な勘違いをして CDS の採用メディアをさらに広げる、とかしなければいいのですが……。

ただでさえ、還流 CD 対策のための、実質輸入 CD 禁止となった法律の成立により、クラシック CD の入手が面倒になったのに、国内でさらにひどいことにされるとかなわないので。

日本の音楽業界を壊滅させたがってるとしか思えないしね、ホント。

X 環境

xdm を上げて ASTEC-X で X ごと飛ばしてみるようにしてみたり。

最初色がとても黄色っぽかったのですが、色の設定をいじって (ImageByteOrder/BitmapBitOrder を MSBFirst -> LSBFirst へ変更) 綺麗に表示されるように。いや~、気持ち良すぎ。やっぱり X の方が使いやすいですね。

日本語入力関係も、元々 Wnn7 とかを入れてあるし、快適この上ない状況に。

久しぶりに X 用のアプリの設定を色々いじってみよう。:D

2004/ 6/26

アンテナによって添付される更新日時クエリ @ URL 末尾の ?123456 みたいな文字列を擁護する人がいます。

URL 末尾の ?(キーワードの URL エンコーディング) みたいなダサい形式の Wiki を擁護する人がいます、みたいな感じ。

さとみかん固有の事例に対して、さとみかんでは対象となっていない強引に ?(数値) という query によって受ける影響を述べることでわざわざ口を挟みたがる辺りが、とにかく難癖つけてみたいだけ、という印象を拭い切れません。

なつみかんは出力結果のエントリごとにそういったクエリを添付するかどうかを指定できる形式となっており、さとみかんで登録されている各項目は、そうしたクエリで問題ないことが保証されている上で提示されているものです。そもそも、リンクしている URL で目的のリソースへアクセスできなかったら、そんなアンテナ役に立たないでしょう。

ましてや、個人的な解決方法にまで文句を言う必要ってなんなのでしょうか。

Wiki のようなリソースをアンテナに入れておきつつ、そうした URL になるようなリンクを放置する管理者の問題を、今回の話に敢えて適用しようとする辺りの理由がさっぱりわかりません。

やっぱり、難癖付けたいだけなんですかね。

2004/ 6/27

固有アンテナの実装における設定の問題を、一部アンテナの問題がない設定に対して強引にこじつけていることに気付かない例 @ まぁ、それはともかく

問題が起きるリソースに対してそうしたリンクを張ることが問題になるのであって、問題の起きないリソースに対してそうしたリンクを張ることには、別に何の問題もないという根本的な部分を無視した反応をしているという点に対しては何の反応もないようで。

元々の話は特殊な場合 (それが添付されてもリソースを特定可能だが、リファラにゴミが残るという問題がある) に関しての話しかしていないものを、敢えて一般化してから文句を付けている点に問題があるから、そんな話はしていないでしょう、と言っているのですが。

リダイレクタの場合、Web バグっぽいのではなく、まさに Web バグとして機能することが出来る点が問題です。

クライアント側で済ませるという点では元々書かれている個人的ソリューションと何も差がないようにしか見えません。サーバ側がそれを提供しているか否か、と言われても、所詮 w3m/Lynx でアンテナを利用したら全く差がないなど、根本的な解決手段になっていません。

encoding 変更

都合により (謎) 日記のエンコーディングを EUC-JP から UTF-8 に変更。

2004/ 6/29

おしごと

今日から新しい客先に常駐~。

いきなり残業ペース……まぁ、仕方がないのかも。

まぁ、C 言語ベースで組み込み系とか、今まで全然関わったことのなかった系統なので、これはこれでいいのかも。