[Work/TechInfo/mac]

JIS to ASCII on 古い日本語キーPowerBook / 2004-08-10 (火)

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が必要
手順
  1. 作業用ディレクトリに移動
  2. システム標準のデータをコピー
    % cp /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/Japanese.lproj/Localized.rsrc .
    	    
  3. テキスト形式に変換
    % /Developer/Tools/DeRez -useDF Localized.rsrc >  Localized.rsrc.text
    	    
  4. キーボード定義を修正.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~_............. */
    	    
  5. .rsrcファイルを作成
    % /Developer/Tools/Rez Keyboard.rsrc.text -useDF -o Keyboard.rsrc
    	    
  6. 作成したファイルを移動.cpではなく必ずmvを使う必要があるらしい.
    % mv Keyboard.rsrc ~/Library/Keyboard\ Layouts/
    	    
  7. 一度ログアウトしてから,もう一度ログイン.
  8. 「システム環境設定」→「言語環境」→「入力メニュー」タブを開き,書き換えたもの(Australian3)を選択.(必須ではないが)USをはずす.
参考文献

だそうです.
実際やってみたら,
deleteの左のバスラとパイプのキーががバッククオートとチルダになった.
んで右シフトの左上,括弧閉じのキーがバスラとパイプ.
ん,なんかちょっと気にくわね.(僕は逆の方が好き)
あとでもうちょいいじろう.

てか…もう誰かがこのプリファレンスのファイル,出してるんじゃないのか?