Windows用USBキーボードをMacで使う
Windows用のUSBキーボードは、そのままMacで使えるんだ。ドライバはなくても認識する。あれ?でも@マークが打てないぞ??


→フィードバック

→更新履歴

→開発日誌

→資料(キーマップ)

→ダウンロード

→インストール方法

以下の内容は、Mac OS 10.3.x 向けです。Mac OS 10.4 Tigerでは、サードパーティ製のJISキーボードがサポートされたので、以下に書いてあることは当てはまりません。

Mac mini が発表された。やった!クールなデザインの5万円台のお手軽Macだ。ディスプレイやキーボード、マウスはついていない。AppleのCEO スティーブ・ジョブス曰く、Mac miniのコンセプトは「BYODKM」。「BYODKM」ってなんだ? Bring Your Own Display, Keyboard Mouse の頭文字だそうだ。Windows用のキーボードを持ってくればすぐ使える!何もこれは Mac mini に限ったことじゃない。Mac mini は手元にないけど、他のMacでも使えるはずだ。早速 Windows用USBキーボードを差してみよう。

お、使える使える。何も特別なことは要らない。ウィンドウズキーっていうのかな、WindowsのロゴのついているキーがMacのコマンドキーに割り当てられてるみたいだ。コマンドキーっていうのは、リンゴマークが書かれたキーで、Macではキーボードショートカットの基本になるキーだ。例えばコピーはコマンド+Cでできる。WindowsではコントロールキーとCだね。

では、Windows用のキーボードを使ってメールを書いてみよう。あれあれ?@マークを入力したいのに代わりに [ が出てくるぞ?シフトキーと2を押したら、ようやく@マークが打てた。使っているのはJISキーボードなのに ANSI として認識されているらしい。ANSIってのはアメリカの規格で、ANSIのキーボードはJISのものとちょっと配列が違う(ASCII配列とも呼ばれている)。アルファベットは同じなのだけど、記号の位置が結構違う。これは不便じゃないか。

アップルのキーボードなら自動的にANSIかJISか判別してくれているが、他社のものはドライバが必要なのだろう。調べてみるとマイクロソフトがMac向けに出しているキーボード東大が採用しているHappy Hacking Keyboardは、Mac用ドライバがあるみたいだ。ドライバなしではダメなのか?

だけど、そこはカスタマイズ性に富んだMac OS Xのこと。きっとなんとかする方法があるはずだ。uControlという機能拡張を改造して、JISキーボードを無理矢理ANSIとして使っている人のページがあった。なるほど、でも僕がやりたいのはちょうどこれと逆のことだ。

uControlの改造は難しそうだ。システムに手を出す点も不安定になりそうで恐い。他に方法はないか。ネットを検索していたら、アップルの開発者向けドキュメントが引っ掛かった。どうやらXMLのファイルを作るだけで、独自のキーボード配列が作れるらしい。ついで、Ukeleleというユーティリティを発見。開発者向けドキュメントに書かれていたキーボード配列のXMLを作成するソフトらしい。これでなんとかなりそうだ。

Ukeleleに同梱されていたRomajiというキーボド配列を使ってみたが、うまく動かない。多少の改造は必要なようだ。そして、あれこれいじって完成したのがこれ。

USB JIS Keyboard Layout 1.0.1 [Mac OS X 10.3.x用]

※ ローマ字入力用。かな入力には未対応。
※ 10.2では、ログインができない等の不具合あり。使用しないでください。
※ 10.4ではOSで対応したため不要。

更新履歴


インストーラも付けてある。基本的にはインストーラをダブルクリックすればいい。インストーラが起動したら、All Usersを選択する。Current Userを選択してもいいが、その場合は同じMacを使う他のユーザは使えないので、また別にインストールが必要になる。

マニュアルでインストールする場合はルートかユーザのフォルダの下のライブラリにあるKeyboard Layoutsというフォルダに入れればいい。ユーザのフォルダの下に入れるとそのユーザしか使えないから、ルートのライブラリフォルダの下に入れれば、全ユーザで使える。1台のMacを複数のユーザで共有している人はこっちのほうがいいだろう。

インストール後、新しいキーボード配列を反映させるには、再ログインか再起動が必要になる。インストーラを使えば、そこまでは自動でやってくれる。JISのキーボードを使うには後もうひと手間必要だ。

再ログインか再起動したら、ことえりの環境設定を開こう。メニューバーに「あ」と書いてるアイコンの下のメニューに「環境設定を表示」というのがあるはずだ。ことえりの環境設定を開いたら、「英字入力時のキーボード配列」に「USB JIS」を選ぶんだ。これでWindows用のJISキーボードの配列で正しく入力できるようになる。Windows 風のキー操作にチェックを入れれば、ローマ字変換の振る舞いなどもWindows風になるようだ。


もしこのとき選択肢の中に「USB JIS」が出てきていなかったら、インストールが正しくされてないってことになる。もう一度インストールして再ログインか再起動してみてほしい。

今回インストールしたキー配列は基本的な部分しかいじっていない。オプションキーなどを押したまま打つ文字などはMacのデフォルトと違うかもしれないが、そこまでは触っていない。こだわりがある人は自分でカズタマイズしてみてくれ。Ukeleleを使えば簡単なはずだ。

今回のキーボード配列は、Mac miniでは試していないし、他のキーボードでも試していないので、もしかしたら動かないかもしれない。そんなわけで自己責任で使ってほしいが、うまく動かないときはフィードバックを残していってほしい。使っているOSのバージョンやシステムプロファイラに表示されるUSBキーボードの製品IDがわかると嬉しい。もしかしたら修正できるかもしれない。ちなみにuControlと違い、システムにパッチを当てているわけではないので、リスクは少ないはずだ。設置したキーボード配列のファイルがおかしかったら、ただ読み込まれないだけ。

追記: と書いたが、10.2ではそうでもないようで、ログインできない等の不具合が起こってしまった。その場合はシングルユーザモードで該当のファイルを消す必要がある。)

