Snow LeopardでWindows用JISキーボードを有効利用する[追記あり]

2014年4月13日Mac,パソコン・インターネット

Mac OS X 10.5 Leopardでは、Windows用USB JISキーボードのサポートに難がありました。USキーボード配列として認識される様で、例えばことえりでShift+2(”)を入力すると"@"が入力されてしまいました。

これを解決するには、Mac OS Xのシステムファイルに手を入れるのがスマートです。次の記事を参考にしてください。なすこじさん、ありがとうございます。

この方法を踏襲して、追加キーの割り付けをしました。次の記事です。

Snow Leopard 10.6では、この問題は解決され、Windows用JISキーボードのみをつないでも、きちんと刻印通りのキーが入力される様になりました。めでたしめでたし。

で、終わってしまっては、記事にはなりません。

LeopardでWindows用JISキーボードのみでもJIS配列を認識させるでは、Print ScreenキーをApple JISキーボードのEjectキー、無変換キーをApple JISキーボードの英数キーに、ひらがな/カタカナキーをApple JISキーボードのかなキーに割り付ける様にしています。

Windos用JIS
キーボードの刻印
キーコード Apple JIS
キーボードへの
割り付け
キーコード
Print Screen 0x00070046 Eject 0x000C00B8
無変換 0x0007008B 英数 0x00070091
変換 0x0007008A Space 0x0007002C
ひらがな/カタカナ 0x00070088 かな 0x00070090

【参考】

この変更の結果、非常に便利に使えていました。同じ事が、Snow Leopardでも対応できないか、やってみました。その結果、うまくいきました。

基本的は、Leopardと同じ方法で対応できます。ただ、Snow Leopardでは、Info.plistの中身が少し変更になっています。

Leopardでは、「Wired Keyboard 2007 JIS 1」「Wired Keyboard 2007 JIS 2」「Wired Keyboard 2007 JIS Map」の様に、三つに分かれていました。Snow Leopardでは、一つにまとめらています。

Leopardでの手順は、なすこじさんの「MacOS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処するに非常にわかりやすくまとめられています。ありがとうございます。要点をまとめると、次の様になります。

  1. ioreg -Sl -p IOUSB -w 0 > reg2.txt
  2. 該当するWindowsキーボードを外す
  3. ioreg -Sl -p IOUSB -w 0 > reg1.txt
    (ターミナルのペーストメニューで入力)
  4. キーボードを取り付ける
  5. diff reg1.txt reg2.txt > diff.txt
  6. diff.txtから、idProductとidVendorを調べておく
  7. /System/Library/Extensions/AppleHIDKeyboard.kextをバックアップ(コピーなど)
  8. Contents/Info.plistを修正(後述)
  9. sudo touch /System/Library/Extensions
  10. 再起動

Info.plistの修正は、Wired Keyboard 2008 JIS Mapのセクションをコピーして使いました。

<key>Wired Keyboard 2008 JIS Map</key><dict>〜</dict>の部分を、設定ファイルに付け加えます。コピーする位置・付け加える位置は、インデントの位置に注意しながら探してください。

<key>〜</key>の部分は、お使いのキーボードに合わせて変更してください。私は、「BTC 6300C JIS Map」にしました。既存の設定と、名前が重ならなければ、何でもかまわないと思います。

上記、キーボードの割り付けを変更するために、<key>FnFunctionUsageMap</key>の<string>〜</string>中身を次の様に設定します(表示のために改行を入れています)。

<key>FnFunctionUsageMap</key>
<String>0x00070046,0x000C00B8,0x0007008B,0x00070091,
0x0007008A,0x0007002C,0x00070088,0x00070090</string>

それと、ProductIDとVendorIDを書き換えます。

書き換えた結果は、次の様になります。

                <key>BTC 6300C JIS Map(お使いのキーボードに合わせて変更してください)</key>
                <dict>
(中略)
                        <key>FnFunctionUsageMap</key>
                        <string>0x00070046,0x000C00B8,0x0007008B,0x00070091,0x0007008A,0x0007002C,0x00070088,0x00070090</string>
(中略)
                        <key>ProductID</key>
                        <integer>21189(お使いのキーボードに合わせて変更してください)</integer>
                        <key>VendorID</key>
                        <integer>1134(お使いのキーボードに合わせて変更してください)</integer>
(中略)
                </dict>

うまくいかなければ、なすこじさんの手順書(「MacOS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する)に従って、最初から慎重にやり直してみてください。Info.plistの修正方法が、LeopardとSnow Leopardでは違っていますので、そこはご注意を。

(追記 2013-10-06 06:55)

リンクが変更になっていたので、修正しました。

(追記 2014-04-12 16:12)

システム領域のファイルを書き換える事になるので、最悪、システムが立ち上がらなくなる可能性があります。ご注意ください。

万一に備えてのバックアップなどの対策をおとりください。

(追記 2014-04-13 10:45)

アプリケーションによる対策方法は次の通りです。「システム環境設定」にメニューが追加されます。

Posted by お市のかた