Belkin USB bluetooth dongle F8T016 を Mac OSX 10.5.8 (Leopard) で使ってみると、Option 起動は可能、コマンド+S 起動も可能、スリープからの復帰も可能ながら「Bluetooth デバイスがスリープを解除することを許可」にチェックが入らないという問題です。問題にしなくても放置しておいても実用的には何の問題もありません。同じ dongle を Mac OSX 10.8.5 (Mountain Lion) でやってみるとチェックが入るのは確認できていましたから、Mountain Lion の書式を真似して Leopard にパッチを当てればいいのでしょう。
その場所は "/System/Library/Extensions/IOBluetoothFamily.kext/Contents/Plugins/BroadcomUSBBluetoothHCIController.kext/Contents/Info.plist" にあります。そのInfo.plistの内容です。
●これは OSX 10.5.8 (Leopard) の Info.plist を Property List Editor による一部表示です。
●そしてこちらは OSX 10.8.5 (Mountain Lion) の Info.plist を Property List Editor による一部表示です。一見して分るのは項目数が増えている事です。
これは OSX 10.8.5 (Mountain Lion) のInfo.plist の中の belkin USB dongle F8T016 の定義部分です。一番上の行の右側にある <> は明らかにゴミなので削除して下さいね。
この定義部分を"PASTE HERE !!!" の部分にペーストします。以前にペーストする場所を "Microsoft Bluetooth 2.0 USB Dongle" の下に置いてみたら動作しなかったので、上にしておいた方がいいかと思います。
ただし、Mountain Lion と Leopard ではその記述に若干の違いがあるので、ペーストしたものを一部 OSX 10.5.8 用に修正します。
これは OSX 10.5.8 (Leopard) にパッチ後のProperty List Editor による表示です。ついでですから Belkin 以外にも IOGear や MediaLink の定義も追加してみました。
最終的に、システム環境設定のBluetoothの詳細設定で、うまく「Bluetooth デバイスがスリープを解除することを許可」にチェックが入るようになりました。
ただ Belkin USB bluetooth dongle F8T016 といってもバージョン違いがあるらしく、F8T016ng という製品を使いました。F8T016ne でもOKらしいとはネット上の情報です。分らないのはパッケージのどこを探しても ng やら ne などの表記がされていない事です。
2014年7月26日土曜日
2014年7月14日月曜日
Power Mac G5 OSX 10.5.8 用 Apple wireless keyboard 2009 B JIS用差分
<key>Wireless Keyboard 2009 B
ANSI</key>
<dict>
<key>BatteryDangerouslyLowNotificationType</key>
<integer>1802527086</integer>
<key>BatteryLowNotificationType</key>
<integer>1701538927</integer>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.IOBluetoothHIDDriver</string>
<key>DisconnectionNotificationType</key>
<integer>1701536883</integer>
<key>ExtendedFeatures</key>
<dict>
<key>BatteryPercent</key>
<dict>
<key>id</key>
<integer>71</integer>
<key>max</key>
<integer>100</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>BatteryState</key>
<dict>
<key>id</key>
<integer>48</integer>
<key>max</key>
<integer>2</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>0</integer>
</dict>
<key>DeviceName1</key>
<dict>
<key>id</key>
<integer>81</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName2</key>
<dict>
<key>id</key>
<integer>82</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName3</key>
<dict>
<key>id</key>
<integer>83</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName4</key>
<dict>
<key>id</key>
<integer>84</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceNameChange</key>
<dict>
<key>id</key>
<integer>80</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FactoryDefault</key>
<dict>
<key>id</key>
<integer>69</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FullFactoryDefault</key>
<dict>
<key>id</key>
<integer>68</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>LongDeviceName</key>
<dict>
<key>id</key>
<integer>85</integer>
<key>size</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>RecantConnection</key>
<dict>
<key>id</key>
<integer>65</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>UserMode</key>
<dict>
<key>id</key>
<integer>67</integer>
<key>max</key>
<integer>3</integer>
<key>min</key>
<integer>1</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>WillShutdown</key>
<dict>
<key>id</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
</dict>
<key>GetReportTimeoutMS</key>
<integer>3500</integer>
<key>HIDDefaultBehavior</key>
<string></string>
<key>IOClass</key>
<string>IOAppleBluetoothHIDDriver</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOBluetoothL2CAPChannel</string>
<key>PSM</key>
<integer>17</integer>
<key>ProductID</key>
<integer>597</integer>
<key>SetReportTimeoutMS</key>
<integer>3500</integer>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Wireless Keyboard 2009 B ANSI Map</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHIDKeyboard</string>
<key>CapsLockDelay</key>
<integer>75</integer>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>6</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
<dict>
<key>DeviceUsage</key>
<integer>7</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>FnFunctionUsageMap</key>
<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,0xff010004,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x00070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
<key>FnKeyboardUsageMap</key>
<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
<key>FnModifierUsage</key>
<integer>3</integer>
<key>FnModifierUsagePage</key>
<integer>255</integer>
<key>HIDDefaultBehavior</key>
<string>Keyboard</string>
<key>IOClass</key>
<string>AppleEmbeddedKeyboard</string>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>NumLockKeyboardUsageMap</key>
<string>0x00070029,0x00070029,0x0007002a,0x0007002a,0x0007002b,0x0007002b,0x0007003a,0x0007003a,0x0007003b,0x0007003b,0x0007003c,0x0007003c,0x0007003d,0x0007003d,0x0007003e,0x0007003e,0x0007003f,0x0007003f,0x00070040,0x00070040,0x00070041,0x00070041,0x00070042,0x00070042,0x00070043,0x00070043,0x00070044,0x00070044,0x00070045,0x00070045,0x0007004a,0x0007004a,0x0007004b,0x0007004b,0x0007004c,0x0007004c,0x0007004d,0x0007004d,0x0007004e,0x0007004e,0x0007004f,0x0007004f,0x00070050,0x00070050,0x00070051,0x00070051,0x00070052,0x00070052,0x0007000d,0x00070059,0x0007000e,0x0007005a,0x0007000f,0x0007005b,0x00070018,0x0007005c,0x0007000c,0x0007005d,0x00070012,0x0007005e,0x00070024,0x0007005f,0x00070025,0x00070060,0x00070026,0x00070061,0x00070010,0x00070062,0x00070037,0x00070063,0x00070082,0x00070082,0x000700e0,0x000700e0,0x000700e1,0x000700e1,0x000700e2,0x000700e2,0x000700e3,0x000700e3,0x000700e4,0x000700e4,0x000700e5,0x000700e5,0x000700e6,0x000700e6,0x000700e7,0x000700e7</string>
<key>ProductID</key>
<integer>597</integer>
<key>StandardType</key>
<integer>0</integer>
<key>VendorID</key>
<integer>1452</integer>
<key>alt_handler_id</key>
<integer>43</integer>
</dict>
<key>Wireless Keyboard 2009 B ISO</key>
<dict>
<key>BatteryDangerouslyLowNotificationType</key>
<integer>1802527086</integer>
<key>BatteryLowNotificationType</key>
<integer>1701538927</integer>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.IOBluetoothHIDDriver</string>
<key>DisconnectionNotificationType</key>
<integer>1701536883</integer>
<key>ExtendedFeatures</key>
<dict>
<key>BatteryPercent</key>
<dict>
<key>id</key>
<integer>71</integer>
<key>max</key>
<integer>100</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>BatteryState</key>
<dict>
<key>id</key>
<integer>48</integer>
<key>max</key>
<integer>2</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>0</integer>
</dict>
<key>DeviceName1</key>
<dict>
<key>id</key>
<integer>81</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName2</key>
<dict>
<key>id</key>
<integer>82</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName3</key>
<dict>
<key>id</key>
<integer>83</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName4</key>
<dict>
<key>id</key>
<integer>84</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceNameChange</key>
<dict>
<key>id</key>
<integer>80</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FactoryDefault</key>
<dict>
<key>id</key>
<integer>69</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FullFactoryDefault</key>
<dict>
<key>id</key>
<integer>68</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>LongDeviceName</key>
<dict>
<key>id</key>
<integer>85</integer>
<key>size</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>RecantConnection</key>
<dict>
<key>id</key>
<integer>65</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>UserMode</key>
<dict>
<key>id</key>
<integer>67</integer>
<key>max</key>
<integer>3</integer>
<key>min</key>
<integer>1</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>WillShutdown</key>
<dict>
<key>id</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
</dict>
<key>GetReportTimeoutMS</key>
<integer>3500</integer>
<key>HIDDefaultBehavior</key>
<string></string>
<key>IOClass</key>
<string>IOAppleBluetoothHIDDriver</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOBluetoothL2CAPChannel</string>
<key>PSM</key>
<integer>17</integer>
<key>ProductID</key>
<integer>598</integer>
<key>SetReportTimeoutMS</key>
<integer>3500</integer>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Wireless Keyboard 2009 B ISO Map</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHIDKeyboard</string>
<key>CapsLockDelay</key>
<integer>75</integer>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>6</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
<dict>
<key>DeviceUsage</key>
<integer>7</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>FnFunctionUsageMap</key>
<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,0xff010004,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x00070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
<key>FnKeyboardUsageMap</key>
<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
<key>FnModifierUsage</key>
<integer>3</integer>
<key>FnModifierUsagePage</key>
<integer>255</integer>
<key>HIDDefaultBehavior</key>
<string>Keyboard</string>
<key>IOClass</key>
<string>AppleEmbeddedKeyboard</string>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>NumLockKeyboardUsageMap</key>
<string>0x00070029,0x00070029,0x0007002a,0x0007002a,0x0007002b,0x0007002b,0x0007003a,0x0007003a,0x0007003b,0x0007003b,0x0007003c,0x0007003c,0x0007003d,0x0007003d,0x0007003e,0x0007003e,0x0007003f,0x0007003f,0x00070040,0x00070040,0x00070041,0x00070041,0x00070042,0x00070042,0x00070043,0x00070043,0x00070044,0x00070044,0x00070045,0x00070045,0x0007004a,0x0007004a,0x0007004b,0x0007004b,0x0007004c,0x0007004c,0x0007004d,0x0007004d,0x0007004e,0x0007004e,0x0007004f,0x0007004f,0x00070050,0x00070050,0x00070051,0x00070051,0x00070052,0x00070052,0x0007000d,0x00070059,0x0007000e,0x0007005a,0x0007000f,0x0007005b,0x00070018,0x0007005c,0x0007000c,0x0007005d,0x00070012,0x0007005e,0x00070024,0x0007005f,0x00070025,0x00070060,0x00070026,0x00070061,0x00070010,0x00070062,0x00070037,0x00070063,0x00070082,0x00070082,0x000700e0,0x000700e0,0x000700e1,0x000700e1,0x000700e2,0x000700e2,0x000700e3,0x000700e3,0x000700e4,0x000700e4,0x000700e5,0x000700e5,0x000700e6,0x000700e6,0x000700e7,0x000700e7</string>
<key>ProductID</key>
<integer>598</integer>
<key>StandardType</key>
<integer>1</integer>
<key>VendorID</key>
<integer>1452</integer>
<key>alt_handler_id</key>
<integer>44</integer>
</dict>
<key>Wireless Keyboard 2009 B JIS</key>
<dict>
<key>BatteryDangerouslyLowNotificationType</key>
<integer>1802527086</integer>
<key>BatteryLowNotificationType</key>
<integer>1701538927</integer>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.IOBluetoothHIDDriver</string>
<key>DisconnectionNotificationType</key>
<integer>1701536883</integer>
<key>ExtendedFeatures</key>
<dict>
<key>BatteryPercent</key>
<dict>
<key>id</key>
<integer>71</integer>
<key>max</key>
<integer>100</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>BatteryState</key>
<dict>
<key>id</key>
<integer>48</integer>
<key>max</key>
<integer>2</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>0</integer>
</dict>
<key>DeviceName1</key>
<dict>
<key>id</key>
<integer>81</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName2</key>
<dict>
<key>id</key>
<integer>82</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName3</key>
<dict>
<key>id</key>
<integer>83</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName4</key>
<dict>
<key>id</key>
<integer>84</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceNameChange</key>
<dict>
<key>id</key>
<integer>80</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FactoryDefault</key>
<dict>
<key>id</key>
<integer>69</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FullFactoryDefault</key>
<dict>
<key>id</key>
<integer>68</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>LongDeviceName</key>
<dict>
<key>id</key>
<integer>85</integer>
<key>size</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>RecantConnection</key>
<dict>
<key>id</key>
<integer>65</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>UserMode</key>
<dict>
<key>id</key>
<integer>67</integer>
<key>max</key>
<integer>3</integer>
<key>min</key>
<integer>1</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>WillShutdown</key>
<dict>
<key>id</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
</dict>
<key>GetReportTimeoutMS</key>
<integer>3500</integer>
<key>HIDDefaultBehavior</key>
<string></string>
<key>IOClass</key>
<string>IOAppleBluetoothHIDDriver</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOBluetoothL2CAPChannel</string>
<key>PSM</key>
<integer>17</integer>
<key>ProductID</key>
<integer>599</integer>
<key>SetReportTimeoutMS</key>
<integer>3500</integer>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Wireless Keyboard 2009 B JIS Map</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHIDKeyboard</string>
<key>CapsLockDelay</key>
<integer>75</integer>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>6</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
<dict>
<key>DeviceUsage</key>
<integer>7</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>FnFunctionUsageMap</key>
<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,0xff010004,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x00070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
<key>FnKeyboardUsageMap</key>
<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
<key>FnModifierUsage</key>
<integer>3</integer>
<key>FnModifierUsagePage</key>
<integer>255</integer>
<key>HIDDefaultBehavior</key>
<string>Keyboard</string>
<key>IOClass</key>
<string>AppleEmbeddedKeyboard</string>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>NumLockKeyboardUsageMap</key>
<string>0x00070029,0x00070029,0x0007002a,0x0007002a,0x0007002b,0x0007002b,0x0007003a,0x0007003a,0x0007003b,0x0007003b,0x0007003c,0x0007003c,0x0007003d,0x0007003d,0x0007003e,0x0007003e,0x0007003f,0x0007003f,0x00070040,0x00070040,0x00070041,0x00070041,0x00070042,0x00070042,0x00070043,0x00070043,0x00070044,0x00070044,0x00070045,0x00070045,0x0007004a,0x0007004a,0x0007004b,0x0007004b,0x0007004c,0x0007004c,0x0007004d,0x0007004d,0x0007004e,0x0007004e,0x0007004f,0x0007004f,0x00070050,0x00070050,0x00070051,0x00070051,0x00070052,0x00070052,0x0007000d,0x00070059,0x0007000e,0x0007005a,0x0007000f,0x0007005b,0x00070018,0x0007005c,0x0007000c,0x0007005d,0x00070012,0x0007005e,0x00070024,0x0007005f,0x00070025,0x00070060,0x00070026,0x00070061,0x00070010,0x00070062,0x00070037,0x00070063,0x00070082,0x00070082,0x000700e0,0x000700e0,0x000700e1,0x000700e1,0x000700e2,0x000700e2,0x000700e3,0x000700e3,0x000700e4,0x000700e4,0x000700e5,0x000700e5,0x000700e6,0x000700e6,0x000700e7,0x000700e7</string>
<key>ProductID</key>
<integer>599</integer>
<key>StandardType</key>
<integer>2</integer>
<key>VendorID</key>
<integer>1452</integer>
<key>alt_handler_id</key>
<integer>45</integer>
</dict>
<dict>
<key>BatteryDangerouslyLowNotificationType</key>
<integer>1802527086</integer>
<key>BatteryLowNotificationType</key>
<integer>1701538927</integer>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.IOBluetoothHIDDriver</string>
<key>DisconnectionNotificationType</key>
<integer>1701536883</integer>
<key>ExtendedFeatures</key>
<dict>
<key>BatteryPercent</key>
<dict>
<key>id</key>
<integer>71</integer>
<key>max</key>
<integer>100</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>BatteryState</key>
<dict>
<key>id</key>
<integer>48</integer>
<key>max</key>
<integer>2</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>0</integer>
</dict>
<key>DeviceName1</key>
<dict>
<key>id</key>
<integer>81</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName2</key>
<dict>
<key>id</key>
<integer>82</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName3</key>
<dict>
<key>id</key>
<integer>83</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName4</key>
<dict>
<key>id</key>
<integer>84</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceNameChange</key>
<dict>
<key>id</key>
<integer>80</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FactoryDefault</key>
<dict>
<key>id</key>
<integer>69</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FullFactoryDefault</key>
<dict>
<key>id</key>
<integer>68</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>LongDeviceName</key>
<dict>
<key>id</key>
<integer>85</integer>
<key>size</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>RecantConnection</key>
<dict>
<key>id</key>
<integer>65</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>UserMode</key>
<dict>
<key>id</key>
<integer>67</integer>
<key>max</key>
<integer>3</integer>
<key>min</key>
<integer>1</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>WillShutdown</key>
<dict>
<key>id</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
</dict>
<key>GetReportTimeoutMS</key>
<integer>3500</integer>
<key>HIDDefaultBehavior</key>
<string></string>
<key>IOClass</key>
<string>IOAppleBluetoothHIDDriver</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOBluetoothL2CAPChannel</string>
<key>PSM</key>
<integer>17</integer>
<key>ProductID</key>
<integer>597</integer>
<key>SetReportTimeoutMS</key>
<integer>3500</integer>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Wireless Keyboard 2009 B ANSI Map</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHIDKeyboard</string>
<key>CapsLockDelay</key>
<integer>75</integer>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>6</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
<dict>
<key>DeviceUsage</key>
<integer>7</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>FnFunctionUsageMap</key>
<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,0xff010004,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x00070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
<key>FnKeyboardUsageMap</key>
<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
<key>FnModifierUsage</key>
<integer>3</integer>
<key>FnModifierUsagePage</key>
<integer>255</integer>
<key>HIDDefaultBehavior</key>
<string>Keyboard</string>
<key>IOClass</key>
<string>AppleEmbeddedKeyboard</string>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>NumLockKeyboardUsageMap</key>
<string>0x00070029,0x00070029,0x0007002a,0x0007002a,0x0007002b,0x0007002b,0x0007003a,0x0007003a,0x0007003b,0x0007003b,0x0007003c,0x0007003c,0x0007003d,0x0007003d,0x0007003e,0x0007003e,0x0007003f,0x0007003f,0x00070040,0x00070040,0x00070041,0x00070041,0x00070042,0x00070042,0x00070043,0x00070043,0x00070044,0x00070044,0x00070045,0x00070045,0x0007004a,0x0007004a,0x0007004b,0x0007004b,0x0007004c,0x0007004c,0x0007004d,0x0007004d,0x0007004e,0x0007004e,0x0007004f,0x0007004f,0x00070050,0x00070050,0x00070051,0x00070051,0x00070052,0x00070052,0x0007000d,0x00070059,0x0007000e,0x0007005a,0x0007000f,0x0007005b,0x00070018,0x0007005c,0x0007000c,0x0007005d,0x00070012,0x0007005e,0x00070024,0x0007005f,0x00070025,0x00070060,0x00070026,0x00070061,0x00070010,0x00070062,0x00070037,0x00070063,0x00070082,0x00070082,0x000700e0,0x000700e0,0x000700e1,0x000700e1,0x000700e2,0x000700e2,0x000700e3,0x000700e3,0x000700e4,0x000700e4,0x000700e5,0x000700e5,0x000700e6,0x000700e6,0x000700e7,0x000700e7</string>
<key>ProductID</key>
<integer>597</integer>
<key>StandardType</key>
<integer>0</integer>
<key>VendorID</key>
<integer>1452</integer>
<key>alt_handler_id</key>
<integer>43</integer>
</dict>
<key>Wireless Keyboard 2009 B ISO</key>
<dict>
<key>BatteryDangerouslyLowNotificationType</key>
<integer>1802527086</integer>
<key>BatteryLowNotificationType</key>
<integer>1701538927</integer>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.IOBluetoothHIDDriver</string>
<key>DisconnectionNotificationType</key>
<integer>1701536883</integer>
<key>ExtendedFeatures</key>
<dict>
<key>BatteryPercent</key>
<dict>
<key>id</key>
<integer>71</integer>
<key>max</key>
<integer>100</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>BatteryState</key>
<dict>
<key>id</key>
<integer>48</integer>
<key>max</key>
<integer>2</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>0</integer>
</dict>
<key>DeviceName1</key>
<dict>
<key>id</key>
<integer>81</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName2</key>
<dict>
<key>id</key>
<integer>82</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName3</key>
<dict>
<key>id</key>
<integer>83</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName4</key>
<dict>
<key>id</key>
<integer>84</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceNameChange</key>
<dict>
<key>id</key>
<integer>80</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FactoryDefault</key>
<dict>
<key>id</key>
<integer>69</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FullFactoryDefault</key>
<dict>
<key>id</key>
<integer>68</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>LongDeviceName</key>
<dict>
<key>id</key>
<integer>85</integer>
<key>size</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>RecantConnection</key>
<dict>
<key>id</key>
<integer>65</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>UserMode</key>
<dict>
<key>id</key>
<integer>67</integer>
<key>max</key>
<integer>3</integer>
<key>min</key>
<integer>1</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>WillShutdown</key>
<dict>
<key>id</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
</dict>
<key>GetReportTimeoutMS</key>
<integer>3500</integer>
<key>HIDDefaultBehavior</key>
<string></string>
<key>IOClass</key>
<string>IOAppleBluetoothHIDDriver</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOBluetoothL2CAPChannel</string>
<key>PSM</key>
<integer>17</integer>
<key>ProductID</key>
<integer>598</integer>
<key>SetReportTimeoutMS</key>
<integer>3500</integer>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Wireless Keyboard 2009 B ISO Map</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHIDKeyboard</string>
<key>CapsLockDelay</key>
<integer>75</integer>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>6</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
<dict>
<key>DeviceUsage</key>
<integer>7</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>FnFunctionUsageMap</key>
<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,0xff010004,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x00070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
<key>FnKeyboardUsageMap</key>
<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
<key>FnModifierUsage</key>
<integer>3</integer>
<key>FnModifierUsagePage</key>
<integer>255</integer>
<key>HIDDefaultBehavior</key>
<string>Keyboard</string>
<key>IOClass</key>
<string>AppleEmbeddedKeyboard</string>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>NumLockKeyboardUsageMap</key>
<string>0x00070029,0x00070029,0x0007002a,0x0007002a,0x0007002b,0x0007002b,0x0007003a,0x0007003a,0x0007003b,0x0007003b,0x0007003c,0x0007003c,0x0007003d,0x0007003d,0x0007003e,0x0007003e,0x0007003f,0x0007003f,0x00070040,0x00070040,0x00070041,0x00070041,0x00070042,0x00070042,0x00070043,0x00070043,0x00070044,0x00070044,0x00070045,0x00070045,0x0007004a,0x0007004a,0x0007004b,0x0007004b,0x0007004c,0x0007004c,0x0007004d,0x0007004d,0x0007004e,0x0007004e,0x0007004f,0x0007004f,0x00070050,0x00070050,0x00070051,0x00070051,0x00070052,0x00070052,0x0007000d,0x00070059,0x0007000e,0x0007005a,0x0007000f,0x0007005b,0x00070018,0x0007005c,0x0007000c,0x0007005d,0x00070012,0x0007005e,0x00070024,0x0007005f,0x00070025,0x00070060,0x00070026,0x00070061,0x00070010,0x00070062,0x00070037,0x00070063,0x00070082,0x00070082,0x000700e0,0x000700e0,0x000700e1,0x000700e1,0x000700e2,0x000700e2,0x000700e3,0x000700e3,0x000700e4,0x000700e4,0x000700e5,0x000700e5,0x000700e6,0x000700e6,0x000700e7,0x000700e7</string>
<key>ProductID</key>
<integer>598</integer>
<key>StandardType</key>
<integer>1</integer>
<key>VendorID</key>
<integer>1452</integer>
<key>alt_handler_id</key>
<integer>44</integer>
</dict>
<key>Wireless Keyboard 2009 B JIS</key>
<dict>
<key>BatteryDangerouslyLowNotificationType</key>
<integer>1802527086</integer>
<key>BatteryLowNotificationType</key>
<integer>1701538927</integer>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.IOBluetoothHIDDriver</string>
<key>DisconnectionNotificationType</key>
<integer>1701536883</integer>
<key>ExtendedFeatures</key>
<dict>
<key>BatteryPercent</key>
<dict>
<key>id</key>
<integer>71</integer>
<key>max</key>
<integer>100</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>BatteryState</key>
<dict>
<key>id</key>
<integer>48</integer>
<key>max</key>
<integer>2</integer>
<key>min</key>
<integer>0</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>0</integer>
</dict>
<key>DeviceName1</key>
<dict>
<key>id</key>
<integer>81</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName2</key>
<dict>
<key>id</key>
<integer>82</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName3</key>
<dict>
<key>id</key>
<integer>83</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceName4</key>
<dict>
<key>id</key>
<integer>84</integer>
<key>size</key>
<integer>8</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>DeviceNameChange</key>
<dict>
<key>id</key>
<integer>80</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FactoryDefault</key>
<dict>
<key>id</key>
<integer>69</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>FullFactoryDefault</key>
<dict>
<key>id</key>
<integer>68</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>LongDeviceName</key>
<dict>
<key>id</key>
<integer>85</integer>
<key>size</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>RecantConnection</key>
<dict>
<key>id</key>
<integer>65</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>UserMode</key>
<dict>
<key>id</key>
<integer>67</integer>
<key>max</key>
<integer>3</integer>
<key>min</key>
<integer>1</integer>
<key>size</key>
<integer>1</integer>
<key>type</key>
<integer>2</integer>
</dict>
<key>WillShutdown</key>
<dict>
<key>id</key>
<integer>64</integer>
<key>type</key>
<integer>2</integer>
</dict>
</dict>
<key>GetReportTimeoutMS</key>
<integer>3500</integer>
<key>HIDDefaultBehavior</key>
<string></string>
<key>IOClass</key>
<string>IOAppleBluetoothHIDDriver</string>
<key>IOProbeScore</key>
<integer>1000</integer>
<key>IOProviderClass</key>
<string>IOBluetoothL2CAPChannel</string>
<key>PSM</key>
<integer>17</integer>
<key>ProductID</key>
<integer>599</integer>
<key>SetReportTimeoutMS</key>
<integer>3500</integer>
<key>VendorID</key>
<integer>1452</integer>
</dict>
<key>Wireless Keyboard 2009 B JIS Map</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleHIDKeyboard</string>
<key>CapsLockDelay</key>
<integer>75</integer>
<key>DeviceUsagePairs</key>
<array>
<dict>
<key>DeviceUsage</key>
<integer>6</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
<dict>
<key>DeviceUsage</key>
<integer>7</integer>
<key>DeviceUsagePage</key>
<integer>1</integer>
</dict>
</array>
<key>FnFunctionUsageMap</key>
<string>0x0007003a,0xff010021,0x0007003b,0xff010020,0x0007003c,0xff010010,0x0007003d,0xff010004,0x00070040,0x000C00B4,0x00070041,0x000C00CD,0x00070042,0x000C00B3,0x00070043,0x000C00E2,0x00070044,0x000C00EA,0x00070045,0x000C00E9</string>
<key>FnKeyboardUsageMap</key>
<string>0x00070050,0x0007004a,0x00070052,0x0007004b,0x0007002a,0x0007004c,0x0007004f,0x0007004d,0x00070051,0x0007004e,0x00070028,0x00070058</string>
<key>FnModifierUsage</key>
<integer>3</integer>
<key>FnModifierUsagePage</key>
<integer>255</integer>
<key>HIDDefaultBehavior</key>
<string>Keyboard</string>
<key>IOClass</key>
<string>AppleEmbeddedKeyboard</string>
<key>IOProviderClass</key>
<string>IOHIDInterface</string>
<key>NumLockKeyboardUsageMap</key>
<string>0x00070029,0x00070029,0x0007002a,0x0007002a,0x0007002b,0x0007002b,0x0007003a,0x0007003a,0x0007003b,0x0007003b,0x0007003c,0x0007003c,0x0007003d,0x0007003d,0x0007003e,0x0007003e,0x0007003f,0x0007003f,0x00070040,0x00070040,0x00070041,0x00070041,0x00070042,0x00070042,0x00070043,0x00070043,0x00070044,0x00070044,0x00070045,0x00070045,0x0007004a,0x0007004a,0x0007004b,0x0007004b,0x0007004c,0x0007004c,0x0007004d,0x0007004d,0x0007004e,0x0007004e,0x0007004f,0x0007004f,0x00070050,0x00070050,0x00070051,0x00070051,0x00070052,0x00070052,0x0007000d,0x00070059,0x0007000e,0x0007005a,0x0007000f,0x0007005b,0x00070018,0x0007005c,0x0007000c,0x0007005d,0x00070012,0x0007005e,0x00070024,0x0007005f,0x00070025,0x00070060,0x00070026,0x00070061,0x00070010,0x00070062,0x00070037,0x00070063,0x00070082,0x00070082,0x000700e0,0x000700e0,0x000700e1,0x000700e1,0x000700e2,0x000700e2,0x000700e3,0x000700e3,0x000700e4,0x000700e4,0x000700e5,0x000700e5,0x000700e6,0x000700e6,0x000700e7,0x000700e7</string>
<key>ProductID</key>
<integer>599</integer>
<key>StandardType</key>
<integer>2</integer>
<key>VendorID</key>
<integer>1452</integer>
<key>alt_handler_id</key>
<integer>45</integer>
</dict>
Power Mac G5 OSX 10.5.8 (Leopard) と Apple wireless keyboard JIS
●Power Mac G5 OSX 10.5.8 (Leopard) と Apple wireless keyboard JIS を使うと、US(ANSI)キーボードと誤認識されてしまうという問題です。もっとも安易な解決方法は US キーボードを購入すればいいのでしょうが、それでは解決にはなりません。
さて
(1) 「Mac OS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する
(2) Apple 製ワイヤレスキーボードまたはマウスを識別する方法
この(2)によればアルミニウム製 Apple wireless keyboard には2007年と2009年の2タイプがあり、その区別はキーボードの裏を見れば分かるとの事です。この記述からすると自分の使っている Apple wireless keyboard は2009年型になります。
●それによれば Wireless Keyboard Update 2.0 をインストールすれば使えるとの事です。さっそくインストールしてみましたが状況は好転しません。システム要件は OSX 10.5.8 ですし、日本語にも対応したアップデータです。(1)にアップル社以外のキーボードでも使えるようにする設定方法があります。他社製なら話がわかるのですがアップル純正キーボードの話ですから。それに System Profiler で調べてみるとちゃんと Apple wireless keyboard って認識されているんですよね。Apple wireless keyboard JIS の productID を調べる方法があればいいのでしょうが、USB ポートに直接接続するキーボードなら別として、bluetooth USB 接続の wireless keyboard では、productID をどうやって調べたらいいのかわかりません。あっと、失礼。これは OSX 10.5.8 では無理みたいだということです。 OSX 10.7 では簡単に調べる事ができますね。
●思う所あって Mac OSX 10.7.5 (Lion) のシステムを調べてみました。具体的には /System/Library/Extensions/AppleHIDKeyboard.kext の内部の Info.plist です。すると OSX 10.5.8 の Info.plist とはかなり違う部分がありました。簡単に書けば「wireless keyboard 2009 B JIS MAP」という「B」が加わったキーボードがあるのです。その意味するところは2009年型でも2種類のタイプがあるという事です。つまり アルミニウム製 Apple wireless keyboard は「2007」「2009」の2種類では無く、それに「2009 B」を加えた3種類があったのです。おそらく OSX 10.7 Lion が発売された2011年頃に「2009 B」が加えられたのでしょう。よくよく調べてみたら、アップルの文書に iOS に対応した Apple wireless keyboard の種類についての説明がありました。それによれば「2009 B」を Apple Wireless Keyboard (2011) と呼ぶとの事です。型式では 2011 が MC184J/B, 2009 が MC184J/A,2007 が MB167J/A になります。公式発表では 2011 は OSX 10.8(Lion) 以後、2009 は OSX 10.6.2(Snow Leopard) 以後、2007はOSX 10.4.8 以後になっています。Wireless Keyboard Update 2.0 を適用することによって 2009 が OSX 10.5.8 でも使用可能になっていたのです。
●残念なことに OSX 10.5.8 (Leopard) は「2011」のサポートから外されてしまっていたのです。ですから古い「2009」の方を使っていれば JIS を US キーボードと誤認される事もなかったのです。さてまず、OSX 10.5.8 とOSX 10.7 の Info.plist を比較してみます。
上図は OSX 10.5.8 の Info.plist を Property List Editor で開いてみたものです。"Property List Editor"とは Developer Tools の中にあったユーティリティの一つです。Info.plist を見るにはテキストエディターでもいいのですが、中の構造を眺めるには、こちらの方が便利なものですから。
そしてこれが OSX 10.5.8 に Wireless Keyboard Update 2.0 をインストールした後の物です。一見して分るように Wireless Keyboard 2009 の項目が増えています。
上図は OSX 10.7 のInfo.plist を Property List Editor で開いてみたものです。ずいぶん項目数が減っていますが Wireless Keyboard 2009 B の項目があります。ちなみに Wireless Keyboard 2009 B JIS MAP を開いて productID を調べてみると 599 になっています。
これらの productID を同様にして調べてみると
となっています。行の最後にある数字が productID です。この情報を利用して OSX 10.5.8 に Wireless Keyboard Update 2.0 をインストールした後の Info.plist に 2009 B JIS MAP の情報を付け加えればいいのです。しかしながら、 OSX 10.5.8 の Info.plist を見るとそれだけでは駄目のようで Wireless Keyboard 2009 B JIS の情報も付け加えなければならないようです。これをどこから調達してくるかです。それは簡単で Wireless Keyboard 2009 JIS をコピーしたものから productID を 599 に書き換えてやればいいのです。正確に記せばファンクションキー F3,F4 の情報を書き換えるべきなのでしょうが、OSX 10.5.8 には関係無い事ですし、必要があった場合に書き換えれば済む事ですから。最終的には他の種類のキーボードの対応も考慮して ANSI, ISO の情報も付け加えてやります。
こういう情報を付け加えます。データの取得にはお手持ちのデータを利用していただくのが最良かと。それから「B」のデータに関してはここにアップされてますねぇ。実際の作業は最初に挙げた (1) を参考にするといいでしょう。
以上の説明でやり方がさっぱり分らないという人は止めておいた方がいいです。MAC が起動不能になっても責任とれませんから。
簡単な手順を記しておきます。terminal を起動させます。terminal は /Applications/Utilities/ の中にあります。termnail が起動しましたら
cd ~/Desktop
mkdir work
cd work
cp -R /System/Library/Extensions/AppleHIDKeyboard.kext .
なお最後の行の最後にあるピリオドを見逃さないで下さい。ピリオドの前にはスペースが一つ入っています。ここまでの作業で何をしているのかといいますと作業領域として work をデスクトップ上に作成しその中に AppleHIDKeyboard.kext ファイルをコピーしています。次に AppleHIDKeyboard.kext 内にある Info.plist ファイルをオープンしていきます。Info.plist ファイルの改造を terminal でやってもいいのですが、あまりにも煩雑になるのでテキストエディトを使います。
コントロールキーを押しながら AppleHIDKeyboard.kext を選択しますと「パッケージの内容を表示」という項目が現れますのでそれを選択。
すると contents の下に Info.plist ファイルがあります。それにはコントロールキーを押しながらInfo.plist を選択しますとテキストエディトでオープンできます。しかし、そのままではデータ作成後に保存できないという悲劇に見舞われますので、Info.plist をあらかじめ作業領域へコピーしておきます。terminal から
cp ~/Desktop/work/AppleHIDKeyboard.kext/Contents/Info.plist ~/Desktop/work
以上で作業用フォルダ work 内に Info.plist がコピーされますので、これをテキストエディトでオープンします。
テキストエディトの検索で "Wireless Keyboard 2009 ANSI" を検索します。
この画像では途中データを省略しています。コピー開始は <key>Wireless Keyboard 2009 ANSI</key> からで、行が長く続きますのでスクロールしてゆき "Wireless Keyboard 2009 ANSI MAP" の直前の </dict> までをコピーします。そのコピーしたデータをどこにペーストするかといいますと、Info.plist を最後の行までスクロールします。
この "PASTE HERE" は実際には存在しません。ここに先ほどのデータをペーストします。そしてペーストしたデータの2カ所を書き換えます。1カ所目はProductID を 569 から 597 に変更します。書き換えるべき ProductID の場所は上図の "PASTE HERE" の少し上に VendorID がありますが、その上の SetReportTimeoutMS のもう1つ上です。2カ所目はデータ先頭行 "Wireless Keyboard 2009 ANSI" を "Wireless Keyboard 2009 B ANSI" に変更します。
次に "Wireless Keyboard 2009 B ANSI MAP" のデータを OSX 10.7 なり先に例示したようなネット上の場所からとってきます。で、それを先ほどの "PASTE HERE" の場所にペーストします。以上で "Wireless Keyboard B 2009 ANSI" の一組目のデータ作成は終了です。同じ要領で "Wireless Keyboard 2009 B ISO" 関係データを作成し、最後に "Wireless Keyboard 2009 B JIS" 関係データを作成します。注意点は ProductID の変更です。"Wireless Keyboard 2009 B ISO" の場合には ProductID を 570 から 598 へ、"Wireless Keyboard 2009 B JIS" の場合には ProductID を 571 から 599 へと書き換えます。間違いが無い事を確認した上でこれらを保存します。これはドライバーデータですので、間違えるとどのような事態を引き起こすか分りません。あくまで自己責任で願います。
さて、以上の改造をほどこしたファイルをオリジナルの作業用 AppleHIDKeyboard.kext の内部の Info.plist と置き換えます。
sudo mv ~/Desktop/work/Info.plist ~/Desktop/woork/AppleHIDKeyboard.kext/Contents/Info.plist
chown,chgrp コマンドで root,wheel に設定を戻します。作業フォルダ work 内で
sudo chown -R root AppleHIDKeyboard.kext
sudo chgrp -R wheel AppleHIDKeyboard.kext
出来上がった作業フォルダ内の AppleHIDKeyboard.kext を /System/Library/Extensions/AppleHIDKeyboard.kext に置き換えます。置き換える前にオリジナルデータを名称を変えて保存しておきます。
●注意:以下の変更はあくまで自己責任にて結果に自信の無い人は実行しない事。
sudo mv /System/Library/Extensions/AppleHIDKeyboard.kext /System/Library/Extensions/AppleHIDKeyboard.kext.orig
sudo cp -R ~/Desktop/work/AppleHIDKeyboard.kext /System/Library/Extensions/AppleHIDKeyboard.kext
以上でマックを再起動させます。なお再起動時に Extensions.mkext の更新が行われる関係上キャッシュの更新終了までしばらく待つ事になります。何事かと慌てる必要はありませんので。
何を書いてあるのかさっぱり分らないという人のために差分データを作成しました。これを本文で示した Info.plist の "PASTE HERE" にペーストすれば幾分かは簡単になるでしょう。こちらに挙げます。なお、差分データは不都合だとクレームが入るようなら削除します。
さて
(1) 「Mac OS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する
(2) Apple 製ワイヤレスキーボードまたはマウスを識別する方法
この(2)によればアルミニウム製 Apple wireless keyboard には2007年と2009年の2タイプがあり、その区別はキーボードの裏を見れば分かるとの事です。この記述からすると自分の使っている Apple wireless keyboard は2009年型になります。
●それによれば Wireless Keyboard Update 2.0 をインストールすれば使えるとの事です。さっそくインストールしてみましたが状況は好転しません。システム要件は OSX 10.5.8 ですし、日本語にも対応したアップデータです。(1)にアップル社以外のキーボードでも使えるようにする設定方法があります。他社製なら話がわかるのですがアップル純正キーボードの話ですから。それに System Profiler で調べてみるとちゃんと Apple wireless keyboard って認識されているんですよね。Apple wireless keyboard JIS の productID を調べる方法があればいいのでしょうが、USB ポートに直接接続するキーボードなら別として、bluetooth USB 接続の wireless keyboard では、productID をどうやって調べたらいいのかわかりません。あっと、失礼。これは OSX 10.5.8 では無理みたいだということです。 OSX 10.7 では簡単に調べる事ができますね。
●思う所あって Mac OSX 10.7.5 (Lion) のシステムを調べてみました。具体的には /System/Library/Extensions/AppleHIDKeyboard.kext の内部の Info.plist です。すると OSX 10.5.8 の Info.plist とはかなり違う部分がありました。簡単に書けば「wireless keyboard 2009 B JIS MAP」という「B」が加わったキーボードがあるのです。その意味するところは2009年型でも2種類のタイプがあるという事です。つまり アルミニウム製 Apple wireless keyboard は「2007」「2009」の2種類では無く、それに「2009 B」を加えた3種類があったのです。おそらく OSX 10.7 Lion が発売された2011年頃に「2009 B」が加えられたのでしょう。よくよく調べてみたら、アップルの文書に iOS に対応した Apple wireless keyboard の種類についての説明がありました。それによれば「2009 B」を Apple Wireless Keyboard (2011) と呼ぶとの事です。型式では 2011 が MC184J/B, 2009 が MC184J/A,2007 が MB167J/A になります。公式発表では 2011 は OSX 10.8(Lion) 以後、2009 は OSX 10.6.2(Snow Leopard) 以後、2007はOSX 10.4.8 以後になっています。Wireless Keyboard Update 2.0 を適用することによって 2009 が OSX 10.5.8 でも使用可能になっていたのです。
●残念なことに OSX 10.5.8 (Leopard) は「2011」のサポートから外されてしまっていたのです。ですから古い「2009」の方を使っていれば JIS を US キーボードと誤認される事もなかったのです。さてまず、OSX 10.5.8 とOSX 10.7 の Info.plist を比較してみます。
上図は OSX 10.5.8 の Info.plist を Property List Editor で開いてみたものです。"Property List Editor"とは Developer Tools の中にあったユーティリティの一つです。Info.plist を見るにはテキストエディターでもいいのですが、中の構造を眺めるには、こちらの方が便利なものですから。
そしてこれが OSX 10.5.8 に Wireless Keyboard Update 2.0 をインストールした後の物です。一見して分るように Wireless Keyboard 2009 の項目が増えています。
上図は OSX 10.7 のInfo.plist を Property List Editor で開いてみたものです。ずいぶん項目数が減っていますが Wireless Keyboard 2009 B の項目があります。ちなみに Wireless Keyboard 2009 B JIS MAP を開いて productID を調べてみると 599 になっています。
これらの productID を同様にして調べてみると
-
2009 ANSI MAP 569
2009 B ANSI MAP 597
2009 B ISO MAP 598
2009 B JIS MAP 599
2009 ISO MAP 570
2009 JIS MAP 571
となっています。行の最後にある数字が productID です。この情報を利用して OSX 10.5.8 に Wireless Keyboard Update 2.0 をインストールした後の Info.plist に 2009 B JIS MAP の情報を付け加えればいいのです。しかしながら、 OSX 10.5.8 の Info.plist を見るとそれだけでは駄目のようで Wireless Keyboard 2009 B JIS の情報も付け加えなければならないようです。これをどこから調達してくるかです。それは簡単で Wireless Keyboard 2009 JIS をコピーしたものから productID を 599 に書き換えてやればいいのです。正確に記せばファンクションキー F3,F4 の情報を書き換えるべきなのでしょうが、OSX 10.5.8 には関係無い事ですし、必要があった場合に書き換えれば済む事ですから。最終的には他の種類のキーボードの対応も考慮して ANSI, ISO の情報も付け加えてやります。
こういう情報を付け加えます。データの取得にはお手持ちのデータを利用していただくのが最良かと。それから「B」のデータに関してはここにアップされてますねぇ。実際の作業は最初に挙げた (1) を参考にするといいでしょう。
以上の説明でやり方がさっぱり分らないという人は止めておいた方がいいです。MAC が起動不能になっても責任とれませんから。
簡単な手順を記しておきます。terminal を起動させます。terminal は /Applications/Utilities/ の中にあります。termnail が起動しましたら
cd ~/Desktop
mkdir work
cd work
cp -R /System/Library/Extensions/AppleHIDKeyboard.kext .
なお最後の行の最後にあるピリオドを見逃さないで下さい。ピリオドの前にはスペースが一つ入っています。ここまでの作業で何をしているのかといいますと作業領域として work をデスクトップ上に作成しその中に AppleHIDKeyboard.kext ファイルをコピーしています。次に AppleHIDKeyboard.kext 内にある Info.plist ファイルをオープンしていきます。Info.plist ファイルの改造を terminal でやってもいいのですが、あまりにも煩雑になるのでテキストエディトを使います。
コントロールキーを押しながら AppleHIDKeyboard.kext を選択しますと「パッケージの内容を表示」という項目が現れますのでそれを選択。
すると contents の下に Info.plist ファイルがあります。それにはコントロールキーを押しながらInfo.plist を選択しますとテキストエディトでオープンできます。しかし、そのままではデータ作成後に保存できないという悲劇に見舞われますので、Info.plist をあらかじめ作業領域へコピーしておきます。terminal から
cp ~/Desktop/work/AppleHIDKeyboard.kext/Contents/Info.plist ~/Desktop/work
以上で作業用フォルダ work 内に Info.plist がコピーされますので、これをテキストエディトでオープンします。
テキストエディトの検索で "Wireless Keyboard 2009 ANSI" を検索します。
この画像では途中データを省略しています。コピー開始は <key>Wireless Keyboard 2009 ANSI</key> からで、行が長く続きますのでスクロールしてゆき "Wireless Keyboard 2009 ANSI MAP" の直前の </dict> までをコピーします。そのコピーしたデータをどこにペーストするかといいますと、Info.plist を最後の行までスクロールします。
この "PASTE HERE" は実際には存在しません。ここに先ほどのデータをペーストします。そしてペーストしたデータの2カ所を書き換えます。1カ所目はProductID を 569 から 597 に変更します。書き換えるべき ProductID の場所は上図の "PASTE HERE" の少し上に VendorID がありますが、その上の SetReportTimeoutMS のもう1つ上です。2カ所目はデータ先頭行 "Wireless Keyboard 2009 ANSI" を "Wireless Keyboard 2009 B ANSI" に変更します。
次に "Wireless Keyboard 2009 B ANSI MAP" のデータを OSX 10.7 なり先に例示したようなネット上の場所からとってきます。で、それを先ほどの "PASTE HERE" の場所にペーストします。以上で "Wireless Keyboard B 2009 ANSI" の一組目のデータ作成は終了です。同じ要領で "Wireless Keyboard 2009 B ISO" 関係データを作成し、最後に "Wireless Keyboard 2009 B JIS" 関係データを作成します。注意点は ProductID の変更です。"Wireless Keyboard 2009 B ISO" の場合には ProductID を 570 から 598 へ、"Wireless Keyboard 2009 B JIS" の場合には ProductID を 571 から 599 へと書き換えます。間違いが無い事を確認した上でこれらを保存します。これはドライバーデータですので、間違えるとどのような事態を引き起こすか分りません。あくまで自己責任で願います。
さて、以上の改造をほどこしたファイルをオリジナルの作業用 AppleHIDKeyboard.kext の内部の Info.plist と置き換えます。
sudo mv ~/Desktop/work/Info.plist ~/Desktop/woork/AppleHIDKeyboard.kext/Contents/Info.plist
chown,chgrp コマンドで root,wheel に設定を戻します。作業フォルダ work 内で
sudo chown -R root AppleHIDKeyboard.kext
sudo chgrp -R wheel AppleHIDKeyboard.kext
出来上がった作業フォルダ内の AppleHIDKeyboard.kext を /System/Library/Extensions/AppleHIDKeyboard.kext に置き換えます。置き換える前にオリジナルデータを名称を変えて保存しておきます。
●注意:以下の変更はあくまで自己責任にて結果に自信の無い人は実行しない事。
sudo mv /System/Library/Extensions/AppleHIDKeyboard.kext /System/Library/Extensions/AppleHIDKeyboard.kext.orig
sudo cp -R ~/Desktop/work/AppleHIDKeyboard.kext /System/Library/Extensions/AppleHIDKeyboard.kext
以上でマックを再起動させます。なお再起動時に Extensions.mkext の更新が行われる関係上キャッシュの更新終了までしばらく待つ事になります。何事かと慌てる必要はありませんので。
何を書いてあるのかさっぱり分らないという人のために差分データを作成しました。これを本文で示した Info.plist の "PASTE HERE" にペーストすれば幾分かは簡単になるでしょう。こちらに挙げます。なお、差分データは不都合だとクレームが入るようなら削除します。
2014年6月30日月曜日
びっくりハウス
岡山ヘルスセンター(西大寺ヘルスセンター・邑久ヘルスセンター)
という今でいう健康ランドまで昭和37年頃バスで行った事がありました。
当時のおぼろげな記憶では北から南進し尾張の旧道交差点を西に曲がり新築相成った両備の西大寺バスセンター方向を目指します。吉井川を渡る前、道は丘陵沿いの緩い左カーヴを曲がります。その曲がった所にバス停があり、そこから東の丘陵方向にあるヘルスセンターまで短い道が伸びていました。
現在では存在しなくなった邑久ヘルスセンターの跡地にはネット情報によれば老人ホームがあるとか。でも道路から考えると老人ホームの北北西200mにある住宅地一帯がその跡地としか思えないんです。
さて、そのヘルスセンターには「びっくりハウス」というアトラクションがあり、それに強烈な印象を与えられました。お客はジジババばかりのヘルスセンターに何故そんな物があったのかわかりません。当時は二度とこんな物に乗るものかと思ったものですが、無いとわかると逆に乗ってみたくなるものです。
こういう時にネットはありがたい。そんな昔のアトラクションがあるはずないよ、と思いながら探してみるとすぐに見つかりました。近くでは姫路市立動物園、生駒山上遊園地、次に近いのは九州太宰府方面。
さっそく姫路まで出かけてみました。姫路という街は個人的には「びっくりハウス」どころでは無い白昼の恐怖体験をした事があってからなかなか足を向ける事が無かったのです。今回でやっとその印象が変わりました。姫路市立動物園の隣の駐車場料金が600円という料金だった事は別として、動物園の入園料が200円は立派です。池田動物園のそれが1080円という事を考えれば感動的な価格です。名古屋の東山動物園も園の広大さからすると500円という入園料はすばらしいのですがね。
北の入場口から入ると目の前にありました。
こんなレトロな動物園があるなんて!遊具がとてもレトロです。南の方に「にこにこピカチュウ」乗り物がありますが、胸にBANPRESTのロゴ入りです。それに動物との距離が近いんです。特に鳥の種類が多いので鳥好きの人は楽しめるでしょう。
さらに、隣は姫路城です。3分も歩くと姫路城入口料金所です。でもまだ修復中で来年の春まで天守閣には登れません。
という今でいう健康ランドまで昭和37年頃バスで行った事がありました。
当時のおぼろげな記憶では北から南進し尾張の旧道交差点を西に曲がり新築相成った両備の西大寺バスセンター方向を目指します。吉井川を渡る前、道は丘陵沿いの緩い左カーヴを曲がります。その曲がった所にバス停があり、そこから東の丘陵方向にあるヘルスセンターまで短い道が伸びていました。
現在では存在しなくなった邑久ヘルスセンターの跡地にはネット情報によれば老人ホームがあるとか。でも道路から考えると老人ホームの北北西200mにある住宅地一帯がその跡地としか思えないんです。
さて、そのヘルスセンターには「びっくりハウス」というアトラクションがあり、それに強烈な印象を与えられました。お客はジジババばかりのヘルスセンターに何故そんな物があったのかわかりません。当時は二度とこんな物に乗るものかと思ったものですが、無いとわかると逆に乗ってみたくなるものです。
こういう時にネットはありがたい。そんな昔のアトラクションがあるはずないよ、と思いながら探してみるとすぐに見つかりました。近くでは姫路市立動物園、生駒山上遊園地、次に近いのは九州太宰府方面。
さっそく姫路まで出かけてみました。姫路という街は個人的には「びっくりハウス」どころでは無い白昼の恐怖体験をした事があってからなかなか足を向ける事が無かったのです。今回でやっとその印象が変わりました。姫路市立動物園の隣の駐車場料金が600円という料金だった事は別として、動物園の入園料が200円は立派です。池田動物園のそれが1080円という事を考えれば感動的な価格です。名古屋の東山動物園も園の広大さからすると500円という入園料はすばらしいのですがね。
北の入場口から入ると目の前にありました。
こんなレトロな動物園があるなんて!遊具がとてもレトロです。南の方に「にこにこピカチュウ」乗り物がありますが、胸にBANPRESTのロゴ入りです。それに動物との距離が近いんです。特に鳥の種類が多いので鳥好きの人は楽しめるでしょう。
さらに、隣は姫路城です。3分も歩くと姫路城入口料金所です。でもまだ修復中で来年の春まで天守閣には登れません。
2014年6月26日木曜日
Power Mac G5 で使えるソフトが減っている
Osirix という画像表示ソフトを探してみると、すぐに見つかるのだが、残念ながら Power Mac G5 では使えなかった。それで、どんどん旧バージョンにしてみたのだが、肝心の使える物が見つからない。OsiriX3.8.1-Int.pkg.zip というのが PPC Macで使える最終バージョンなのだそう。で次善の策としてOsiriX3.6.1-Int.pkg.zip というのがここにあった。これはうまくインストールできた。起動してみると「新バージョンのダウンロードをするか?」と尋ねてくるので無視する。「新しいプラグインがたくさんあるけどインストールするか?」と尋ねてくるので無視する。
その過程で インストーラーファイルの中身をのぞくソフト「Pacifist」を試してみたんだけれど、これも PPC Mac で使えるバージョンを探すのが一苦労だった。Pacifist_3.0.10.zip というのが使えた。
うーん、これはそろそろ Mac OSX 10.6.8にする準備に取りかかった方がいいのかもしれないね。OSX 10.6.8までならば、Intel Mac でも PPC emulator としての Rosetta が実装されてるので、PPC 用ソフトも動作するしね。
その過程で インストーラーファイルの中身をのぞくソフト「Pacifist」を試してみたんだけれど、これも PPC Mac で使えるバージョンを探すのが一苦労だった。Pacifist_3.0.10.zip というのが使えた。
うーん、これはそろそろ Mac OSX 10.6.8にする準備に取りかかった方がいいのかもしれないね。OSX 10.6.8までならば、Intel Mac でも PPC emulator としての Rosetta が実装されてるので、PPC 用ソフトも動作するしね。
Power Mac G5 用 bluetooth
Power Mac g5 に Wi-Fi card (AirMac Extreme card) を取り付けて無線LAN環境が整った時、Power Mac g5 の筐体背面に bluetooth antenna を取り付けるための穴が用意されているのに気がつきました。そうなのですOS自体はbluetoothに対応しているので対応しているハードウェア製品を取り付ければいいのです。ところが、これが隘路に嵌り込むと大変。隘路とは
●Power Mac g5用 bluetooth card には2種類の物があり、それらに互換性は無い。
●一つ目は、いわゆる early Power Mac g5(2005 earlyまでの製品)用のカードです。
裏側にはアンテナ接続用の端子とマザーボードに差し込むためのプラグが見えます。
●二つ目は、いわゆる late Power Mac g5 (2005 lateの製品)用のカードです。
このカードは Wi-Fi と bluetooth を同時に扱えるコンボカードで主に iMac g5 などで使われたようです。これを Power Mac g5 用として単純に使う事は不可能です。と申しますのもマザーボードに接続するための専用インターフェースカードが必要になりますが、現在では入手はほぼ不可能です。
●いずれのカードを使うにしろ、Power Mac g5 の筐体背面に bluetooth antenna を取り付ける必要があります。
しかし、これも現在では中古品としても入手は不可能に近いです。
●実はもっと簡単な方法があります。それは
こういう製品を購入しました。メーカーは良心的です。古いマックでも使える事をうたっているからです。プリンストン Bluetooth USBアダプター (通信距離 25m:Ver4.0接続、10m:Ver3.0 Class2接続) PTM-UBT7。これを使えば簡単にbluetoothの設定が機能設定の項目に並ぶようになりました。
●これでアップル社純正の magic mouse を bluetooth 経由で接続してみました。簡単に接続できました。でもマウスホイールができません。Mac OSX 10.5.8 ではそんな事はサポートされていないのだろうと思っていたら、何年ぶりかにソフトウェアアップデートがあるって表示されるじゃないの。それもマウスのだよ。それを摘要してみたら、マウスホイールができるようになってました。ついでに Apple wireless keyboard も接続してみましたよ。これも簡単にできました。Wireless Mouse Software Update は今でもこちらにあります。
●と思っていたら駄目だったんです。まずスリープに対応していません。magic mouse と Apple wireless keyboard をいくら叩いてもスリープから復帰できません。それに再起動したら bluetooth device の再設定を毎回繰り返さないといけません。これは使い物になりません。この現象は OSX 10.5.8 と magic mouse に特有のものかと思い OSX 10.7.5 で調べてみたら再起動したら bluetooth device の再設定を毎回繰り返さないといけません。Mac 対応をうたった USB bluetooth dongle は数多く使ってきましたけれど、これほどの粗悪品に出会ったのは初めてでした。Windows 8 に対応した製品と割り切るべきなのでしょう。
これにも次善の策がありました。bluetooth USB アダプターとして D-Link社の DBT-120 を使うというものです。これは製品としては古すぎてディスコン扱いです。中古品を入手するに注意点がありましてパッケージの裏面に「H/W Ver :B3」というような記載があります。この場合はB3ということですが、B2を含む、それ以後のバージョンでないとうまくゆかないそうです。これを使いますと再起動の度に bluetooth device の再設定をする必要はありません。ですがスリープに対応していません。ひょっとしてB3以後のバージョンでは対応があるのかもしれませんが。このスリープというのはいわゆるディープスリープの意味でしてライトスリープという意味ではありません。
●スリープに対応していないばかりか、Power Mac G5 の起動時オプションキー入力にも対応していませんので、例えばシングルユーザーモード起動もできませんし、起動ドライブ選択もできません。このような現象を HID Proxy 非対応と言うのだそうです。HID Proxy 対応を簡単に申せばドライバー無しでもキーボードなりを動作させる事ができる機能をさすのです。では HID Proxy 対応にする方法は、ある意味ありました。ただ汎用性があるのかどうかは不明です。bluetooth USB アダプターとして DBT-120 H/W Ver:B3 でないといけないという話もあるようで、H/W Ver:C1 ではうまく行かなかったという報告も見受けられます。その方法とは bluetooth firmware update 1.2 を使うのです。そのファイルは今でもここにありますからダウンロードします。bluetooth ファームウエア1.2 ですよ。bluetooth ファームウエア1.2.1(PPC) ではありませんよ。それを Mac OSX 10.5.8 の Power Mac G5 にインストールします。
●Application -> Utilities 以下のフォルダーに「Bluetoothファームウェアアップデート」というアプリがインストールされていますので、それを立ち上げます。注意すべき点は、この時点までに「bluetooth USB アダプター DBT-120」を Power Mac G5 の USB 端子に接続しておく事です。でないと以下が意味ありませんので。
●指示に従って「アップデート」します。アップデート終了後 Power Mac G5 の電源を切ります。再起動後「システム環境設定」->「bluetooth」で古いマウス設定とキーボード設定を削除します。再び電源オフにして再起動後「bluetooth device の再設定」をします。以上で DBT-120 が HID Proxy 対応になるはずです。
●HID Proxy対応になっている場合「システム環境設定」-> 「bluetooth」-> 「詳細設定」としてみると2番目の「bluetooth デバイスがスリープを解除することを許可」にチェックがはいるようになっています。(追加:後日Belkin USB bluetooth dongle F8T016ng を UK から購入して試した結果、スリープからの復帰も Single User Mode も可能ながら、この2番目にチェックを入れる事はできないままでした。この件に関しては別に記載します。ということで、この件は誤解でした。HID Proxy対応かどうかは例えば Macintosh を Bluetooth デバイス経由のキーボードでオプション起動してみて、それができるならHID Proxy対応だといえますね。このチェックのディープスリープからの復帰とは直接の関係はなさそうです。)これでディープスリープからの復帰ができるようになりました。ただ、これでも起動時の「コマンドキー+S」で Single User Mode にできません。ちょっとネットを探してみたら嘘のような記載があったので試してみたら本当でした。それは「システム環境設定」-> 「bluetooth」-> 「詳細設定」で Bletooth-PDA-Sync の種類を「モデム」から「RS-232」に変更してやる事でした。
●さて、bluetooth USB アダプターとして何を使おうと、最初から一つ困った事態が発生していました。そのうち何とかなるだろうと、その問題を棚上げにしてきました。でもここに至るもどうにもなりませんでした。その困った問題というのは JIS キーボードなのです。Apple wireless keyboard JIS ですけれど、US(ANSI)キーボードと認識されてしまうのです。もっとも安易な解決方法は US キーボードを購入すればいいのでしょうが、この問題解決の鍵となる物は何かに興味がわきました。解決してみると、PowerMac G5 で Apple wireless keyboard JIS を使われている5割ほどの人々は同じ問題に直面したのではないかと思えてきます。
ヒントとなったのは
(1) 「Mac OS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する
(2) Apple 製ワイヤレスキーボードまたはマウスを識別する方法
でした。続きは項を改めます。
●Power Mac g5用 bluetooth card には2種類の物があり、それらに互換性は無い。
●一つ目は、いわゆる early Power Mac g5(2005 earlyまでの製品)用のカードです。
裏側にはアンテナ接続用の端子とマザーボードに差し込むためのプラグが見えます。
●二つ目は、いわゆる late Power Mac g5 (2005 lateの製品)用のカードです。
このカードは Wi-Fi と bluetooth を同時に扱えるコンボカードで主に iMac g5 などで使われたようです。これを Power Mac g5 用として単純に使う事は不可能です。と申しますのもマザーボードに接続するための専用インターフェースカードが必要になりますが、現在では入手はほぼ不可能です。
●いずれのカードを使うにしろ、Power Mac g5 の筐体背面に bluetooth antenna を取り付ける必要があります。
しかし、これも現在では中古品としても入手は不可能に近いです。
●実はもっと簡単な方法があります。それは
こういう製品を購入しました。メーカーは良心的です。古いマックでも使える事をうたっているからです。プリンストン Bluetooth USBアダプター (通信距離 25m:Ver4.0接続、10m:Ver3.0 Class2接続) PTM-UBT7。これを使えば簡単にbluetoothの設定が機能設定の項目に並ぶようになりました。
●これでアップル社純正の magic mouse を bluetooth 経由で接続してみました。簡単に接続できました。でもマウスホイールができません。Mac OSX 10.5.8 ではそんな事はサポートされていないのだろうと思っていたら、何年ぶりかにソフトウェアアップデートがあるって表示されるじゃないの。それもマウスのだよ。それを摘要してみたら、マウスホイールができるようになってました。ついでに Apple wireless keyboard も接続してみましたよ。これも簡単にできました。Wireless Mouse Software Update は今でもこちらにあります。
●と思っていたら駄目だったんです。まずスリープに対応していません。magic mouse と Apple wireless keyboard をいくら叩いてもスリープから復帰できません。それに再起動したら bluetooth device の再設定を毎回繰り返さないといけません。これは使い物になりません。この現象は OSX 10.5.8 と magic mouse に特有のものかと思い OSX 10.7.5 で調べてみたら再起動したら bluetooth device の再設定を毎回繰り返さないといけません。Mac 対応をうたった USB bluetooth dongle は数多く使ってきましたけれど、これほどの粗悪品に出会ったのは初めてでした。Windows 8 に対応した製品と割り切るべきなのでしょう。
これにも次善の策がありました。bluetooth USB アダプターとして D-Link社の DBT-120 を使うというものです。これは製品としては古すぎてディスコン扱いです。中古品を入手するに注意点がありましてパッケージの裏面に「H/W Ver :B3」というような記載があります。この場合はB3ということですが、B2を含む、それ以後のバージョンでないとうまくゆかないそうです。これを使いますと再起動の度に bluetooth device の再設定をする必要はありません。ですがスリープに対応していません。ひょっとしてB3以後のバージョンでは対応があるのかもしれませんが。このスリープというのはいわゆるディープスリープの意味でしてライトスリープという意味ではありません。
●スリープに対応していないばかりか、Power Mac G5 の起動時オプションキー入力にも対応していませんので、例えばシングルユーザーモード起動もできませんし、起動ドライブ選択もできません。このような現象を HID Proxy 非対応と言うのだそうです。HID Proxy 対応を簡単に申せばドライバー無しでもキーボードなりを動作させる事ができる機能をさすのです。では HID Proxy 対応にする方法は、ある意味ありました。ただ汎用性があるのかどうかは不明です。bluetooth USB アダプターとして DBT-120 H/W Ver:B3 でないといけないという話もあるようで、H/W Ver:C1 ではうまく行かなかったという報告も見受けられます。その方法とは bluetooth firmware update 1.2 を使うのです。そのファイルは今でもここにありますからダウンロードします。bluetooth ファームウエア1.2 ですよ。bluetooth ファームウエア1.2.1(PPC) ではありませんよ。それを Mac OSX 10.5.8 の Power Mac G5 にインストールします。
●Application -> Utilities 以下のフォルダーに「Bluetoothファームウェアアップデート」というアプリがインストールされていますので、それを立ち上げます。注意すべき点は、この時点までに「bluetooth USB アダプター DBT-120」を Power Mac G5 の USB 端子に接続しておく事です。でないと以下が意味ありませんので。
●指示に従って「アップデート」します。アップデート終了後 Power Mac G5 の電源を切ります。再起動後「システム環境設定」->「bluetooth」で古いマウス設定とキーボード設定を削除します。再び電源オフにして再起動後「bluetooth device の再設定」をします。以上で DBT-120 が HID Proxy 対応になるはずです。
●HID Proxy対応になっている場合「システム環境設定」-> 「bluetooth」-> 「詳細設定」としてみると2番目の「bluetooth デバイスがスリープを解除することを許可」にチェックがはいるようになっています。(追加:後日Belkin USB bluetooth dongle F8T016ng を UK から購入して試した結果、スリープからの復帰も Single User Mode も可能ながら、この2番目にチェックを入れる事はできないままでした。この件に関しては別に記載します。ということで、この件は誤解でした。HID Proxy対応かどうかは例えば Macintosh を Bluetooth デバイス経由のキーボードでオプション起動してみて、それができるならHID Proxy対応だといえますね。このチェックのディープスリープからの復帰とは直接の関係はなさそうです。)これでディープスリープからの復帰ができるようになりました。ただ、これでも起動時の「コマンドキー+S」で Single User Mode にできません。ちょっとネットを探してみたら嘘のような記載があったので試してみたら本当でした。それは「システム環境設定」-> 「bluetooth」-> 「詳細設定」で Bletooth-PDA-Sync の種類を「モデム」から「RS-232」に変更してやる事でした。
●さて、bluetooth USB アダプターとして何を使おうと、最初から一つ困った事態が発生していました。そのうち何とかなるだろうと、その問題を棚上げにしてきました。でもここに至るもどうにもなりませんでした。その困った問題というのは JIS キーボードなのです。Apple wireless keyboard JIS ですけれど、US(ANSI)キーボードと認識されてしまうのです。もっとも安易な解決方法は US キーボードを購入すればいいのでしょうが、この問題解決の鍵となる物は何かに興味がわきました。解決してみると、PowerMac G5 で Apple wireless keyboard JIS を使われている5割ほどの人々は同じ問題に直面したのではないかと思えてきます。
ヒントとなったのは
(1) 「Mac OS 10.5(Leopard)+他社製JISキーボード」のキー配列問題に対処する
(2) Apple 製ワイヤレスキーボードまたはマウスを識別する方法
でした。続きは項を改めます。
登録:
投稿 (Atom)



























