Snow LeopardでWindows用JISキーボードを有効利用する[追記あり]
Mac OS X 10.5 Leopardでは、Windows用USB JISキーボードのサポートに難がありました。USキーボード配列として認識される様で、例えばことえりでShift+2(”)を入力すると"@"が入力されてしまいました。
これを解決するには、Mac OS Xのシステムファイルに手を入れるのがスマートです。次の記事を参考にしてください。なすこじさん、ありがとうございます。
- 「MacOS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する: ”なすこじ”のココログ
- 「MacOS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する
この方法を踏襲して、追加キーの割り付けをしました。次の記事です。
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 |
【参考】
- Hut1_12.pdf → Hut1_12v2.pdf (変更になっていました)
- USBキーボードのキーコード
Apple JISキーボード独自のキーコード(Usage)が載っていて、ありがたかったです。
この変更の結果、非常に便利に使えていました。同じ事が、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キーボード」のキー配列問題に対処するに非常にわかりやすくまとめられています。ありがとうございます。要点をまとめると、次の様になります。
- ioreg -Sl -p IOUSB -w 0 > reg2.txt
- 該当するWindowsキーボードを外す
- ioreg -Sl -p IOUSB -w 0 > reg1.txt
(ターミナルのペーストメニューで入力) - キーボードを取り付ける
- diff reg1.txt reg2.txt > diff.txt
- diff.txtから、idProductとidVendorを調べておく
- /System/Library/Extensions/AppleHIDKeyboard.kextをバックアップ(コピーなど)
- Contents/Info.plistを修正(後述)
- sudo touch /System/Library/Extensions
- 再起動
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)
アプリケーションによる対策方法は次の通りです。「システム環境設定」にメニューが追加されます。
- MarvericksでWindows用JISキーボードを有効利用する : プラスα空間 (2014年4月12日)
ディスカッション
今頃ですがトラックバックありがとうございます m(_ _)m
やっと気が付きました(承認しないと反映されないのも今分かりました)orz
Intel Macがまだ買えてないので確認できていませんでしたが、10.6ではJISかなでの問題は無くなっているようで一安心?です。
しかし、ネット環境が無いのは中々辛い……
ではでは。
なすこじさんへ、コメントありがとうございます。
トラックバックのご承認ありがとうございます。
最初、自分の取ったメモではうまく行かなくて、原点にもどって、なすこじさんの方法の通りにやりなおしたらうまく行きました。
なお、新しいLeopardだと、Wired Keyboard 2008 JIS Mapを持っている物もあるようです。この場合、セクションのコピーと修正は一つで済みます。