OSXで日本語キーボードをASCII配列で使う
今まで,uControlのスペシャル版をつかって,これを実現していたのだけれど,
そっちの方は全然アップデートかかってないし,どうせならOSXの機能を使って実現するべきだ,と.
現在,日本人がMac買う時も,USキーボードのPBやらiBook買うことが当り前になっているので,
(…当り前だよね? それとも僕がおかしいのか?)
そういう人達にとってuControlは必須なのだけれど,
スペシャル版はちょいと目的が違う.単にJIStoASCIIのためだけに存在する.
普通uControlはUSキーボードユーザのために存在するのに.
なぜかというと,現在のMacの日本語キーボードはCtrlがAの脇についているからである.
これが,日本でMacのキーボードが唯一優れている点だと言われている.
ところがUSキーボードは左下.日本語キーボードではCapsLockの位置である.
即ち,デフォルトの状態ではCtrlとASCII配列が両立しないという恐ろしいジレンマ.
前にも書いたけど,NSText系を利用しているアプリ(Cocoa使ってるって事)では,Emacs調のキーバインドでも操作することが可能.
そのくせ,USキーボードではCtrlが左下っていうんだから,無茶苦茶な話である.
だから,uControlは,USキーボードを使う人には必須のユーテリティなのだ.
前置き長くなった.
で,OSXのユーザ毎のプリファレンスをつかってそれを実現する方法.
以下,ここより転載.
リンク先に書いてある通り,外部リンクはいつ消えるかわからんから.
まとめるためにちょっと改変.
あとはまぁ,本来なら,きちんとドキュメント読んでxmlで書くべきなんだろうけどね.
情報が見付かってしまった以上,もう面倒臭くなってしまったのでした.
情報元ポイント
- http://www.sodan.ecc.u-tokyo.ac.jp/BTS/guest.cgi?project=FAQ&action=view_report&id=90
- http://groups.google.co.jp/groups?selm=YAS.03Jan22031533%40kirk.is.tsukuba.ac.jp
手順
- ~/Library/Keyboard\ Layouts/ 以下に設定ファイルを置く
- 正しいやり方はXMLを書いたりするらしい (未確認)
- Developer toolが必要
参考文献
- 作業用ディレクトリに移動
- システム標準のデータをコピー
% cp /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Japanese.lproj/Localized.rsrc .- テキスト形式に変換
% /Developer/Tools/DeRez -useDF Localized.rsrc > Localized.rsrc.text- キーボード定義を修正.AustralianがほぼASCII配列らしいので,それを変更
% cp Localized.rsrc.text Keyboard.rsrc.text % vi Keyboard.rsrc.text書き換え部分は次の通り.'9'の隣の部分を2個所書き換える.
これをやらないと'`'と'~'が打てない.
"Australian"の名前は変更しなくても大丈夫だけど,
変更しておいた方が紛らわしくなくていいでしょう.
< data 'KCHR' (15, "Australian", sysheap, purgeable) { > data 'KCHR' (15, "Australian3", sysheap, purgeable) { < $"3900 0000 1010 1010 1010 1010 1010 1010" /* 9............... */ > $"3960 5F00 1010 1010 1010 1010 1010 1010" /* 9`_............. */ < $"3900 0000 1010 1010 1010 1010 1010 1010" /* 9............... */ > $"397E 5F00 1010 1010 1010 1010 1010 1010" /* 9~_............. */- .rsrcファイルを作成
% /Developer/Tools/Rez Keyboard.rsrc.text -useDF -o Keyboard.rsrc- 作成したファイルを移動.cpではなく必ずmvを使う必要があるらしい.
% mv Keyboard.rsrc ~/Library/Keyboard\ Layouts/- 一度ログアウトしてから,もう一度ログイン.
- 「システム環境設定」→「言語環境」→「入力メニュー」タブを開き,書き換えたもの(Australian3)を選択.(必須ではないが)USをはずす.
だそうです.
実際やってみたら,
deleteの左のバスラとパイプのキーががバッククオートとチルダになった.
んで右シフトの左上,括弧閉じのキーがバスラとパイプ.
ん,なんかちょっと気にくわね.(僕は逆の方が好き)
あとでもうちょいいじろう.
てか…もう誰かがこのプリファレンスのファイル,出してるんじゃないのか?