あ、そうそう。このカスタマイズは、Mac OS X 標準のインプットメソッド「ことえり」を使うことを前提にしている。ATOKEGBRIDGEでどのように配列を置き換えるかは、手元にソフトがないのでわからないが、追記に引用した情報によると、EGBRIDGEにもことえりと似たような設定ができるところがあるらしい。

追記(1/27)
情報を得ることができたので、EGBRIDGEやATOKも含めたインストール方法をまとめてみた。参考にしてほしい。

おまけ

今回インストールしたキーボード配列とは直接関係ないが、MacとWindowsのキーボードのキー配列の対応を一部まとめてみた。


Mac Windows

コマンドキー ウィンドウズキー

コントロールキー Ctrlキー

オプションキー Altキー
CD/DVD取り出し 専用キーまたはF12 F12
全角/半角切替 コマンド+スペース ウィンドウズキー+スペース

さらにカスタマイズ

このキー配列では、ことえりが持っているキーボードショートカットは置き換えられない。例えば、全角と半角切り替えを、「ウィンドウズキー+スペース」とは違うショートカットで行いたいときもあるだろう。

そんなときにはいいユーティリティがある。ayaori.netソフトウェアラボのことえでぃ4だ。"Windows 風のキー操作"にチェックを入れたときのことえりのキーボードショートカットをカスタマイズするツールだ。これを使いこなせば、さらに便利になるだろう。

追記

こんなやり方も某巨大掲示板にあった(リンク)。

「JIS配列として認識させる方法」
http://www.apple.com/jp/ftp-info/reference/jis_keyboard.html
からJIS キーボードインストーラをダウンロードして解凍
(JIS_Keyboard.sea.bin)

解凍後
JIS キーボードインストーラ/キーボードファイル/ の中にある
「JIS キーボードリソース」の末尾に「.rsrc」を付加して、(JIS キーボードリソース.rsrc)
~/Library/Keyboard Layouts/ に入れる。(または /Library/Keyboard Layouts/)

一旦ログアウトして再度ログイン

各設定を開き以下のように設定する
システム環境設定>言語環境>入力メニュー>Roman - JIS
ことえり環境設定>入力>英字入力時のキーボード配列>Roman - JIS
EGBRIDGE環境設定>入力>キーボード>英数配列>Roman - JIS
ATOKは所持していないので不明(誰かフォロープリーズ)

得られる結果はここで配布しているキーボード配列を使った場合とほぼ同じだが、違いを挙げると、こちらのものは「オプションキー+¥」でバックスラッシュが入れられる点と、ひらがなの「ろ」が刻印されたキーが標準状態でバックスラッシュ、シフトを押すとアンダーバーに割り当てられている点だ。後、xmlで書かれているので、気に入らない点があればテキストエディタを開いて、簡単に修正できるんだ。

カウンタ