検討!目論見検討委員会

最近はコミケの締切情報メイン

Windowsのキーバインドを変更する

まともに検索したら、CapsLockとctrlの変更しか出てこなかったのでメモ。
書くまでもないですが、ここに書いてあることは自己責任で。

追記(9/10)

http://209.85.175.104/search?q=cache:i2vg-Tbv4HcJ:kaede.to/~canada/doc/weird-key-binding+windows+%E3%82%AD%E3%83%BC%E3%83%90%E3%82%A4%E3%83%B3%E3%83%89%E3%80%80%E5%A4%89%E6%9B%B4%E3%80%80mayu&hl=ja&ct=clnk&cd=1&gl=jp&lr=lang_ja&client=firefox-a

  • windowsレジストリを変更して、押されたキーボードの挙動を変える単純なものだったらこの記事を参照

Scancode Mapの在処

win+rしてwindows純正のランチャを起動、regeditと入力して、以下のパスを辿る。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\KeyBoard Layout
そこに、「新規バイナリ値」として「Scancode Map」という名前のやつ(名前知らない)を作成。

スキャンコード

キーボードのキーが何を押されたかは、窓使いの憂鬱を導入。設定画面でスキャンコードを取得できるので、ググってもスキャンコード出てこなかったら自分で押して確かめる。

キーの交換方法

いつものやつから。
ScancodeMapに書くやつで、CapsLock(スキャンコード:3A)を左Ctrl(スキャンコード:1D)にするには、

1D003A00

てなる。リトルエンディアンだかビックフットだがよー知らんけど、「Athlon 64 X2」ではこの書き方で動いてる。

あと、無変換(スキャンコード:7b)キーをEsc(スキャンコード:01)に、
変換(スキャンコード:79)をbackspace(スキャンコード:0e)にした。

Scancode Mapに書き込むバイト列

と、いうことで(アド街風)、こんな感じになりました。

00000000 #ヘッダ
00000000 #ヘッダ
04000000 #DWARD値の個数
1D003A00 #左Crtl <= CapsLock
01007b00 #Esc <= 無変換
0e007900 #backspace <= 変換
00000000 #フッタ

本来は数字の部分だけ書き込むので、#以降は無視してね。
「DWARD値の個数」は、「DWARD値の個数」以降の行数を書く。ここでは4。

設定を反映

Scancode Mapに書き込んだら、

秘技!再起動!!!!

なにそれ。一般人はおもむろに再起動すればいいです。別に叫ばなくてもいいです。
再起動したら、設定が反映されています。

追記(8/30)

Intelマシンでは上記設定で反映されなかった。というメモ。

追記(9/1)

今日押したら反映されていた。何だったんだろう。