Surface Pro 3 の TypeCover を MacBook Air っぽいキー配列にしてみた

背景

Surface Pro 3 の Type Cover はハードウェア的に良くできていると思うのですが、
私が3年ぐらい MacBook Air を使っていたせいもあってかやけに使いにくく感じています。

そこで、キーマップを変更してそれっぽいキー配列にしてみました、という記事です。

Surface Pro 3 Type Cover
Apple Wireless Keyboard (JIS) MC184J/B っぽく、ということです。

環境

  • Windows 8.1 Professional 64bit

配列変更の方針

Mac のキーボードは左下から右に向かって
「Caps」「Option(alt)」「Command」の順に並んでいます。
A キーの左側は「Ctrl」キーです。

Windows では日本語の切り替えに使う「半角/全角」ボタンはありません。

代わりにスペースキーの
左側には「英数」キー、右側には「かな」キーが配置され、
現在の入力状態に関わらずそれぞれのキーを押すだけで入力モードが切り替わります。

これがとても便利なのです。

※Mac のキーボード画像:Apple Wireless Keyboard

このようなキー配列に Surface Pro 3 の Type Cover のキーボードを近づけるため、
次のようにキーマップを変更してみたいと思います。
()内は仮想キーコード(後ほど説明します)です。

  • 「ひらがな(00 70)」を「無効(00 00)」にする
  • 「半角/全角(00 29)」を「無効(00 00)」にする
  • 「Caps(00 3A)」を「左Ctrl(00 1D)」にする
  • 「左Ctrl(00 1D)」を「左Win(E0 5B)」にする
  • 「左Win(E0 5B)」を「左Alt(00 38)」にする
  • 「左Alt(00 38)」を「左Ctrl(00 1D)」にする
  • 「無変換」を「日本語入力OFF」にする
  • 「変換」を「日本語入力ON」にする

キーボードの配列を変更する方法

Windows という OS では、
ハードウェアで押されたキーは「スキャンコード(scan code)」と呼ばれ、
一度「仮想キーコード(virtual key code)」と言う別のコードに変換されてから解釈されます。

「スキャンコード」→「仮想キーコード」

参考:キーボード入力 Windows デベロッパーセンター

逆に言えば、
どんなキーボードであってもスキャンコードを持つのであれば
Windows が解釈できる「仮想キーコード」で別のキー(別の機能)に割り当て直すことが可能です。

この考え方でキーアサイン(キーの割り当て)を変更します。

この別のキーコードへの変換にはいくつか手法があるのですが、
もっとも一般的な方法がレジストリの変更だと思います。

変更するための手順は次の通りです。

  1. Win+R で「ファイル名を指定して実行」ダイアログを開きます
  2. 「regedit」と入力して「OK」ボタンを押します
    ファイル名を指定して実行
  3. レジストリエディタで上記のレジストリ キーを開きます
    「HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\KeyBoard Layout」
  4. 「編集|新規|バイナリ値」メニューから新しいエントリーを作成し、名前を「Scancode Map」に変更します
    レジストリ エディター 新規バイナリ値
  5. 次の「バイナリ値の作り方」に従って、「Scancode Map」の値を設定します

バイナリ値の作り方

「Scancode Map」の値は、次のようなルールで記述する必要があります。

位置 内容
1 バージョンヘッダー 0x00000000 で固定
2 フラグヘッダー 0x00000000 で固定
3 4つめの値以降、最後のエントリーを含めた DWORD の個数
4 1つめのマッピング
n 必要な数だけ繰り返し
最後 ターミネーション 0x00000000 で固定

参考:Keyboard and mouse class drivers の「Scan code mapper for keyboards」

例えば、「Ctrl」キーと「Caps」キーを入れ替えるのであれば、次の「Scancode Map」になります。

CtrlとCaps Lockの交換 バイナリ値

値の意味は次の通りです。

意味
00 00 00 00 バージョンヘッダー 0x00000000 で固定
00 00 00 00 フラグヘッダー 0x00000000 で固定
00 00 00 03 2つのマッピングと1つのターミネーションで計3個
3A 00 1D 00 Ctrl(0x1D)をCaps(0x3A)にマッピング
1D 00 3A 00 Caps(0x3A)をCtrl(0x1D)にマッピング
00 00 00 00 ターミネーション

マッピングの書き方は Intel 系の CPU なのでリトルエンディアン方式、
つまり最下位のバイトから順番に書く必要があります。

たとえば「Caps(0x3A)」を「Ctrl(0x1D)」にマッピングしたい場合
表記上は「00 3A 00 1D」となりますが、

レジストリに書き込む際には最下位のバイトから書くので
「1D 00 3A 00」と入力する必要があるということです。

この手順の注意点としては、
キーのマップを変えるだけ=*キーの入れ替えではない*ということです。

上記の例でも、Ctrl と Caps を入れ替えるために
マッピングを2つ書いているのが分かると思います。

たとえば Ctrl キーに別のキーをアサインすると、Ctrl キーの入力自体ができなくなります。

 

先に挙げたキーアサインを実現させるための
最終的なレジストリは次のようになりました。

バイナリ値の編集

ATOK のショートカットの変更方法

物理キーのキー配列を変更する手順は上記の通りですが、
「無変換」を押したら「日本語入力OFF」になるような機能の変更は、入力メソッドの設定で行いましょう。

ATOK であれば、次の手順で変更が可能です。

  1. ATOK の「プロパティ(環境設定)」(Ctrl+F12)を開く
  2. 「キー・ローマ字・色」タブ、編集したいスタイルを「スタイル一覧」から選択し、「キーカスタマイズ」ボタンをクリックする
    ATOK プロパティ
  3. 「キーカスタマイズ」ダイアログで、「日本語入力OFF」に「無変換」を、「日本語入力ON」に「変換」を指定します
    ATOK キーカスタマイズ
  4. 「OK」ボタンで閉じてください

以上で、Surface Pro 3 の Type Cover を MacBook Air のキーボードっぽいキーアサインに変更することができました。

まとめ

こういったカスタマイズは難しく考えがちですが、やってみると案外簡単ですし、何よりも効率が上がるのであれば最初にやるべきでしょう。

キーアサインを変更するフリーソフトなども多数ありますので、そういったものを利用するのも良いと思います。

参考

マルチメディア キーの一覧

スキャンコード 機能
E0 20 Mute(ミュートのオンオフ)
E0 2E Volume Down(音量を下げる)
E0 30 Volume Up(音量を上げる)
E0 22 Play/Pause(再生・一時停止)
E0 24 Stop(停止)
E0 10 Scan Previous Track(前のトラックに戻る)
E0 19 Scan Next Track(次のトラックに進む)

使いそうなキーのスキャンコード

106キーボードのスキャンコード

キーコードを調べるには Keymill を使わせていただきました。

追記

2014/08/26 追記

ペンの消しゴム機能が使えなくなっていたことに気づく。
どうも Win+F19 に割り当てられているっぽい。
変更先が分からないのでこれは諦める。。

2014/09/01 追記

ふと久しぶりにタブレットモードで使ってみたところ、本体の Windows ボタンまで Alt キー扱いになってしまっていた。。さすがにこれはないわ。。

回避方法が思いつかないので、Win キーのキーマップは変えないように戻しました。

 

購入はこちらから

Apple Wireless Keyboard

Surface Pro 3 用 Type Cover

10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント

【最後まで読んでくれたあなたに】

あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?

私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。

それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。

しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。

そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。

・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!

という方は今すぐ無料でダウンロードしてください。

期間限定で、無料公開しています。

※登録後に表示される利用条件に沿ってご利用ください

コメントを残す